stack.basicstack.de/apps
2026-07-12 14:10:45 +00:00
..
argocd Fix Argo CD sealed secrets namespace mismatch 2026-07-12 10:11:39 +00:00
backup Add Forgejo deployment manifests for Argo CD GitOps 2026-07-12 13:55:47 +00:00
bookstack Add managed label to mysql sealed secret 2026-07-12 12:16:48 +00:00
directus Convert all secrets to SealedSecrets for enhanced security 2026-07-01 18:38:27 +00:00
forgejo apps/forgejo/forgejo-postgres-secret-sealed.yaml aktualisiert 2026-07-12 14:10:45 +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 ArgoCD: Replace complex stack sync with individual application syncs 2026-07-12 10:44:41 +00:00
app-backup.yaml ArgoCD: Replace complex stack sync with individual application syncs 2026-07-12 10:44:41 +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-bookstack.yaml ArgoCD: Replace complex stack sync with individual application syncs 2026-07-12 10:44:41 +00:00
app-directus.yaml ArgoCD: Replace complex stack sync with individual application syncs 2026-07-12 10:44:41 +00:00
app-forgejo.yaml ArgoCD: Replace complex stack sync with individual application syncs 2026-07-12 10:44:41 +00:00
app-opencloud.yaml ArgoCD: Replace complex stack sync with individual application syncs 2026-07-12 10:44:41 +00:00
app-paperclip.yaml ArgoCD: Replace complex stack sync with individual application syncs 2026-07-12 10:44:41 +00:00
app-passbolt.yaml ArgoCD: Replace complex stack sync with individual application syncs 2026-07-12 10:44:41 +00:00
app-platform-prod.yaml ArgoCD: Replace complex stack sync with individual application syncs 2026-07-12 10:44:41 +00:00
app-pocket-id.yaml ArgoCD: Replace complex stack sync with individual application syncs 2026-07-12 10:44:41 +00:00
app-stalwart.yaml ArgoCD: Replace complex stack sync with individual application syncs 2026-07-12 10:44:41 +00:00
ARGOCD-MIGRATION.md ArgoCD: Replace complex stack sync with individual application syncs 2026-07-12 10:44:41 +00:00
README.md ArgoCD: Replace complex stack sync with individual application syncs 2026-07-12 10:44:41 +00:00

Applications

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

ArgoCD Application Management

Each application has two types of files:

  1. app-<name>.yaml: ArgoCD Application manifest that tells ArgoCD to sync the app subdirectory
  2. <name>/: Application-specific Kubernetes manifests and configuration

The app-*.yaml files are synced by ArgoCD and create/manage the corresponding Application resources. Each application's manifests in its subdirectory are then synced by its Application resource.

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