Files
cloudy/keytong/postgres-db-deployment.yaml
furyhawk 4549a213e2 Add Traefik and various service configurations for Docker Swarm
- Created `local_core.yml` for Traefik service configuration with multiple entry points and middleware settings.
- Added `services-all.yml` to define multiple services including API server, PostgreSQL, MinIO, Neo4j, and others with Traefik routing.
- Implemented Kubernetes deployment files for API server, Dozzle, MinIO, OSRM backend, PostgreSQL, SearxNG, and Whoami services.
- Configured persistent volume claims for MinIO, PostgreSQL, and SearxNG.
- Set up Traefik routing rules for all services to enable HTTPS and middleware for security.
2026-03-25 10:15:04 +08:00

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