Files

116 lines
3.2 KiB
YAML

apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: woodpecker
namespace: ci
spec:
interval: 10m
chartRef:
kind: OCIRepository
name: woodpecker
driftDetection:
mode: enabled
values:
defaultPodOptions:
securityContext:
fsGroup: 1000 # non-root image, fresh longhorn volume is root-owned
fsGroupChangePolicy: OnRootMismatch
controllers:
server:
replicas: 1
strategy: Recreate # sqlite on RWO volume
containers:
app:
image:
repository: woodpeckerci/woodpecker-server
tag: v3.18.1
env:
WOODPECKER_HOST: https://ci.aggtaa.com
WOODPECKER_OPEN: "false"
WOODPECKER_ADMIN: anton
WOODPECKER_GITEA: "true"
WOODPECKER_GITEA_URL: https://git.aggtaa.com
WOODPECKER_DATABASE_DRIVER: sqlite3
WOODPECKER_DATABASE_DATASOURCE: /var/lib/woodpecker/woodpecker.sqlite
envFrom:
- secretRef:
name: woodpecker-secrets
resources:
requests:
cpu: 50m
memory: 128Mi
limits:
memory: 512Mi
agent:
replicas: 1
strategy: Recreate # RWO volume for agent id
serviceAccount:
name: woodpecker-agent # created in rbac.yaml
pod:
automountServiceAccountToken: true # kubernetes backend uses in-cluster config
containers:
app:
image:
repository: woodpeckerci/woodpecker-agent
tag: v3.18.1
env:
WOODPECKER_SERVER: woodpecker:9000
WOODPECKER_BACKEND: kubernetes
WOODPECKER_BACKEND_K8S_NAMESPACE: ci
WOODPECKER_BACKEND_K8S_STORAGE_CLASS: longhorn-no-retain
WOODPECKER_BACKEND_K8S_VOLUME_SIZE: 5G
WOODPECKER_MAX_WORKFLOWS: "2"
envFrom:
- secretRef:
name: woodpecker-secrets
resources:
requests:
cpu: 20m
memory: 64Mi
limits:
memory: 256Mi
service:
server:
controller: server
ports:
http:
port: 8000
grpc:
port: 9000
ingress:
server:
className: traefik
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
hosts:
- host: ci.aggtaa.com
paths:
- path: /
pathType: Prefix
service:
identifier: server
port: http
tls:
- secretName: woodpecker-tls
hosts:
- ci.aggtaa.com
persistence:
data:
type: persistentVolumeClaim
existingClaim: woodpecker-data
advancedMounts:
server:
app:
- path: /var/lib/woodpecker
agent-config:
type: persistentVolumeClaim
existingClaim: woodpecker-agent-config
advancedMounts:
agent:
app:
- path: /etc/woodpecker