This commit is contained in:
2023-08-20 07:58:09 -05:00
parent 167c6ed587
commit 22b3f622f2
7 changed files with 11 additions and 45 deletions

12
charts/api/Chart.yaml Normal file
View File

@@ -0,0 +1,12 @@
apiVersion: v2
name: DurpAPI
description: A Helm chart for Kubernetes
type: application
version: 0.1.0
appVersion: "0.1.0"
dependencies:
- name: postgresql
version: 12.5.*
repository: https://charts.bitnami.com/bitnami
condition: postgresql.enabled

View File

@@ -0,0 +1,38 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: {{ .Chart.Name }}
name: {{ .Chart.Name }}
labels:
app: {{ .Chart.Name }}
spec:
selector:
matchLabels:
app: {{ .Chart.Name }}
replicas: {{ .Values.deployment.hpa.minReplicas }}
template:
metadata:
labels:
app: {{ .Chart.Name }}
spec:
containers:
- name: api
image: "{{ .Values.deployment.image }}:{{ default .Chart.Version .Values.deployment.tag }}"
imagePullPolicy: {{ .Values.deployment.imagePullPolicy }}
readinessProbe:
{{- toYaml .Values.deployment.probe.readiness | nindent 12 }}
livenessProbe:
{{- toYaml .Values.deployment.probe.liveness | nindent 12 }}
startupProbe:
{{- toYaml .Values.deployment.probe.startup | nindent 12 }}
ports:
- name: http
containerPort: {{ .Values.service.targetport }}
env:
- name: host
value: {{ .Values.swagger.host }}
- name: version
value: {{ default .Chart.Version .Values.deployment.tag }}
envFrom:
- secretRef:
name: {{ .Values.deployment.secretfile }}

View File

@@ -0,0 +1,24 @@
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: "{{ .Chart.Name }}-hpa"
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: {{ .Chart.Name }}
minReplicas: {{ .Values.deployment.hpa.minReplicas }}
maxReplicas: {{ .Values.deployment.hpa.maxReplicas }}
metrics:
- type: Resource
resource:
name: memory
target:
type: Utilization
averageUtilization: 80
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 40

View File

@@ -0,0 +1,12 @@
apiVersion: v1
kind: Service
metadata:
name: "{{ .Chart.Name }}-service"
spec:
ports:
- name: http
port: {{ .Values.service.port }}
targetPort: {{ .Values.service.targetport }}
protocol: TCP
selector:
app: {{ .Chart.Name }}

32
charts/api/values.yaml Normal file
View File

@@ -0,0 +1,32 @@
deployment:
image: registry.gitlab.com/developerdurp/durpapi
tag: ""
imagePullPolicy: Always
secretfile: durpapi-secret
hpa:
minReplicas: 3
maxReplicas: 10
probe:
readiness:
httpGet:
path: /api/health/getHealth
port: 8080
liveness:
httpGet:
path: /api/health/getHealth
port: 8080
startup:
httpGet:
path: /api/health/getHealth
port: 8080
service:
type: ClusterIP
port: 80
targetport: 8080
swagger:
host: api.durp.info
postgresql:
enabled: false