rdev/internal/adapter/deployer
jordan 17240f4efd fix(rc-5): add Redis ACL persistence + cache reprovision endpoint
## Changes

### port.Deployer interface
- Add PatchProjectSecrets(ctx, projectName, patch) to merge key-value pairs
  into all K8s secrets labeled project={projectName}
- Add RestartAll(ctx, projectName) to trigger rolling restart of all deployments
  for a project, picking up fresh secrets without waiting for CI

### deployer adapter
- Implement PatchProjectSecrets: lists secrets by label, merges patch into Data,
  writes each secret back
- Implement RestartAll: lists deployments by label, sets restartedAt annotation

### domain/credential.go
- Add CredentialCategoryCache = "cache" constant
- Use constant in component_infra.go (was raw string "cache")

### handlers/cache.go (new)
- POST /projects/{projectID}/cache/reprovision
- Calls CreateProjectCache (which handles delete+recreate with new password)
- Updates credential store (REDIS_URL, REDIS_URL_STAGING, REDIS_PREFIX)
- Patches all K8s secrets for the project immediately
- Triggers RestartAll so pods pick up new credentials without waiting for deploy

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-24 20:22:31 -07:00
..
deployer_components.go fix(rc-5): add Redis ACL persistence + cache reprovision endpoint 2026-02-24 20:22:31 -07:00
deployer_undeploy_test.go feat: label-based undeploy, GC reconciliation, checkout/sessions, pool status 2026-02-09 19:11:28 -07:00
deployer.go fix(deploy): create component deployments with 0 replicas to prevent ImagePullBackOff 2026-02-10 10:16:14 -07:00
k8s_client_mock_test.go feat: add path-based ingress management for component lifecycle 2026-02-04 01:31:50 -07:00
k8s_client.go feat: label-based undeploy, GC reconciliation, checkout/sessions, pool status 2026-02-09 19:11:28 -07:00
resources_ingress.go chore: accumulated platform hardening and CI fixes 2026-02-10 23:16:56 -07:00
resources_test.go feat: add path-based ingress management for component lifecycle 2026-02-04 01:31:50 -07:00
resources.go feat: add GCS-based persistent media storage, AI generation pipeline, and composable skeleton packages 2026-02-19 21:29:09 -07:00