Files
k8s-ci-cd-stack/woodpecker/woodpecker-server.yaml
2025-07-20 17:13:55 +02:00

79 lines
2.0 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: woodpecker-server
namespace: woodpecker
spec:
replicas: 1
selector:
matchLabels:
app: woodpecker-server
template:
metadata:
labels:
app: woodpecker-server
spec:
initContainers:
- name: fix-permissions
image: busybox
command: ["sh", "-c", "chown -R 1000:1000 /var/lib/woodpecker"]
volumeMounts:
- name: woodpecker-data
mountPath: /var/lib/woodpecker
securityContext:
runAsUser: 0
containers:
- name: server
image: woodpeckerci/woodpecker-server:v3.8.0
ports:
- containerPort: 8000
env:
- name: WOODPECKER_GITEA
value: "true"
- name: WOODPECKER_GITEA_URL
value: "https://gitea.marcin00.pl"
- name: WOODPECKER_HOST
value: "https://woodpecker.marcin00.pl"
- name: WOODPECKER_GITEA_CLIENT
valueFrom:
secretKeyRef:
name: woodpecker-secret
key: WOODPECKER_GITEA_CLIENT
- name: WOODPECKER_GITEA_SECRET
valueFrom:
secretKeyRef:
name: woodpecker-secret
key: WOODPECKER_GITEA_SECRET
volumeMounts:
- name: secrets-store
mountPath: "/mnt/secrets"
readOnly: true
- name: woodpecker-data
mountPath: /var/lib/woodpecker/
volumes:
- name: secrets-store
csi:
driver: secrets-store.csi.k8s.io
readOnly: true
volumeAttributes:
secretProviderClass: "woodpecker-secrets"
- name: woodpecker-data
persistentVolumeClaim:
claimName: woodpecker-pvc
---
apiVersion: v1
kind: Service
metadata:
name: woodpecker-server
namespace: woodpecker
spec:
selector:
app: woodpecker-server
ports:
- name: http
port: 80
targetPort: 8000
- name: grpc
port: 9000
targetPort: 9000