Skip to content

Commit 9c007df

Browse files
committed
kestra
1 parent 5f6b8f4 commit 9c007df

File tree

5 files changed

+160
-111
lines changed

5 files changed

+160
-111
lines changed
File renamed without changes.
Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
kestra:
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
7+
deployments:
8+
standalone:
9+
enabled: true
10+
replicaCount: 1
11+
12+
# Resources (adatta in base al tuo cluster)
13+
resources:
14+
limits:
15+
cpu: 2000m
16+
memory: 4Gi
17+
requests:
18+
cpu: 500m
19+
memory: 2Gi
20+
21+
# Strategy per evitare split-brain con SQLite/H2
22+
strategy:
23+
type: Recreate
24+
25+
# Disabilita deployment separati (non servono per homelab)
26+
webserver:
27+
enabled: false
28+
executor:
29+
enabled: false
30+
indexer:
31+
enabled: false
32+
scheduler:
33+
enabled: false
34+
worker:
35+
enabled: false
36+
37+
# Configurazione comune a tutti i deployment
38+
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
53+
extraEnv:
54+
- name: TZ
55+
value: "Europe/Rome"
56+
57+
# Configurazione Kestra (ConfigMap)
58+
# Questo configura PostgreSQL esterno
59+
configuration:
60+
kestra:
61+
server:
62+
base-url: "https://kestra.local.ildoc.it"
63+
basic-auth:
64+
enabled: false # Disabilita auth (solo homelab interno!)
65+
# Open URLs - permetti accesso senza auth
66+
open-urls:
67+
- "/api/v1/**" # Attenzione: apre tutte le API!
68+
69+
# Repository (metadati workflow, executions, etc.)
70+
repository:
71+
type: postgres
72+
73+
# Queue (task scheduling)
74+
queue:
75+
type: postgres
76+
77+
# Storage per file, logs, outputs
78+
storage:
79+
type: local
80+
local:
81+
base-path: "/app/storage"
82+
83+
# Tasks configuration
84+
tasks:
85+
tmp-dir:
86+
path: "/tmp/kestra-wd/tmp"
87+
88+
# Secrets Kestra (database credentials)
89+
# Questi verranno sovrascritti da External Secrets
90+
secrets:
91+
kestra:
92+
datasources:
93+
postgres:
94+
# Placeholder - verranno sovrascritti da External Secrets
95+
url: jdbc:postgresql://192.168.0.30:5432/kestra_db
96+
username: kestra_user
97+
password: placeholder
98+
99+
# Service Account
100+
serviceAccount:
101+
create: true
102+
automountToken: false
103+
104+
# Service
105+
service:
106+
type: ClusterIP
107+
port: 8080
108+
109+
# Persistence per storage locale
110+
persistence:
111+
enabled: true
112+
storageClassName: "nfs-csi"
113+
accessModes:
114+
- ReadWriteOnce
115+
size: 20Gi # Storage per workflow files, logs, outputs
116+
117+
# Docker-in-Docker per eseguire container
118+
# Necessario per task come Script con Docker runner
119+
dind:
120+
enabled: true
121+
# Modalità rootless (più sicura)
122+
mode: 'rootless'
123+
124+
image:
125+
repository: docker
126+
tag: dind-rootless
127+
pullPolicy: IfNotPresent
128+
129+
securityContext:
130+
privileged: true
131+
runAsUser: 1000
132+
runAsGroup: 1000
133+
134+
args:
135+
- --log-level=fatal
136+
- --group=1000
137+
138+
resources:
139+
limits:
140+
cpu: 1000m
141+
memory: 2Gi
142+
requests:
143+
cpu: 100m
144+
memory: 512Mi
145+
146+
# Disabilita servizi non necessari
147+
# (PostgreSQL e MinIO sono esterni)
148+
kafka:
149+
enabled: false
150+
151+
elasticsearch:
152+
enabled: false
153+
154+
# Operator (solo Enterprise Edition)
155+
operator:
156+
enabled: false
157+
158+
# Ingress disabilitato (usiamo HTTPRoute)
159+
ingress:
160+
enabled: false

kubernetes/charts/kestra/values.yaml

Lines changed: 0 additions & 111 deletions
This file was deleted.

0 commit comments

Comments
 (0)