Some checks failed
Deployment Verification / deploy-and-test (push) Failing after 29s
104 lines
2.6 KiB
YAML
104 lines
2.6 KiB
YAML
---
|
|
# Here I have used a hostpath
|
|
# Local volumes can only be used as a statically created PersistentVolume. Dynamic provisioning is not supported.
|
|
# If you need to go with Dynamic volumes you may choose AWS EBS or EFS
|
|
|
|
kind: PersistentVolume
|
|
apiVersion: v1
|
|
metadata:
|
|
name: postgres-pv-volume
|
|
labels:
|
|
app: {{ .Values.postgres.app }}
|
|
spec:
|
|
storageClassName: pv
|
|
capacity:
|
|
storage: 5Gi
|
|
accessModes:
|
|
- ReadWriteMany
|
|
hostPath:
|
|
path: /var/lib/data
|
|
---
|
|
|
|
kind: PersistentVolumeClaim
|
|
apiVersion: v1
|
|
metadata:
|
|
name: postgres-pv-claim
|
|
labels:
|
|
app: {{ .Values.postgres.app }}
|
|
spec:
|
|
storageClassName: pv
|
|
accessModes:
|
|
- ReadWriteMany
|
|
resources:
|
|
requests:
|
|
storage: 5Gi
|
|
---
|
|
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: {{ .Values.postgres.name }}
|
|
spec:
|
|
replicas: {{ .Values.postgres.replicaCount }}
|
|
selector:
|
|
matchLabels:
|
|
app: {{ .Values.postgres.app }}
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: {{ .Values.postgres.app }}
|
|
spec:
|
|
containers:
|
|
- name: {{ .Values.postgres.name }}
|
|
image: "{{ .Values.postgres.image}}:{{ .Values.postgres.tag }}"
|
|
imagePullPolicy: "{{ .Values.postgres.imagePullPolicy }}"
|
|
|
|
env:
|
|
|
|
- name: POSTGRES_DB # Setting Database name
|
|
value: {{ .Values.postgres.POSTGRES_DB | quote }}
|
|
|
|
- name: POSTGRES_USER # Setting Database username
|
|
value: {{ .Values.postgres.POSTGRES_ADMIN_USER | quote }}
|
|
|
|
- name: POSTGRES_PASSWORDD # Setting Database password
|
|
value: {{ .Values.postgres.POSTGRES_PASSWORD | quote }}
|
|
|
|
- name: POSTGRES_ADMIN_USER # Setting Database admin user
|
|
value: {{ .Values.postgres.POSTGRES_ADMIN_USER | quote }}
|
|
|
|
- name: POSTGRES_ADMIN_PASSWORD # Setting Database admin password
|
|
value: {{ .Values.postgres.POSTGRES_ADMIN_PASSWORD | quote }}
|
|
|
|
- name: POSTGRES_PORT # Setting Database port
|
|
value: {{ .Values.postgres.POSTGRES_PORT | quote }}
|
|
|
|
- name: POSTGRES_HOST_AUTH_METHOD
|
|
value: trust
|
|
|
|
ports:
|
|
- containerPort: 5432
|
|
|
|
volumeMounts:
|
|
- mountPath: /var/lib/postgresql/data
|
|
name: postgredb
|
|
volumes:
|
|
- name: postgredb
|
|
persistentVolumeClaim:
|
|
claimName: postgres-pv-claim
|
|
|
|
---
|
|
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: {{ .Values.postgres.name }}
|
|
labels:
|
|
app: {{ .Values.postgres.app }}
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: {{ .Values.postgres.service.port }}
|
|
selector:
|
|
app: {{ .Values.postgres.app }}
|
|
--- |