OpenKeel implementation in Go of OpenStack keystone (keystone-api), generated from the reverse-specification of branch stable/2026.2 by the generate-go-from-spec skill. It replaces the Python service without its clients noticing: same routes, status codes, error bodies, microversions and policies. What is reproduced and what differs is in docs/CONFORMANCE.md; the security checklist is in docs/SECURITY.md.
Go module: github.com/openkeel/openkeel-keystone
Binaries: keystone-api (API on port 5000, health and metrics on 9090) and keystone-customers (the controller of the OpenKeelCustomer resources, below)
Configuration: YAML, see config/config.example.yaml
Setting up a development environment, the database and the tests: docs/GETTING-STARTED.md
Database schema, migrations and upgrades: docs/DATABASE.md
Estratto da openkeel-keystone/README.md (in inglese).
API REST
259 operazioni dell'API REST originale (route e azioni nel corpo) e il loro stato in OpenKeel.
Gli scambi registrati dei test unitari di Keystone Python vengono riprodotti sul servizio Go; il Keystone Go è inoltre utilizzato da Skyline, dalle CLI e da tutti gli altri servizi del laboratorio.
Replay degli scambi registrati
Replay E2E degli scambi registrati
Gli scambi registrati dai test di Keystone Python restituiscono lo stesso stato e lo stesso corpo dal servizio Go.
Esecuzione
make e2e; report in test/e2e/report.json, differenze accettate in test/e2e/known-differences.txt.
Qui è elencato solo ciò che è stato escluso per scelta progettuale; il lavoro non ancora svolto si trova nei Known gaps del docs/CONFORMANCE.md del modulo. Tutti i moduli
Interazioni Keystone
Vista del servizio generata dalla skill dei diagrammi a partire dal modello OpenKeel.