11kestra :
2- # L'immagine viene presa automaticamente dalla versione del chart
3- # Non serve specificarla a meno di override necessari
4-
5- # Deploy standalone (tutti i componenti in un unico pod)
6- # Per un homelab questo è perfetto
2+ # Deploy standalone per homelab
73 deployments :
84 standalone :
95 enabled : true
106 replicaCount : 1
117
12- # Resources (adatta in base al tuo cluster)
138 resources :
149 limits :
1510 cpu : 2000m
@@ -18,11 +13,10 @@ kestra:
1813 cpu : 500m
1914 memory : 2Gi
2015
21- # Strategy per evitare split-brain con SQLite/H2
2216 strategy :
2317 type : Recreate
2418
25- # Disabilita deployment separati (non servono per homelab)
19+ # Disabilita deployment separati
2620 webserver :
2721 enabled : false
2822 executor :
@@ -34,101 +28,55 @@ kestra:
3428 worker :
3529 enabled : false
3630
37- # Configurazione comune a tutti i deployment
31+ # Configurazione comune
3832 common :
39- # Node selector se hai nodi specifici
40- nodeSelector : {}
41-
42- tolerations : []
43-
44- affinity : {}
45-
46- # Secrets come environment variables
47- # I secrets verranno caricati da External Secrets / Vault
48- extraEnvFrom :
49- - secretRef :
50- name : kestra-secrets
51-
52- # Environment variables aggiuntive
5333 extraEnv :
5434 - name : TZ
5535 value : " Europe/Rome"
36+
37+ # Carica secrets per i workflow (accessibili con secret() function)
38+ extraSecretEnvFrom :
39+ - name : kestra-secrets
40+ prefix : SECRET_
5641
57- # Configurazione Kestra (ConfigMap)
58- # Questo configura PostgreSQL esterno
42+ # Configurazione Kestra
5943 configuration :
6044 kestra :
6145 server :
6246 base-url : " https://kestra.local.ildoc.it"
6347
64- # Repository (metadati workflow, executions, etc.)
6548 repository :
6649 type : postgres
6750
68- # Queue (task scheduling)
6951 queue :
7052 type : postgres
7153
72- # Storage per file, logs, outputs
7354 storage :
7455 type : local
7556 local :
7657 base-path : " /app/storage"
77-
78- # Tasks configuration
79- tasks :
80- tmp-dir :
81- path : " /tmp/kestra-wd/tmp"
8258
83- # Secrets Kestra (database credentials)
84- # Questi verranno sovrascritti da External Secrets
85- secrets :
86- kestra :
87- datasources :
88- postgres :
89- # Placeholder - verranno sovrascritti da External Secrets
90- url : jdbc:postgresql://192.168.0.30:5432/kestra_db
91- username : kestra_user
92- password : placeholder
59+ # Carica database credentials da External Secret
60+ externalSecret :
61+ secretName : kestra-db-secret
62+ key : application-secrets.yml
9363
9464 # Service Account
9565 serviceAccount :
9666 create : true
9767 automountToken : false
9868
99- # Service
100- service :
101- type : ClusterIP
102- port : 8080
103-
10469 # Persistence per storage locale
10570 persistence :
10671 enabled : true
10772 storageClassName : " nfs-csi"
10873 accessModes :
10974 - ReadWriteOnce
110- size : 20Gi # Storage per workflow files, logs, outputs
75+ size : 20Gi
11176
112- # Docker-in-Docker per eseguire container
113- # Necessario per task come Script con Docker runner
77+ # Docker-in-Docker
11478 dind :
11579 enabled : true
116- # Modalità rootless (più sicura)
117- mode : ' rootless'
118-
119- image :
120- repository : docker
121- tag : dind-rootless
122- pullPolicy : IfNotPresent
123-
124- securityContext :
125- privileged : true
126- runAsUser : 1000
127- runAsGroup : 1000
128-
129- args :
130- - --log-level=fatal
131- - --group=1000
13280
13381 resources :
13482 limits :
@@ -139,17 +87,14 @@ kestra:
13987 memory : 512Mi
14088
14189 # Disabilita servizi non necessari
142- # (PostgreSQL e MinIO sono esterni)
14390 kafka :
14491 enabled : false
14592
14693 elasticsearch :
14794 enabled : false
14895
149- # Operator (solo Enterprise Edition)
15096 operator :
15197 enabled : false
15298
153- # Ingress disabilitato (usiamo HTTPRoute)
15499 ingress :
155100 enabled : false
0 commit comments