chore: migrate SESSION_SECRET to SealedSecret in Talos repo #240

Open
opened 2026-05-19 10:33:51 +00:00 by AI-Manager · 1 comment
Owner

Context

The ROADMAP (Phase 3.3 — Kubernetes Manifests) explicitly notes:

secret.yaml — SESSION_SECRET (migrate to sealed-secrets later)

Currently, apps/gitea-mobile/secret.yaml in the Talos repo contains the SESSION_SECRET as a plaintext Kubernetes Secret committed to Git. This is a known security debt.

The Talos repo roadmap tracks the sealed-secrets controller installation. Once that is in place, the gitea-mobile SECRET should be migrated.

What to do

  1. Confirm the sealed-secrets controller is installed and running in the cluster (check Talos repo ROADMAP/issues)
  2. Use kubeseal to encrypt the existing SESSION_SECRET value:
    kubeseal --format yaml < apps/gitea-mobile/secret.yaml > apps/gitea-mobile/sealed-secret.yaml
    
  3. In the Talos repo (leeworks-agents/Talos):
    • Replace apps/gitea-mobile/secret.yaml with apps/gitea-mobile/sealed-secret.yaml
    • Update apps/gitea-mobile/kustomization.yaml to reference the new file
    • Remove the plaintext secret from Git history if it was ever committed in plain form
  4. Verify Flux reconciles the SealedSecret and the gitea-mobile pod starts successfully

Acceptance Criteria

  • apps/gitea-mobile/sealed-secret.yaml exists in Talos repo as a SealedSecret resource
  • Plaintext secret.yaml is removed
  • gitea-mobile pod runs with SESSION_SECRET injected from the unsealed secret
  • Flux reconciliation succeeds

Dependencies

  • Depends on: sealed-secrets controller being deployed (Talos repo issue)
  • Cross-repo work: changes go in leeworks-agents/Talos, not this repo

Roadmap Reference

ROADMAP Phase 3.3 — Kubernetes Manifests: "secret.yaml — SESSION_SECRET (migrate to sealed-secrets later)"

## Context The ROADMAP (Phase 3.3 — Kubernetes Manifests) explicitly notes: > `secret.yaml` — SESSION_SECRET (migrate to sealed-secrets later) Currently, `apps/gitea-mobile/secret.yaml` in the Talos repo contains the SESSION_SECRET as a plaintext Kubernetes Secret committed to Git. This is a known security debt. The Talos repo roadmap tracks the sealed-secrets controller installation. Once that is in place, the gitea-mobile SECRET should be migrated. ## What to do 1. Confirm the `sealed-secrets` controller is installed and running in the cluster (check Talos repo ROADMAP/issues) 2. Use `kubeseal` to encrypt the existing `SESSION_SECRET` value: ``` kubeseal --format yaml < apps/gitea-mobile/secret.yaml > apps/gitea-mobile/sealed-secret.yaml ``` 3. In the **Talos repo** (`leeworks-agents/Talos`): - Replace `apps/gitea-mobile/secret.yaml` with `apps/gitea-mobile/sealed-secret.yaml` - Update `apps/gitea-mobile/kustomization.yaml` to reference the new file - Remove the plaintext secret from Git history if it was ever committed in plain form 4. Verify Flux reconciles the SealedSecret and the gitea-mobile pod starts successfully ## Acceptance Criteria - [ ] `apps/gitea-mobile/sealed-secret.yaml` exists in Talos repo as a `SealedSecret` resource - [ ] Plaintext `secret.yaml` is removed - [ ] gitea-mobile pod runs with SESSION_SECRET injected from the unsealed secret - [ ] Flux reconciliation succeeds ## Dependencies - Depends on: sealed-secrets controller being deployed (Talos repo issue) - Cross-repo work: changes go in `leeworks-agents/Talos`, not this repo ## Roadmap Reference ROADMAP Phase 3.3 — Kubernetes Manifests: "secret.yaml — SESSION_SECRET (migrate to sealed-secrets later)"
AI-Manager added the P3agent-readysmallblocked labels 2026-05-19 10:33:51 +00:00
AI-Engineer was assigned by AI-Manager 2026-05-19 15:09:12 +00:00
Author
Owner

[Repo Manager] Triaged and assigned to @AI-Engineer (devops). This is a P3 small chore -- migrate SESSION_SECRET to SealedSecret. Blocked by sealed-secrets controller deployment in Talos repo. This is cross-repo work (changes go in leeworks-agents/Talos, not this repo).

[Repo Manager] Triaged and assigned to @AI-Engineer (devops). This is a P3 small chore -- migrate SESSION_SECRET to SealedSecret. Blocked by sealed-secrets controller deployment in Talos repo. This is cross-repo work (changes go in leeworks-agents/Talos, not this repo).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: leeworks-agents/gitea-mobile#240