Merge pull request #227 from carlosframework/service-roles
Service principals: a console API caller that is not a person
37 files changed,
+10820
−374
apimode.go+146 −0docs/superpowers/plans/2026-08-18-service-principals.md+2012 −0docs/superpowers/specs/2026-08-18-service-principals-design.md+469 −0internal/console/apicli.go+325 −70internal/console/apiconfig.go+15 −10internal/console/apidomains.go+94 −12internal/console/apidomains_test.go+193 −0internal/console/apiinstances.go+63 −69internal/console/apiinstances_test.go+21 −10internal/console/apiinstancesenable_test.go+11 −6internal/console/apiledger.go+15 −11internal/console/apiretention.go+2 −1internal/console/apiservices.go+600 −0internal/console/apiservices_test.go+815 −0internal/console/apistore.go+10 −6internal/console/apiversion.go+5 −4internal/console/authcli.go+427 −58internal/console/authcli_test.go+190 −0internal/console/authstore.go+135 −67internal/console/authstore_test.go+30 −18internal/console/fleets.go+15 −7internal/console/server.go+44 −0internal/console/store.go+54 −21internal/console/svcfixture_test.go+21 −0internal/console/svcpage.go+502 −0internal/console/svcpage_test.go+615 −0internal/console/svcprincipal.go+423 −0internal/console/svcprincipal_test.go+713 −0internal/console/svcroutes_test.go+773 −0internal/console/svcscope_test.go+470 −0internal/console/templates/account_settings.html+118 −0internal/console/templates/settings.html+12 −4internal/svcrole/svcrole.go+135 −0internal/svcrole/svcrole_test.go+115 −0main.go+6 −0services.go+407 −0services_cli_test.go+819 −0
apimode.goLoading diff…
docs/superpowers/plans/2026-08-18-service-principals.mdLoading diff…
docs/superpowers/specs/2026-08-18-service-principals-design.mdLoading diff…
internal/console/apicli.goLoading diff…
internal/console/apiconfig.goLoading diff…
internal/console/apidomains.goLoading diff…
internal/console/apidomains_test.goLoading diff…
internal/console/apiinstances.goLoading diff…
internal/console/apiinstances_test.goLoading diff…
internal/console/apiinstancesenable_test.goLoading diff…
internal/console/apiledger.goLoading diff…
internal/console/apiretention.goLoading diff…
internal/console/apiservices.goLoading diff…
internal/console/apiservices_test.goLoading diff…
internal/console/apistore.goLoading diff…
internal/console/apiversion.goLoading diff…
internal/console/authcli.goLoading diff…
internal/console/authcli_test.goLoading diff…
internal/console/authstore.goLoading diff…
internal/console/authstore_test.goLoading diff…
internal/console/fleets.goLoading diff…
internal/console/server.goLoading diff…
internal/console/store.goLoading diff…
internal/console/svcfixture_test.goLoading diff…
internal/console/svcpage.goLoading diff…
internal/console/svcpage_test.goLoading diff…
internal/console/svcprincipal.goLoading diff…
internal/console/svcprincipal_test.goLoading diff…
internal/console/svcroutes_test.goLoading diff…
internal/console/svcscope_test.goLoading diff…
internal/console/templates/account_settings.htmlLoading diff…
internal/console/templates/settings.htmlLoading diff…
internal/svcrole/svcrole.goLoading diff…
internal/svcrole/svcrole_test.goLoading diff…
main.goLoading diff…
services.goLoading diff…
services_cli_test.goLoading diff…