Skip to content

Backup credentials (2): public-server device endpoints + AWS/kube on AppState#224

Open
passcod wants to merge 1 commit into
backup-credentials-dbfrom
component-public-server
Open

Backup credentials (2): public-server device endpoints + AWS/kube on AppState#224
passcod wants to merge 1 commit into
backup-credentials-dbfrom
component-public-server

Conversation

@passcod

@passcod passcod commented Jun 16, 2026

Copy link
Copy Markdown
Member

🤖 Component (2) of the backup-credentials system — the device-facing endpoints plus the AWS-SDK/kube-on-AppState capability the rest of canopy reuses. Stacked on #223 (component 1 — plan + DB layer); base is backup-credentials-db, so review that first.

  • AWS SDK (aws-config, aws-sdk-sts) + kube/k8s-openapi on AppState, with FromRef impls and async init; AppError::Upstream (502) + ERRORS.md.
  • Device endpoints (mTLS ServerDevice): POST /backup-capabilities, POST /backup-credentials, GET /backup-target, POST /backup-report — with the read-only restore session-policy builder and the 412/409/502 device→server→group resolution.
  • Tests: 16/16 — the 412/409/502 matrix (incl. None AWS/kube clients), restore session-policy, stubbed-STS happy path + issuance audit, duplicate-run 409, capabilities registration.

Heads-up for review: k8s-openapi is pinned to v1_32 — please confirm that matches the cluster control-plane version (ops).

🤖 Generated with Claude Code

Part of TAM-6877.

@passcod passcod force-pushed the component-public-server branch 3 times, most recently from f091a0d to d63f6f3 Compare June 16, 2026 13:29
@passcod passcod force-pushed the backup-credentials-db branch 2 times, most recently from 6f5be63 to a6a91e4 Compare June 18, 2026 04:04
@passcod passcod force-pushed the component-public-server branch 2 times, most recently from 3bd36c2 to dd4500d Compare June 18, 2026 05:11
@passcod passcod force-pushed the backup-credentials-db branch 2 times, most recently from a0048ff to d4f5618 Compare June 18, 2026 06:05
@passcod passcod force-pushed the component-public-server branch from dd4500d to ff26642 Compare June 18, 2026 06:05
@passcod passcod force-pushed the backup-credentials-db branch from d4f5618 to c29dfe9 Compare June 18, 2026 07:03
@passcod passcod force-pushed the component-public-server branch 2 times, most recently from 7296e3a to dc8efd5 Compare June 18, 2026 09:47
@passcod passcod force-pushed the backup-credentials-db branch from c29dfe9 to 3729590 Compare June 18, 2026 09:47
@passcod passcod force-pushed the component-public-server branch from dc8efd5 to b4b1c1b Compare June 18, 2026 12:56
@passcod passcod force-pushed the backup-credentials-db branch from 3729590 to adb18df Compare June 18, 2026 12:56
…n AppState (component 2)

- AWS SDK (aws-config, aws-sdk-sts) + kube/k8s-openapi on AppState with FromRef
  impls and async init; AppError::Upstream (502) + ERRORS.md.
- Device endpoints: POST /backup-capabilities, POST /backup-credentials,
  GET /backup-target, POST /backup-report — with the read-only restore
  session-policy builder and the 412/409/502 device→server→group resolution.
- Tests: 16/16 (412/409/502 matrix incl. None clients, restore session-policy,
  stubbed-STS happy path + audit, duplicate-run 409, capabilities).
@passcod passcod force-pushed the component-public-server branch from b4b1c1b to bc091bc Compare June 18, 2026 14:39
@passcod passcod force-pushed the backup-credentials-db branch from adb18df to 5a2b6b4 Compare June 18, 2026 14:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant