Skip to main content

Components

Each component is a small reusable Helm subchart under k8s/helm/charts/components/. App charts depend on them; projects opt in by setting component-<name>.enabled: true (or, for component-tasks, by declaring a non-empty cron/workers/manual list).

ComponentProducesDefault
component-tasksCronJobs + worker Deployments + manual (suspended) CronJobsoff (empty lists)
component-databaseMySQLApp CRDenabled: false
component-redisRedis Deployment + Serviceenabled: false
component-external-secretInfisical SecretStore + ExternalSecretenabled: true
component-traefik-ingressTraefik Ingressenabled: false
component-pdbPodDisruptionBudgetenabled: true
component-shared-volumeRWX PersistentVolumeClaimsempty (driven by global.sharedVolumes)

How dependencies are wired

A component is declared in the app chart's Chart.yaml:

dependencies:
- name: component-tasks
version: "1.0.7"
repository: "file://../components/tasks"

And configured via the project's values file under its full key:

component-tasks:
cron: [...]
workers: [...]
manual: [...]