apiVersion: v1 kind: PersistentVolumeClaim metadata: name: drone-pv namespace: drone labels: name: drone-server spec: storageClassName: longhorn accessModes: - ReadWriteOnce resources: requests: storage: 20Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: drone-server namespace: drone spec: replicas: 1 selector: matchLabels: name: drone-server template: metadata: labels: name: drone-server spec: containers: - name: drone-server image: drone/drone:2.26.0 imagePullPolicy: Always env: - name: "DRONE_GITHUB_CLIENT_ID" value: Ov23liTTrc709dX7YetV - name: "DRONE_GITHUB_CLIENT_SECRET" value: 7373d79bce815b380d503fb39c9373a53599897a - name: "DRONE_RPC_SECRET" value: f2ae9e7aea06ef9897a30c5e2b27f17c - name: "DRONE_SERVER_HOST" value: drone.diveedi.dev - name: "DRONE_SERVER_PROTO" value: https - name: "DRONE_SERVER_PORT" value: :80 - name: "DRONE_USER_CREATE" value: "username:nicolag97,admin:true" - name: "DRONE_USER_FILTER" value: "ticketag,diveedi-lab" - name: "DRONE_DATABASE_DRIVER" value: "postgres" - name: "DRONE_DATABASE_DATASOURCE" value: "postgres://drone:be1932a990ec0d4a9720@postgres-rw.db:5432/drone?sslmode=disable" volumeMounts: - mountPath: /var/lib/drone name: drone-lib volumes: - name: drone-lib persistentVolumeClaim: claimName: drone-pv --- apiVersion: v1 kind: Service metadata: name: drone-server namespace: drone labels: name: drone-server spec: type: ClusterIP ports: - protocol: TCP port: 80 targetPort: 80 selector: name: drone-server --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: drone-ingress namespace: drone annotations: cert-manager.io/cluster-issuer: "letsencrypt-prod" nginx.ingress.kubernetes.io/force-ssl-redirect: "true" spec: ingressClassName: nginx tls: - hosts: - drone.panic.haus secretName: drone-tls rules: - host: drone.panic.haus http: paths: - path: / pathType: Prefix backend: service: name: drone-server port: number: 80