112 lines
3.0 KiB
YAML
112 lines
3.0 KiB
YAML
---
|
|
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
|