Add full helm for my-recipes app
This commit is contained in:
parent
14a099ac4a
commit
b387b7ab6d
@ -15,7 +15,7 @@ spec:
|
|||||||
destination:
|
destination:
|
||||||
server: https://kubernetes.default.svc
|
server: https://kubernetes.default.svc
|
||||||
namespace: my-apps
|
namespace: my-apps
|
||||||
syncPolicy:
|
syncPolicy: []
|
||||||
automated:
|
# automated:
|
||||||
prune: true
|
# prune: true
|
||||||
selfHeal: true
|
# selfHeal: true
|
||||||
|
|||||||
26
charts/my-recipes-chart/templates/backend-deployment.yaml
Normal file
26
charts/my-recipes-chart/templates/backend-deployment.yaml
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Name }}-backend
|
||||||
|
labels:
|
||||||
|
app: {{ .Release.Name }}-backend
|
||||||
|
spec:
|
||||||
|
replicas: {{ .Values.backend.replicas }}
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: {{ .Release.Name }}-backend
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: {{ .Release.Name }}-backend
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: backend
|
||||||
|
image: "{{ .Values.backend.image.repository }}:{{ .Values.backend.image.tag }}"
|
||||||
|
imagePullPolicy: {{ .Values.backend.image.pullPolicy }}
|
||||||
|
ports:
|
||||||
|
- containerPort: 8000
|
||||||
|
name: http
|
||||||
|
envFrom:
|
||||||
|
- secretRef:
|
||||||
|
name: {{ .Release.Name }}-db-credentials
|
||||||
11
charts/my-recipes-chart/templates/db-secret.yaml
Normal file
11
charts/my-recipes-chart/templates/db-secret.yaml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Name }}-db-credentials
|
||||||
|
type: Opaque
|
||||||
|
stringData:
|
||||||
|
DB_HOST: {{ printf "%s-db-headless.%s.svc.cluster.local" .Release.Name .Release.Namespace }}
|
||||||
|
DB_PORT: "{{ .Values.postgres.port }}"
|
||||||
|
DB_NAME: {{ .Values.postgres.database | quote }}
|
||||||
|
DB_USER: {{ .Values.postgres.user | quote }}
|
||||||
|
DB_PASSWORD: {{ .Values.postgres.password | quote }}
|
||||||
14
charts/my-recipes-chart/templates/db-service.yaml
Normal file
14
charts/my-recipes-chart/templates/db-service.yaml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Name }}-db-headless
|
||||||
|
labels:
|
||||||
|
app: {{ .Release.Name }}-db
|
||||||
|
spec:
|
||||||
|
clusterIP: None
|
||||||
|
selector:
|
||||||
|
app: {{ .Release.Name }}-db
|
||||||
|
ports:
|
||||||
|
- name: postgres
|
||||||
|
port: {{ .Values.postgres.port }}
|
||||||
|
targetPort: 5432
|
||||||
@ -2,22 +2,25 @@ apiVersion: apps/v1
|
|||||||
kind: StatefulSet
|
kind: StatefulSet
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ .Release.Name }}-db
|
name: {{ .Release.Name }}-db
|
||||||
|
labels:
|
||||||
|
app: {{ .Release.Name }}-db
|
||||||
spec:
|
spec:
|
||||||
serviceName: {{ .Release.Name }}-headless
|
serviceName: {{ .Release.Name }}-db-headless
|
||||||
replicas: 1
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: {{ .Release.Name }}
|
app: {{ .Release.Name }}-db
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app: {{ .Release.Name }}
|
app: {{ .Release.Name }}-db
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: postgres
|
- name: postgres
|
||||||
image: {{ .Values.image }}
|
image: {{ .Values.postgres.image }}
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 5432
|
- containerPort: 5432
|
||||||
|
name: postgres
|
||||||
env:
|
env:
|
||||||
- name: POSTGRES_USER
|
- name: POSTGRES_USER
|
||||||
value: {{ .Values.postgres.user | quote }}
|
value: {{ .Values.postgres.user | quote }}
|
||||||
@ -33,10 +36,10 @@ spec:
|
|||||||
name: data
|
name: data
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- {{ .Values.persistence.accessMode }}
|
- {{ .Values.postgres.persistence.accessMode }}
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
storage: {{ .Values.persistence.size }}
|
storage: {{ .Values.postgres.persistence.size }}
|
||||||
{{- if .Values.persistence.storageClass }}
|
{{- if .Values.postgres.persistence.storageClass }}
|
||||||
storageClassName: {{ .Values.persistence.storageClass | quote }}
|
storageClassName: {{ .Values.postgres.persistence.storageClass | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
0
charts/my-recipes-chart/templates/ingress.yaml
Normal file
0
charts/my-recipes-chart/templates/ingress.yaml
Normal file
@ -1,11 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.Name }}-headless
|
|
||||||
spec:
|
|
||||||
clusterIP: None
|
|
||||||
selector:
|
|
||||||
app: {{ .Release.Name }}
|
|
||||||
ports:
|
|
||||||
- port: {{ .Values.service.port }}
|
|
||||||
targetPort: 5432
|
|
||||||
@ -1,15 +1,28 @@
|
|||||||
image: postgres:16
|
# Backend image
|
||||||
|
backend:
|
||||||
|
image:
|
||||||
|
repository: registry.dvirlabs.com/my-recipes/backend
|
||||||
|
tag: v1.0.0
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
replicas: 1
|
||||||
|
|
||||||
|
# Frontend image
|
||||||
|
frontend:
|
||||||
|
image:
|
||||||
|
repository: registry.dvirlabs.com/my-recipes/frontend
|
||||||
|
tag: v1.0.0
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
replicas: 1
|
||||||
|
|
||||||
|
# Postgres DB
|
||||||
postgres:
|
postgres:
|
||||||
|
image: postgres:16
|
||||||
user: recipes_user
|
user: recipes_user
|
||||||
password: recipes_password # simple for POC
|
password: recipes_password # POC only – later use Secret/ExternalSecret
|
||||||
database: recipes_db
|
database: recipes_db
|
||||||
|
|
||||||
service:
|
|
||||||
port: 5432
|
port: 5432
|
||||||
|
|
||||||
persistence:
|
persistence:
|
||||||
enabled: true
|
enabled: true
|
||||||
accessMode: ReadWriteOnce
|
accessMode: ReadWriteOnce
|
||||||
storageClass: "nfs-client" # or your default SC
|
storageClass: "nfs-client"
|
||||||
size: 8Gi
|
size: 8Gi
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user