diff --git a/deployments/pelican/postgres.yaml b/deployments/pelican/postgres.yaml new file mode 100644 index 0000000..f5a4f64 --- /dev/null +++ b/deployments/pelican/postgres.yaml @@ -0,0 +1,82 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: postgres-data + namespace: pelican +spec: + accessModes: + - ReadWriteOnce + storageClassName: longhorn + resources: + requests: + storage: 10Gi +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: postgres + namespace: pelican + labels: + app.kubernetes.io/name: postgres + app.kubernetes.io/component: database + app.kubernetes.io/managed-by: orion +spec: + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + app.kubernetes.io/name: postgres + app.kubernetes.io/component: database + template: + metadata: + labels: + app.kubernetes.io/name: postgres + app.kubernetes.io/component: database + spec: + containers: + - name: postgres + image: postgres:16 + ports: + - containerPort: 5432 + protocol: TCP + env: + - name: POSTGRES_DB + value: pelican + - name: POSTGRES_USER + valueFrom: + secretKeyRef: + name: pelican-panel-db + key: DB_USER + - name: POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: pelican-panel-db + key: DB_PASSWORD + - name: PGDATA + value: /var/lib/postgresql/data/pgdata + volumeMounts: + - name: data + mountPath: /var/lib/postgresql/data + volumes: + - name: data + persistentVolumeClaim: + claimName: postgres-data +--- +apiVersion: v1 +kind: Service +metadata: + name: postgres + namespace: pelican + labels: + app.kubernetes.io/name: postgres + app.kubernetes.io/component: database +spec: + type: ClusterIP + selector: + app.kubernetes.io/name: postgres + app.kubernetes.io/component: database + ports: + - port: 5432 + targetPort: 5432 + protocol: TCP