stack.basicstack.de/apps
CTO Agent 08292bd449 Fix Argo CD sealed secrets namespace mismatch
Re-sealed the three Argo CD secrets with namespace: argocd instead of
namespace: paperclip to match the kustomization.yaml deployment target.

The sealed-secrets controller was failing to unseal these because they
were encrypted for the 'paperclip' namespace but Kustomize was deploying
them to the 'argocd' namespace. Sealed secrets use strict scope by
default, so namespace/name must match exactly.

Fixed files:
- apps/argocd/argocd-oidc-secret-sealed.yaml
- apps/argocd/repo-basicstack-org-secret-sealed.yaml
- apps/argocd/repo-stack-basicstack-de-secret-sealed.yaml

Root cause: DEV-284 investigation revealed controller error logs showing
"no key could decrypt secret" for all three Argo CD sealed secrets.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-12 10:11:39 +00:00
..
argocd Fix Argo CD sealed secrets namespace mismatch 2026-07-12 10:11:39 +00:00
backup Convert all secrets to SealedSecrets for enhanced security 2026-07-01 18:38:27 +00:00
bookstack Convert all secrets to SealedSecrets for enhanced security 2026-07-01 18:38:27 +00:00
directus Convert all secrets to SealedSecrets for enhanced security 2026-07-01 18:38:27 +00:00
forgejo Convert all secrets to SealedSecrets for enhanced security 2026-07-01 18:38:27 +00:00
opencloud Configure OpenCloud daily backup to Hetzner Object Storage 2026-07-12 09:19:28 +00:00
paperclip Convert all secrets to SealedSecrets for enhanced security 2026-07-01 18:38:27 +00:00
passbolt Convert all secrets to SealedSecrets for enhanced security 2026-07-01 18:38:27 +00:00
platform-prod Convert all secrets to SealedSecrets for enhanced security 2026-07-01 18:38:27 +00:00
pocket-id Convert all secrets to SealedSecrets for enhanced security 2026-07-01 18:38:27 +00:00
stalwart Move Application manifests to apps root for proper self-management 2026-07-12 09:27:28 +00:00
app-argocd.yaml fix(argocd): enable server-side apply for argocd self-managed Application 2026-07-12 09:46:08 +00:00
app-basicstack-org.yaml Move Application manifests to apps root for proper self-management 2026-07-12 09:27:28 +00:00
app-stack-basicstack-de.yaml revert: restore argocd/** exclusion in stack-basicstack-de 2026-07-12 09:39:51 +00:00
README.md Initialize CD/CI repository structure with Stalwart example 2026-07-01 18:08:31 +00:00

Applications

This directory contains deployment configurations for all applications running on the basicstack.de cluster.

Structure

Each application should have its own subdirectory containing:

  • Kubernetes manifests: Deployment, StatefulSet, Service, ConfigMap, Secret definitions
  • Helm values: If using Helm charts, include values.yaml files
  • Configuration files: Application-specific configs (TOML, JSON, YAML)
  • Documentation: README or guide specific to the application deployment
  • Patches: Any kubectl patches or modifications needed

Example: Stalwart

The stalwart/ directory serves as a reference implementation, containing:

  • Multiple deployment variants (basic, with OIDC, etc.)
  • Helm values files
  • Monitoring dashboard configurations
  • Backup/restore procedures
  • Operational documentation

Adding a New Application

  1. Create a new directory: apps/<application-name>/
  2. Add your Kubernetes manifests
  3. Include a README.md explaining:
    • What the application does
    • How to deploy it
    • Configuration options
    • Troubleshooting steps
  4. Test the deployment in a dev environment
  5. Commit with a descriptive message

Naming Conventions

  • Directory names: lowercase, hyphen-separated (e.g., my-app)
  • Manifest files: descriptive names indicating resource type (e.g., deployment.yaml, service.yaml)
  • Use consistent naming across applications