Merge pull request #21 from jk-cluster/fix/probes
Ensure liveness, readiness and startup probes on all workloads
This commit is contained in:
42 files changed
+382
-49
No files matched your search
@@ -4,5 +4,5 @@ description: A Helm chart to deploy Apache Tika on Kubernetes
|
||||
|
||||
type: application
|
||||
|
||||
version: 4.0.1+up3.2.3.0.full
|
||||
version: 5.0.0+up3.2.3.0.full
|
||||
appVersion: "3.2.3.0-full"
|
||||
@@ -24,6 +24,12 @@ spec:
|
||||
- containerPort: 9998
|
||||
protocol: TCP
|
||||
name: tika-port
|
||||
livenessProbe:
|
||||
{{- toYaml .Values.tika.livenessProbe | nindent 12 }}
|
||||
readinessProbe:
|
||||
{{- toYaml .Values.tika.readinessProbe | nindent 12 }}
|
||||
startupProbe:
|
||||
{{- toYaml .Values.tika.startupProbe | nindent 12 }}
|
||||
resources:
|
||||
requests:
|
||||
memory: "{{ .Values.tika.resources.requests.memory }}"
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
tika:
|
||||
# Tika answers "GET /" on its server port with HTTP 200.
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: tika-port
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: tika-port
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
# The startup probe gates liveness/readiness. Startup budget = 5s * 30 = 150s.
|
||||
startupProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: tika-port
|
||||
periodSeconds: 5
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 30
|
||||
resources:
|
||||
requests:
|
||||
cpu: 0.1
|
||||
|
||||
@@ -4,7 +4,7 @@ type: application
|
||||
name: calibre-web-automated
|
||||
description: A Helm chart to deploy calibere-web-automated
|
||||
|
||||
version: 1.3.0+upv4.0.6
|
||||
version: 2.0.0+upv4.0.6
|
||||
appVersion: v4.0.6
|
||||
|
||||
maintainers:
|
||||
|
||||
@@ -54,6 +54,12 @@ spec:
|
||||
subPath: customize.py.json
|
||||
- mountPath: "/cwa-book-ingest"
|
||||
name: cwa-consume
|
||||
livenessProbe:
|
||||
{{- toYaml .Values.cwa.livenessProbe | nindent 12 }}
|
||||
readinessProbe:
|
||||
{{- toYaml .Values.cwa.readinessProbe | nindent 12 }}
|
||||
startupProbe:
|
||||
{{- toYaml .Values.cwa.startupProbe | nindent 12 }}
|
||||
resources:
|
||||
requests:
|
||||
memory: "{{ .Values.cwa.resources.requests.memory }}"
|
||||
|
||||
@@ -6,6 +6,28 @@ cwa:
|
||||
storageClass: longhorn
|
||||
timezone: "UTC"
|
||||
maxUploadFileSize: "10m"
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
# The startup probe gates liveness/readiness. Startup budget = 10s * 30 = 300s.
|
||||
startupProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 30
|
||||
resources:
|
||||
requests:
|
||||
cpu: 0.1
|
||||
|
||||
@@ -4,7 +4,7 @@ description: A Helm chart to deploy Cyberchef on Kubernetes
|
||||
|
||||
type: application
|
||||
|
||||
version: 1.0.0+up10.22.1
|
||||
version: 2.0.0+up10.22.1
|
||||
appVersion: "10.22.1"
|
||||
|
||||
maintainers:
|
||||
|
||||
@@ -20,11 +20,16 @@ spec:
|
||||
- name: {{ .Release.Name }}-{{ .Chart.Name }}-deployment
|
||||
image: "ghcr.io/gchq/cyberchef:{{ .Chart.AppVersion }}"
|
||||
imagePullPolicy: IfNotPresent
|
||||
# TODO: liveness and readiness probes
|
||||
ports:
|
||||
- containerPort: 80
|
||||
protocol: TCP
|
||||
name: http
|
||||
livenessProbe:
|
||||
{{- toYaml .Values.cyberchef.livenessProbe | nindent 12 }}
|
||||
readinessProbe:
|
||||
{{- toYaml .Values.cyberchef.readinessProbe | nindent 12 }}
|
||||
startupProbe:
|
||||
{{- toYaml .Values.cyberchef.startupProbe | nindent 12 }}
|
||||
resources:
|
||||
requests:
|
||||
memory: "{{ .Values.cyberchef.resources.requests.memory }}"
|
||||
|
||||
@@ -1,4 +1,26 @@
|
||||
cyberchef:
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
# The startup probe gates liveness/readiness. Startup budget = 5s * 30 = 150s.
|
||||
startupProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
periodSeconds: 5
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 30
|
||||
resources:
|
||||
requests:
|
||||
cpu: 0.1
|
||||
|
||||
@@ -4,7 +4,7 @@ description: A Helm chart to deploy Gotenberg on Kubernetes
|
||||
|
||||
type: application
|
||||
|
||||
version: 1.0.2+up8.26.0
|
||||
version: 2.0.0+up8.26.0
|
||||
appVersion: "8.26.0"
|
||||
|
||||
maintainers:
|
||||
|
||||
@@ -24,6 +24,12 @@ spec:
|
||||
- containerPort: 3000
|
||||
protocol: TCP
|
||||
name: gotenberg-port
|
||||
livenessProbe:
|
||||
{{- toYaml .Values.gotenberg.livenessProbe | nindent 12 }}
|
||||
readinessProbe:
|
||||
{{- toYaml .Values.gotenberg.readinessProbe | nindent 12 }}
|
||||
startupProbe:
|
||||
{{- toYaml .Values.gotenberg.startupProbe | nindent 12 }}
|
||||
resources:
|
||||
requests:
|
||||
memory: "{{ .Values.gotenberg.resources.requests.memory }}"
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
gotenberg:
|
||||
# Gotenberg exposes a documented health endpoint at /health.
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /health
|
||||
port: gotenberg-port
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /health
|
||||
port: gotenberg-port
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
# The startup probe gates liveness/readiness. Startup budget = 5s * 30 = 150s.
|
||||
startupProbe:
|
||||
httpGet:
|
||||
path: /health
|
||||
port: gotenberg-port
|
||||
periodSeconds: 5
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 30
|
||||
resources:
|
||||
requests:
|
||||
cpu: 0.1
|
||||
|
||||
@@ -3,7 +3,7 @@ name: homeassistant
|
||||
description: A Helm chart to deploy Home Assistant on Kubernetes
|
||||
type: application
|
||||
|
||||
version: 1.4.2+up2026.2.3
|
||||
version: 2.0.0+up2026.2.3
|
||||
|
||||
appVersion: "2026.2.3"
|
||||
|
||||
|
||||
@@ -28,7 +28,12 @@ spec:
|
||||
- name: http
|
||||
containerPort: 8123
|
||||
protocol: TCP
|
||||
# TODO: liveness-probe, readiness-probe
|
||||
livenessProbe:
|
||||
{{- toYaml .Values.livenessProbe | nindent 12 }}
|
||||
readinessProbe:
|
||||
{{- toYaml .Values.readinessProbe | nindent 12 }}
|
||||
startupProbe:
|
||||
{{- toYaml .Values.startupProbe | nindent 12 }}
|
||||
resources:
|
||||
limits:
|
||||
cpu: {{ .Values.resources.limits.cpu }}
|
||||
|
||||
@@ -32,15 +32,30 @@ resources:
|
||||
memory: 512Mi
|
||||
ephemeralStorage: 128Mi
|
||||
|
||||
# This is to setup the liveness and readiness probes more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
|
||||
# This is to setup the liveness, readiness and startup probes more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
# The startup probe gates liveness/readiness. Home Assistant can take a while to
|
||||
# start up, so grant a generous budget: 10s * 30 = 300s.
|
||||
startupProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 30
|
||||
|
||||
# Additional volumes on the output Deployment definition.
|
||||
volumes: []
|
||||
|
||||
@@ -2,7 +2,7 @@ apiVersion: v2
|
||||
name: matrix-synapse
|
||||
description: A Helm chart to deploy a Matrix Synapse server on Kubernetes
|
||||
type: application
|
||||
version: 1.2.1+upv1.149.1
|
||||
version: 2.0.0+upv1.149.1
|
||||
appVersion: "v1.149.1"
|
||||
maintainers:
|
||||
- name: jklein
|
||||
@@ -40,7 +40,6 @@ spec:
|
||||
path: /.well-known/matrix/server
|
||||
port: http
|
||||
scheme: HTTP
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 3
|
||||
failureThreshold: 3
|
||||
@@ -49,10 +48,18 @@ spec:
|
||||
path: /.well-known/matrix/server
|
||||
port: http
|
||||
scheme: HTTP
|
||||
initialDelaySeconds: 15
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 3
|
||||
failureThreshold: 3
|
||||
# The startup probe gates liveness/readiness. Startup budget = 5s * 30 = 150s.
|
||||
startupProbe:
|
||||
httpGet:
|
||||
path: /.well-known/matrix/server
|
||||
port: http
|
||||
scheme: HTTP
|
||||
periodSeconds: 5
|
||||
timeoutSeconds: 3
|
||||
failureThreshold: 30
|
||||
volumes:
|
||||
- name: nginx-config
|
||||
configMap:
|
||||
|
||||
@@ -43,7 +43,6 @@ spec:
|
||||
path: /health
|
||||
port: http
|
||||
scheme: HTTP
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
@@ -52,10 +51,19 @@ spec:
|
||||
path: /health
|
||||
port: http
|
||||
scheme: HTTP
|
||||
initialDelaySeconds: 30
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
# The startup probe gates liveness/readiness. Synapse can take a
|
||||
# while to start (migrations, cache warmup): budget 10s * 30 = 300s.
|
||||
startupProbe:
|
||||
httpGet:
|
||||
path: /health
|
||||
port: http
|
||||
scheme: HTTP
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 30
|
||||
resources:
|
||||
requests:
|
||||
memory: "{{ .Values.matrix.resources.requests.memory }}"
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ description: A Helm chart to deploy Outline on Kubernetes
|
||||
|
||||
type: application
|
||||
|
||||
version: 1.4.0+up1.9.2
|
||||
version: 2.0.0+up1.9.2
|
||||
appVersion: 1.9.2
|
||||
|
||||
maintainers:
|
||||
|
||||
@@ -80,18 +80,33 @@ spec:
|
||||
- containerPort: 3000
|
||||
protocol: TCP
|
||||
name: http
|
||||
# Outline exposes a dedicated health endpoint at /_health (also used
|
||||
# by the upstream Docker HEALTHCHECK). It checks Postgres and Redis;
|
||||
# there is no dependency-free HTTP endpoint ("/" returns 500 too when
|
||||
# the database is down), so all three probes use /_health.
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
path: /_health
|
||||
port: 3000
|
||||
initialDelaySeconds: 30
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
path: /_health
|
||||
port: 3000
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
# The startup probe gates liveness/readiness. Outline runs database
|
||||
# migrations on startup: budget 10s * 30 = 300s.
|
||||
startupProbe:
|
||||
httpGet:
|
||||
path: /_health
|
||||
port: 3000
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 30
|
||||
resources:
|
||||
requests:
|
||||
memory: "{{ .Values.outline.resources.requests.memory }}"
|
||||
|
||||
@@ -4,7 +4,7 @@ description: A Helm chart to deploy Paperless-NGX on Kubernetes
|
||||
|
||||
type: application
|
||||
|
||||
version: 4.4.1+up2.20.13
|
||||
version: 5.0.0+up2.20.13
|
||||
|
||||
appVersion: 2.20.13
|
||||
|
||||
|
||||
@@ -166,7 +166,6 @@ spec:
|
||||
httpGet:
|
||||
path: /
|
||||
port: 8000
|
||||
initialDelaySeconds: 30
|
||||
periodSeconds: 10
|
||||
failureThreshold: 3
|
||||
successThreshold: 1
|
||||
@@ -175,11 +174,19 @@ spec:
|
||||
httpGet:
|
||||
path: /
|
||||
port: 8000
|
||||
initialDelaySeconds: 90
|
||||
periodSeconds: 30
|
||||
failureThreshold: 3
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 5
|
||||
# The startup probe gates liveness/readiness. Paperless runs database
|
||||
# migrations and index checks on startup: budget 10s * 30 = 300s.
|
||||
startupProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: 8000
|
||||
periodSeconds: 10
|
||||
failureThreshold: 30
|
||||
timeoutSeconds: 5
|
||||
restartPolicy: Always
|
||||
volumes:
|
||||
- name: paperless-volume
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ description: A Helm chart to deploy Patchmon on Kubernetes
|
||||
|
||||
type: application
|
||||
|
||||
version: 1.4.0+up1.4.2
|
||||
version: 2.0.0+up1.4.2
|
||||
appVersion: "1.4.2"
|
||||
|
||||
maintainers:
|
||||
|
||||
@@ -135,7 +135,30 @@ spec:
|
||||
value: "https://{{ .Values.ingress.domain }}"
|
||||
- name: TRUST_PROXIES
|
||||
value: "1"
|
||||
# TODO: Add liveness and readiness probes
|
||||
# The backend exposes GET /health returning {"status": "ok"}.
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /health
|
||||
port: 3001
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /health
|
||||
port: 3001
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
# The startup probe gates liveness/readiness. The backend waits for
|
||||
# the database and runs migrations on startup: budget 10s * 30 = 300s.
|
||||
startupProbe:
|
||||
httpGet:
|
||||
path: /health
|
||||
port: 3001
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 30
|
||||
{{- with .Values.patchmon.backend.resources }}
|
||||
resources:
|
||||
{{ toYaml . | nindent 12 }}
|
||||
|
||||
@@ -37,7 +37,6 @@ spec:
|
||||
httpGet:
|
||||
path: /
|
||||
port: 3000
|
||||
initialDelaySeconds: 30
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
@@ -45,10 +44,17 @@ spec:
|
||||
httpGet:
|
||||
path: /
|
||||
port: 3000
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
# The startup probe gates liveness/readiness. Startup budget = 5s * 30 = 150s.
|
||||
startupProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: 3000
|
||||
periodSeconds: 5
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 30
|
||||
volumeMounts:
|
||||
- name: patchmon-volume
|
||||
mountPath: /usr/share/nginx/html/assets
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ description: A Helm chart to deploy Rallly on Kubernetes
|
||||
|
||||
type: application
|
||||
|
||||
version: 1.1.1+up4.8.1
|
||||
version: 2.0.0+up4.8.1
|
||||
appVersion: "4.8.1"
|
||||
|
||||
maintainers:
|
||||
|
||||
+4
-5
@@ -27,7 +27,6 @@ rallly:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
@@ -35,18 +34,18 @@ rallly:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
# The startup probe gates liveness/readiness, so those need no initialDelaySeconds.
|
||||
# Startup budget = periodSeconds * failureThreshold = 150s.
|
||||
startupProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
initialDelaySeconds: 30
|
||||
periodSeconds: 10
|
||||
periodSeconds: 5
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
failureThreshold: 30
|
||||
|
||||
ingress:
|
||||
clusterIssuer: null
|
||||
|
||||
+1
-1
@@ -4,6 +4,6 @@ description: A Helm chart for Samba
|
||||
|
||||
type: application
|
||||
|
||||
version: 1.2.0+up4.23.5
|
||||
version: 2.0.0+up4.23.5
|
||||
|
||||
appVersion: 4.23.5
|
||||
@@ -39,6 +39,12 @@ spec:
|
||||
- name: "{{ $value.name }}"
|
||||
mountPath: "/shares/{{ $value.name }}"
|
||||
{{- end }}
|
||||
livenessProbe:
|
||||
{{- toYaml .Values.samba.livenessProbe | nindent 12 }}
|
||||
readinessProbe:
|
||||
{{- toYaml .Values.samba.readinessProbe | nindent 12 }}
|
||||
startupProbe:
|
||||
{{- toYaml .Values.samba.startupProbe | nindent 12 }}
|
||||
resources:
|
||||
requests:
|
||||
memory: "{{ .Values.samba.resources.requests.memory }}"
|
||||
|
||||
@@ -7,6 +7,26 @@ samba:
|
||||
validUsers: null
|
||||
description: null
|
||||
size: null
|
||||
# SMB is not an HTTP protocol, so probe the main SMB TCP port.
|
||||
livenessProbe:
|
||||
tcpSocket:
|
||||
port: 445
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
readinessProbe:
|
||||
tcpSocket:
|
||||
port: 445
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
# The startup probe gates liveness/readiness. Startup budget = 5s * 30 = 150s.
|
||||
startupProbe:
|
||||
tcpSocket:
|
||||
port: 445
|
||||
periodSeconds: 5
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 30
|
||||
resources:
|
||||
requests:
|
||||
memory: 50Mi
|
||||
|
||||
@@ -2,7 +2,7 @@ apiVersion: v2
|
||||
name: satisfactory
|
||||
description: A Helm chart to deploy a Satisfactory Gameserver on Kubernetes
|
||||
type: application
|
||||
version: 1.3.0+upv1.9.10
|
||||
version: 2.0.0+upv1.9.10
|
||||
appVersion: "v1.9.10"
|
||||
maintainers:
|
||||
- name: jklein
|
||||
@@ -52,10 +52,28 @@ spec:
|
||||
- "/bin/sh"
|
||||
- "-c"
|
||||
- "/home/steam/healthcheck.sh"
|
||||
initialDelaySeconds: 300
|
||||
failureThreshold: 4
|
||||
successThreshold: 1
|
||||
periodSeconds: 30
|
||||
timeoutSeconds: 10
|
||||
readinessProbe:
|
||||
tcpSocket:
|
||||
port: api
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
# The startup probe gates liveness/readiness. The server downloads /
|
||||
# updates the game files via Steam on startup, which can take a long
|
||||
# time: budget 30s * 40 = 20 minutes.
|
||||
startupProbe:
|
||||
exec:
|
||||
command:
|
||||
- "/bin/sh"
|
||||
- "-c"
|
||||
- "/home/steam/healthcheck.sh"
|
||||
periodSeconds: 30
|
||||
timeoutSeconds: 10
|
||||
failureThreshold: 40
|
||||
{{- with .Values.server.resources }}
|
||||
resources:
|
||||
{{ toYaml . | nindent 12 }}
|
||||
|
||||
@@ -4,5 +4,5 @@ description: A Helm chart for deploying a teamspeak-server on Kubernetes
|
||||
|
||||
type: application
|
||||
|
||||
version: 1.2.0+upv6.0.0.beta8
|
||||
version: 2.0.0+upv6.0.0.beta8
|
||||
appVersion: "v6.0.0-beta8"
|
||||
@@ -35,6 +35,27 @@ spec:
|
||||
value: "accept"
|
||||
- name: TSSERVER_DEFAULT_PORT
|
||||
value: "30987"
|
||||
# The voice service is UDP and cannot be probed; probe the TCP
|
||||
# file-transfer port instead.
|
||||
livenessProbe:
|
||||
tcpSocket:
|
||||
port: file-transfer
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
readinessProbe:
|
||||
tcpSocket:
|
||||
port: file-transfer
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
# The startup probe gates liveness/readiness. Startup budget = 5s * 30 = 150s.
|
||||
startupProbe:
|
||||
tcpSocket:
|
||||
port: file-transfer
|
||||
periodSeconds: 5
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 30
|
||||
resources:
|
||||
requests:
|
||||
cpu: "0.2"
|
||||
|
||||
@@ -15,7 +15,6 @@ xxx:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
@@ -23,18 +22,18 @@ xxx:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
# The startup probe gates liveness/readiness, so those need no initialDelaySeconds.
|
||||
# Startup budget = periodSeconds * failureThreshold = 150s.
|
||||
startupProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
initialDelaySeconds: 30
|
||||
periodSeconds: 10
|
||||
periodSeconds: 5
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
failureThreshold: 30
|
||||
securityContext:
|
||||
pod:
|
||||
runAsNonRoot: true
|
||||
|
||||
@@ -3,5 +3,5 @@ name: urlaubsverwaltung
|
||||
description: A Helm chart to deploy urlaubsverwaltung on Kubernetes
|
||||
type: application
|
||||
|
||||
version: 1.5.0+up6.5.0
|
||||
version: 2.0.0+up6.5.0
|
||||
appVersion: 6.5.0
|
||||
@@ -113,7 +113,6 @@ spec:
|
||||
httpGet:
|
||||
port: 8080
|
||||
path: /actuator/health/readiness
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 5
|
||||
failureThreshold: 3
|
||||
successThreshold: 1
|
||||
@@ -122,9 +121,17 @@ spec:
|
||||
httpGet:
|
||||
port: 8080
|
||||
path: /actuator/health/liveness
|
||||
initialDelaySeconds: 20
|
||||
periodSeconds: 10
|
||||
failureThreshold: 3
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 5
|
||||
# The startup probe gates liveness/readiness. Spring Boot startup
|
||||
# (JVM + Liquibase migrations) gets a budget of 10s * 30 = 300s.
|
||||
startupProbe:
|
||||
httpGet:
|
||||
port: 8080
|
||||
path: /actuator/health/liveness
|
||||
periodSeconds: 10
|
||||
failureThreshold: 30
|
||||
timeoutSeconds: 5
|
||||
restartPolicy: Always
|
||||
@@ -4,7 +4,7 @@ description: A Helm chart to deploy VoucherVault on Kubernetes
|
||||
|
||||
type: application
|
||||
|
||||
version: 1.3.0+up1.27.4
|
||||
version: 2.0.0+up1.27.4
|
||||
appVersion: "1.27.4"
|
||||
|
||||
maintainers:
|
||||
|
||||
@@ -13,10 +13,41 @@ voucherVault:
|
||||
cpu: 1
|
||||
memory: 384Mi
|
||||
ephemeral-storage: 100Mi
|
||||
# TODO: Refine liness, readiness, startup probes
|
||||
livenessProbe: null
|
||||
readinessProbe: null
|
||||
startupProbe: null
|
||||
# "/" answers with a redirect for anonymous users, which httpGet treats as
|
||||
# success. The Host header must be set to 127.0.0.1 because Django's
|
||||
# ALLOWED_HOSTS only accepts 127.0.0.1 and the configured DOMAIN — probing
|
||||
# with the default Host (the pod IP) would always return 400.
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
httpHeaders:
|
||||
- name: Host
|
||||
value: 127.0.0.1
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
httpHeaders:
|
||||
- name: Host
|
||||
value: 127.0.0.1
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
# The startup probe gates liveness/readiness. Startup budget = 5s * 30 = 150s.
|
||||
startupProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
httpHeaders:
|
||||
- name: Host
|
||||
value: 127.0.0.1
|
||||
periodSeconds: 5
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 30
|
||||
securityContext:
|
||||
pod:
|
||||
runAsNonRoot: true
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ type: application
|
||||
# This is the chart version. This version number should be incremented each time you make changes
|
||||
# to the chart and its templates, including the app version.
|
||||
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
||||
version: 1.3.0+up4.6.4
|
||||
version: 2.0.0+up4.6.4
|
||||
|
||||
# This is the version number of the application being deployed. This version number should be
|
||||
# incremented each time you make changes to the application. Versions are not expected to
|
||||
|
||||
@@ -44,6 +44,12 @@ spec:
|
||||
- name: "zipline-server"
|
||||
containerPort: 3000
|
||||
protocol: TCP
|
||||
livenessProbe:
|
||||
{{- toYaml .Values.zipline.livenessProbe | nindent 12 }}
|
||||
readinessProbe:
|
||||
{{- toYaml .Values.zipline.readinessProbe | nindent 12 }}
|
||||
startupProbe:
|
||||
{{- toYaml .Values.zipline.startupProbe | nindent 12 }}
|
||||
volumeMounts:
|
||||
- name: zipline-volume
|
||||
mountPath: /zipline/uploads
|
||||
|
||||
@@ -7,6 +7,33 @@ config:
|
||||
domain: null
|
||||
maxUploadFileSize: 30m
|
||||
zipline:
|
||||
# Zipline v4 exposes /api/healthcheck (checks server and database health);
|
||||
# the endpoint is enabled by default (config.features.healthcheck). Since it
|
||||
# includes the database, it is used for readiness/startup only; liveness
|
||||
# uses "/" so a database outage does not restart the pod.
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: zipline-server
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /api/healthcheck
|
||||
port: zipline-server
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
# The startup probe gates liveness/readiness. Zipline runs database
|
||||
# migrations on startup, so grant a generous budget: 10s * 30 = 300s.
|
||||
startupProbe:
|
||||
httpGet:
|
||||
path: /api/healthcheck
|
||||
port: zipline-server
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 30
|
||||
resources:
|
||||
requests:
|
||||
cpu: 0.1
|
||||
|
||||
Reference in new issue
Block a user