feat: replace profiles with kubernetes-style secrets #7

Merged
michal merged 1 commits from feat/replace-profiles-with-secrets into main 2026-02-22 18:41:45 +00:00
Owner

Summary

  • Replace confused Profile abstraction with dedicated Secret resource (Kubernetes conventions)
  • Server env entries now support inline values (value) or secret references (valueFrom.secretRef)
  • Add env-resolver that resolves secrets and passes env vars to containers at startup (fixes existing gap)
  • Remove all profile-related code: models, services, routes, CLI commands, tests
  • Update backup/restore to handle secrets instead of profiles
  • describe secret masks values by default, --show-values to reveal

Test plan

  • CLI tests: 190 passed (25 files)
  • mcpd tests: 236 passed (22 files)
  • DB integration tests updated (Secret replaces McpProfile/ProjectMcpProfile)
## Summary - Replace confused Profile abstraction with dedicated Secret resource (Kubernetes conventions) - Server env entries now support inline values (`value`) or secret references (`valueFrom.secretRef`) - Add env-resolver that resolves secrets and passes env vars to containers at startup (fixes existing gap) - Remove all profile-related code: models, services, routes, CLI commands, tests - Update backup/restore to handle secrets instead of profiles - `describe secret` masks values by default, `--show-values` to reveal ## Test plan - [x] CLI tests: 190 passed (25 files) - [x] mcpd tests: 236 passed (22 files) - [x] DB integration tests updated (Secret replaces McpProfile/ProjectMcpProfile)
michal added 1 commit 2026-02-22 18:41:37 +00:00
feat: replace profiles with kubernetes-style secrets
Some checks failed
CI / lint (pull_request) Has been cancelled
CI / typecheck (pull_request) Has been cancelled
CI / test (pull_request) Has been cancelled
CI / build (pull_request) Has been cancelled
CI / package (pull_request) Has been cancelled
ca02340a4c
Replace the confused Profile abstraction with a dedicated Secret resource
following Kubernetes conventions. Servers now have env entries with inline
values or secretRef references. Env vars are resolved and passed to
containers at startup (fixes existing gap).

- Add Secret CRUD (model, repo, service, routes, CLI commands)
- Server env: {name, value} or {name, valueFrom: {secretRef: {name, key}}}
- Add env-resolver utility shared by instance startup and config generation
- Remove all profile-related code (models, services, routes, CLI, tests)
- Update backup/restore for secrets instead of profiles
- describe secret masks values by default, --show-values to reveal

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
michal merged commit 4eef6e38a2 into main 2026-02-22 18:41:45 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: michal/mcpctl#7