--- server: image: repository: woodpeckerci/woodpecker-server tag: v2.3.0 replicaCount: 2 service: type: ClusterIP port: 8000 ingress: enabled: true ingressClassName: "nginx" annotations: kubernetes.io/ingress.class: nginx kubernetes.io/tls-acme: "true" cert-manager.io/issuer: "letsencrypt-prod" hosts: - host: ci.nationtech.io paths: - path: / tls: - secretName: ci.nationtech.io-tls hosts: - ci.nationtech.io secrets: - name: woodpecker-secret serviceAccount: # -- Specifies whether a service account should be created create: true env: WOODPECKER_OPEN: "false" WOODPECKER_HOST: "https://ci.nationtech.io" WOODPECKER_AGENT_SECRET: "woodpecker_agent_secret" WOODPECKER_GRPC_SECRET: "woodpecker_grpc_secret" WOODPECKER_GRPC_ADDR: ":9000" WOODPECKER_SERVER_ADDR: ":8000" WOODPECKER_METRICS_SERVER_ADDR: "prometheus-kube-prometheus-prometheus.monitoring.svc:9090" # WOODPECKER_ADMIN: "woodpecker_admin" # WOODPECKER_DATABASE_DRIVER: "postgres" # WOODPECKER_DATABASE_DATASOURCE: "postgres://woodpecker_admin:woodpecker_admin@postgresql:5432/woodpecker?sslmode=require" resources: requests: cpu: 200m memory: 256Mi limits: cpu: 500m memory: 512Mi # Woodpecker agent configuration agent: image: repository: woodpeckerci/woodpecker-agent tag: v2.3.0 # Use a specific version instead of 'latest' replicaCount: 2 # Run multiple agents for better parallelism env: WOODPECKER_SERVER: "woodpecker-server:9000" WOODPECKER_AGENT_SECRET: "woodpecker_agent_secret" WOODPECKER_BACKEND: "kubernetes" WOODPECKER_BACKEND_K8S_NAMESPACE: "ci" WOODPECKER_BACKEND_K8S_VOLUME_SIZE: "5Gi" WOODPECKER_BACKEND_K8S_STORAGE_CLASS: "ceph-block" WOODPECKER_BACKEND_K8S_STORAGE_RWX: "true" WOODPECKER_BACKEND_K8S_POD_LABELS: '{"app":"woodpecker-job"}' WOODPECKER_BACKEND_K8S_POD_ANNOTATIONS: '{"prometheus.io/scrape":"true","prometheus.io/port":"9000"}' WOODPECKER_BACKEND_K8S_POD_NODE_SELECTOR: '{"kubernetes.io/os":"linux"}' WOODPECKER_BACKEND_K8S_SECCTX_NONROOT: "true" WOODPECKER_BACKEND_K8S_PULL_SECRET_NAMES: "woodpecker-pull-secret" resources: requests: cpu: 200m memory: 256Mi limits: cpu: 1 memory: 1Gi # PostgreSQL configuration postgresql: enabled: true auth: username: "woodpecker_admin" password: "woodpecker_admin" database: "woodpecker" persistence: enabled: true size: 5Gi resources: requests: cpu: 100m memory: 256Mi limits: cpu: 500m memory: 1Gi # Prometheus integration metrics: serviceMonitor: enabled: true namespace: monitoring interval: 15s scrapeTimeout: 14s selector: release: prometheus # Logging integration logging: fluentd: enabled: true config: logLevel: info fluentdAddress: fluentd-headless.logging.svc:24224