apiVersion: v1 kind: PersistentVolume metadata: name: db-postgres-pv namespace: egommerce spec: capacity: storage: 5Gi accessModes: - ReadWriteOnce storageClassName: db-postgres-pv hostPath: path: "/home/keedosn/.egommerce/postgres" # Ensure this path exists on the node --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: db-postgres-pvc namespace: egommerce spec: accessModes: - ReadWriteOnce resources: requests: storage: 5Gi #storageClassName: db-postgres-pv --- apiVersion: v1 kind: Service metadata: name: db-postgres namespace: egommerce labels: app: db-postgres spec: type: NodePort selector: app: db-postgres ports: - name: db-postgres protocol: TCP port: 5432 nodePort: 31500 # --- # apiVersion: v1 # kind: Service # metadata: # name: db-postgres-metrics # namespace: egommerce # labels: # app: db-postgres # spec: # type: NodePort # selector: # app: db-postgres # ports: # - name: db-postgres # protocol: TCP # port: 9187 # nodePort: 31501 --- apiVersion: apps/v1 kind: Deployment metadata: name: db-postgres namespace: egommerce spec: replicas: 1 selector: matchLabels: app: db-postgres template: metadata: labels: app: db-postgres spec: securityContext: runAsUser: 70 # postgres user fsGroup: 70 # postgres user # remember to change perms and owner of ~/.egommerce/postgres directory containers: - name: db-postgres image: git.ego.freeddns.org/egommerce/db-postgres:dev imagePullPolicy: Always env: - name: APP_NAME value: db-postgres - name: APP_DOMAIN value: db-postgres.egommerce.local - name: POSTGRES_USER value: egommerce - name: POSTGRES_DB value: egommerce - name: POSTGRES_PASSWORD # value: H5Gd7^37*Hka*a72 value: "12345678" - name: PGDATA value: /var/lib/postgresql/data resources: limits: cpu: "1" memory: 512M ports: - containerPort: 5432 volumeMounts: - name: db-postgres-data mountPath: /var/lib/postgresql/data # subPath: data - name: db-postgres-metrics image: prometheuscommunity/postgres-exporter:latest ports: - containerPort: 9187 env: - name: DATA_SOURCE_NAME value: "postgresql://postgres:12345678@db-postgres:5432/egommerce" #?sslmode=disable volumes: - name: db-postgres-data persistentVolumeClaim: claimName: db-postgres-pvc