# ============================================================================= # Global / common settings # ============================================================================= namespace: c-----code releaseName: c-----code image: registry: harbor.gitdata.me/gta_team pullPolicy: IfNotPresent # PostgreSQL (required) – set connection string via secret or values database: existingSecret: "" secretKeys: url: APP_DATABASE_URL # Redis (required) redis: existingSecret: "" secretKeys: url: APP_REDIS_URL # NATS (optional – required only if HOOK_POOL is enabled) nats: enabled: false url: nats://nats:4222 # Qdrant (optional – required only if AI embeddings are used) qdrant: enabled: false url: http://qdrant:6333 existingSecret: "" secretKeys: apiKey: APP_QDRANT_API_KEY # ============================================================================= # App – main web/API service # ============================================================================= app: enabled: true replicaCount: 3 image: repository: app tag: latest service: type: ClusterIP port: 8080 ingress: enabled: false className: cilium # Cilium Ingress (or envoy for EnvoyGateway) annotations: {} hosts: - host: c-----.local paths: - path: / pathType: Prefix tls: [] resources: requests: cpu: 100m memory: 256Mi limits: cpu: 1000m memory: 1Gi livenessProbe: path: /health port: 8080 initialDelaySeconds: 5 periodSeconds: 10 readinessProbe: path: /health port: 8080 initialDelaySeconds: 5 periodSeconds: 5 # Extra env vars (merge with auto-injected ones) env: [] nodeSelector: {} tolerations: [] affinity: {} # ============================================================================= # Gitserver – git daemon / SSH + HTTP server # ============================================================================= gitserver: enabled: true replicaCount: 1 image: repository: gitserver tag: latest service: http: type: ClusterIP port: 8022 ssh: type: NodePort nodePort: 30222 resources: requests: cpu: 100m memory: 128Mi limits: cpu: 500m memory: 512Mi # Storage for git repos persistence: enabled: true storageClass: "" size: 50Gi accessMode: ReadWriteOnce ssh: domain: "" port: 22 env: [] nodeSelector: {} tolerations: [] affinity: {} # ============================================================================= # Email worker – processes outgoing email queue # ============================================================================= emailWorker: enabled: true image: repository: email-worker tag: latest resources: requests: cpu: 50m memory: 64Mi limits: cpu: 200m memory: 256Mi env: [] nodeSelector: {} tolerations: [] affinity: {} # ============================================================================= # Git hook pool – handles pre-receive / post-receive hooks # ============================================================================= gitHook: enabled: true image: repository: git-hook tag: latest replicaCount: 2 resources: requests: cpu: 50m memory: 64Mi limits: cpu: 200m memory: 256Mi env: [] nodeSelector: {} tolerations: [] affinity: {} # ============================================================================= # Migrate – database migration Job (runOnce) # ============================================================================= migrate: enabled: false # Set true to run migrations on upgrade image: repository: migrate tag: latest command: up backoffLimit: 3 env: [] # ============================================================================= # Operator – Kubernetes operator (manages custom App/GitServer CRDs) # ============================================================================= operator: enabled: false # Enable only if running the custom operator image: repository: operator tag: latest resources: requests: cpu: 50m memory: 64Mi limits: cpu: 200m memory: 256Mi nodeSelector: {} tolerations: [] affinity: {} # ============================================================================= # Act Runner – Gitea Actions self-hosted runner # ============================================================================= actRunner: enabled: false image: repository: act-runner tag: latest replicaCount: 2 # Concurrency per runner instance capacity: 2 # Runner labels (must match workflow `runs-on`) labels: - gitea - docker logLevel: info cache: enabled: true dir: /tmp/actions-cache resources: requests: cpu: 500m memory: 1Gi limits: cpu: 2000m memory: 4Gi env: [] nodeSelector: {} tolerations: - key: "runner" operator: "Equal" value: "true" effect: "NoSchedule" affinity: {}