apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
  name: woodpecker
  namespace: dev
spec:
  interval: 5m
  chart:
    spec:
      chart: woodpecker
      version: "1.5.1"
      sourceRef:
        kind: HelmRepository
        name: woodpecker-charts
        namespace: flux-system

  values:
    agent:
      enabled: true
      replicaCount: 4

      extraSecretNamesForEnvFrom:
      - woodpecker

      # https://github.com/woodpecker-ci/helm/issues/154
      secrets: {}

      env:
        WOODPECKER_BACKEND: kubernetes
        WOODPECKER_SERVER: woodpecker-server.dev.svc.cluster.local:9000
        WOODPECKER_BACKEND_K8S_NAMESPACE: dev
        WOODPECKER_BACKEND_K8S_STORAGE_CLASS: mainpool-hostpath
        WOODPECKER_BACKEND_K8S_VOLUME_SIZE: 5G
        WOODPECKER_BACKEND_K8S_STORAGE_RWX: false
        WOODPECKER_BACKEND_K8S_POD_LABELS: ""
        WOODPECKER_BACKEND_K8S_POD_ANNOTATIONS: ""
        WOODPECKER_CONNECT_RETRY_COUNT: "1"

    server:
      enabled: true

      env:
        WOODPECKER_HOST: https://ci.${SECRET_NEW_DOMAIN}
        WOODPECKER_BACKEND_K8S_NAMESPACE: dev

      extraSecretNamesForEnvFrom:
      - woodpecker

      # https://github.com/woodpecker-ci/helm/issues/154
      secrets: {}

      persistentVolume:
        enabled: true
        size: 10Gi
        mountPath: '/var/lib/woodpecker'
        storageClass: mainpool-hostpath

      prometheus:
        podmonitor:
          enabled: true
          interval: 15s
          labels:
            release: kube-prometheus-stack
        rules:
          enabled: true
          labels:
            release: kube-prometheus-stack

      ingress:
        enabled: true
        
        annotations:
          traefik.ingress.kubernetes.io/router.entrypoints: websecure

        hosts:
          - host: &host ci.${SECRET_NEW_DOMAIN}
            paths:
              - path: /
                pathType: Prefix
        
        tls:
          - hosts:
              - *host