Files
cloudy/swarm/postgres-db-deployment.yaml
T

73 lines
2.1 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -f services.yml
kompose.version: 1.34.0 (HEAD)
labels:
io.kompose.service: postgres-db
traefik.constraint-label: traefik-public
traefik.swarm.network: traefik-public
traefik.enable: "true"
traefik.tcp.routers.postgres.entrypoints: postgres-socket
traefik.tcp.routers.postgres.rule: HostSNI(`*`)
traefik.tcp.routers.postgres.service: postgres_service
traefik.tcp.services.postgres_service.loadbalancer.server.port: "5432"
name: postgres-db
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: postgres-db
strategy:
type: Recreate
template:
metadata:
annotations:
kompose.cmd: kompose convert -f services.yml
kompose.version: 1.34.0 (HEAD)
labels:
io.kompose.service: postgres-db
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: postgres.postgres_data
operator: In
values:
- "true"
containers:
- args:
- postgres
- -c
- log_connections=on
env:
- name: LANG
value: en_US.utf8
- name: PGDATA
value: /var/lib/postgresql/data
- name: POSTGRES_DB
- name: POSTGRES_PASSWORD
- name: POSTGRES_USER
- name: TZ
value: Asia/Singapore
image: postgres
livenessProbe:
exec:
command:
- pg_isready -d ${POSTGRES_DB} -U ${POSTGRES_USER}
failureThreshold: 10
periodSeconds: 30
timeoutSeconds: 10
name: postgres-db
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: postgres-data
restartPolicy: Always
volumes:
- name: postgres-data
persistentVolumeClaim:
claimName: postgres-data