source: k8s/postgres.yaml@ 2a034a2

Last change on this file since 2a034a2 was 52fee06, checked in by Andrej <asumanovski@…>, 2 weeks ago

Complete Kubernetes manifests with ConfigMap, Secrets, StatefulSet, Ingress

  • namespace.yaml: trekr namespace
  • configmaps.yaml: backend non-secret config (DB URL, Hibernate settings)
  • postgres.yaml: StatefulSet + PVC + ClusterIP Service, init SQL from ConfigMap
  • backend.yaml: Deployment with ConfigMap + Secrets refs, ClusterIP Service
  • frontend.yaml: Deployment + ClusterIP Service
  • ingress.yaml: nginx Ingress routing trekr.local → frontend
  • deploy-local.sh: one-shot local demo script for Docker Desktop Kubernetes
  • Property mode set to 100644
File size: 1.5 KB
RevLine 
[c0086c0]1apiVersion: v1
2kind: PersistentVolumeClaim
3metadata:
4 name: postgres-pvc
5 namespace: trekr
6spec:
7 accessModes: [ReadWriteOnce]
8 resources:
9 requests:
[52fee06]10 storage: 2Gi
[c0086c0]11---
12apiVersion: apps/v1
13kind: StatefulSet
14metadata:
15 name: postgres
16 namespace: trekr
17spec:
18 serviceName: postgres
19 replicas: 1
20 selector:
21 matchLabels:
22 app: postgres
23 template:
24 metadata:
25 labels:
26 app: postgres
27 spec:
28 containers:
29 - name: postgres
30 image: postgres:16-alpine
31 env:
32 - name: POSTGRES_DB
33 value: trekr
34 - name: POSTGRES_USER
35 value: trekr
36 - name: POSTGRES_PASSWORD
37 valueFrom:
38 secretKeyRef:
39 name: trekr-secrets
40 key: db-password
41 ports:
42 - containerPort: 5432
43 volumeMounts:
44 - name: data
45 mountPath: /var/lib/postgresql/data
46 - name: init-sql
47 mountPath: /docker-entrypoint-initdb.d
48 readinessProbe:
49 exec:
50 command: [pg_isready, -U, trekr, -d, trekr]
51 initialDelaySeconds: 5
52 periodSeconds: 5
[52fee06]53 failureThreshold: 10
[c0086c0]54 volumes:
55 - name: data
56 persistentVolumeClaim:
57 claimName: postgres-pvc
58 - name: init-sql
59 configMap:
60 name: trekr-db-init
61---
62apiVersion: v1
63kind: Service
64metadata:
65 name: postgres
66 namespace: trekr
67spec:
68 selector:
69 app: postgres
70 ports:
71 - port: 5432
72 targetPort: 5432
Note: See TracBrowser for help on using the repository browser.