Files
infra/deploy/drone/deploy.yaml
2025-03-15 16:09:13 +01:00

106 lines
2.5 KiB
YAML

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