feat: add M2M application schema and storage layer#529
Conversation
Implements RFC #509: machine-to-machine (M2M) application schema and full CRUD storage layer across all 6 database providers (SQL/GORM, MongoDB, ArangoDB, Cassandra/ScyllaDB, DynamoDB, Couchbase). - Add Application schema with client_id/client_secret, scopes, roles, is_active, created_by, and standard timestamp fields - Add Application collection to CollectionList with authorizer_applications - Extend storage.Provider interface with CreateApplication, GetApplicationByID, GetApplicationByClientID, ListApplications, UpdateApplication, and DeleteApplication methods - Implement all 6 DB provider methods following existing webhook patterns - Add unique indexes on name and client_id for each provider - Add integration test suite covering full CRUD lifecycle
|
Thanks for this, and apologies it sat open while the codebase moved. This is now superseded by the client registry that shipped as part of the machine-agent-identity program. The Crucially, the M2M functionality this was a foundation for is already fully wired on main: the Closing as superseded. The only field here not on |
Summary
Applicationschema for machine-to-machine (M2M) service accounts with fields: name, client_id, client_secret, scopes, roles, is_active, created_byCreateApplication,GetApplicationByID,GetApplicationByClientID,ListApplications,UpdateApplication,DeleteApplicationRelated
Ref: RFC #509
Test plan
go build ./...— compiles cleango test -p 1 -v -run TestApplications ./internal/integration_tests/🤖 Generated with Claude Code