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