Commit d259f02
docs(spec): Credential Kind — design spec for RHOAIENG-55817 (#1110)
## Summary
- Introduces `Credential` as a first-class Ambient Kind in the platform
data model spec
- Adds `docs/internal/design/credentials-session.md` — full design spec
with ERD, ownership model, API/CLI reference, usage examples, and open
questions
- Updates `docs/internal/design/ambient-model.spec.md` to reflect the
desired state: new Credential entity, `RoleBinding.scope` extended with
`credential`, new roles (`credential:owner`, `credential:reader`),
Credentials API and CLI sections
## What this is
This is a **spec-only PR** — no code changes. The goal is design review
before implementation begins. The reconciler will use this spec as the
desired state to surface implementation gaps.
Key design decisions captured:
- `Credential` is platform-scoped (not project/agent-scoped) to support
shared Robot Accounts
- Ownership via `RoleBinding(scope=credential, role=credential:owner)` —
consistent with Agent ownership pattern
- Token is write-only; never returned via standard REST API
- Scope hierarchy (agent → project → global) for credential resolution
at session ignition
- Runner token endpoint shape is marked TBD (open question in the design
doc)
## Test plan
- [ ] Design review — read `docs/internal/design/credentials-session.md`
- [ ] Verify ERD changes in `ambient-model.spec.md` are consistent with
the design doc
- [ ] Answer open questions in `credentials-session.md` before
implementation begins
Closes RHOAIENG-55817 (design phase)
🤖 Generated with [Claude Code](https://claude.ai/code)
---------
Co-authored-by: Ambient Code Bot <bot@ambient-code.local>
Co-authored-by: Claude <noreply@anthropic.com>1 parent d07332f commit d259f02
44 files changed
Lines changed: 7460 additions & 959 deletions
File tree
- .claude/context
- components
- ambient-api-server
- cmd/ambient-api-server
- openapi
- pkg
- api/openapi
- .openapi-generator
- api
- docs
- rbac
- plugins/credentials
- ambient-cli/cmd/acpctl
- credential
- ambient-sdk/go-sdk
- client
- types
- docs/internal/design
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
195 | 195 | | |
196 | 196 | | |
197 | 197 | | |
| 198 | + | |
198 | 199 | | |
199 | 200 | | |
200 | 201 | | |
| |||
208 | 209 | | |
209 | 210 | | |
210 | 211 | | |
| 212 | + | |
211 | 213 | | |
212 | 214 | | |
213 | 215 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
| |||
0 commit comments