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
|
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"
|
appVersion: "3.2.3.0-full"
|
||||||
@@ -24,6 +24,12 @@ spec:
|
|||||||
- containerPort: 9998
|
- containerPort: 9998
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
name: tika-port
|
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:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
memory: "{{ .Values.tika.resources.requests.memory }}"
|
memory: "{{ .Values.tika.resources.requests.memory }}"
|
||||||
|
|||||||
@@ -1,4 +1,27 @@
|
|||||||
tika:
|
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:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
cpu: 0.1
|
cpu: 0.1
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ type: application
|
|||||||
name: calibre-web-automated
|
name: calibre-web-automated
|
||||||
description: A Helm chart to deploy calibere-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
|
appVersion: v4.0.6
|
||||||
|
|
||||||
maintainers:
|
maintainers:
|
||||||
|
|||||||
@@ -54,6 +54,12 @@ spec:
|
|||||||
subPath: customize.py.json
|
subPath: customize.py.json
|
||||||
- mountPath: "/cwa-book-ingest"
|
- mountPath: "/cwa-book-ingest"
|
||||||
name: cwa-consume
|
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:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
memory: "{{ .Values.cwa.resources.requests.memory }}"
|
memory: "{{ .Values.cwa.resources.requests.memory }}"
|
||||||
|
|||||||
@@ -6,6 +6,28 @@ cwa:
|
|||||||
storageClass: longhorn
|
storageClass: longhorn
|
||||||
timezone: "UTC"
|
timezone: "UTC"
|
||||||
maxUploadFileSize: "10m"
|
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:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
cpu: 0.1
|
cpu: 0.1
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ description: A Helm chart to deploy Cyberchef on Kubernetes
|
|||||||
|
|
||||||
type: application
|
type: application
|
||||||
|
|
||||||
version: 1.0.0+up10.22.1
|
version: 2.0.0+up10.22.1
|
||||||
appVersion: "10.22.1"
|
appVersion: "10.22.1"
|
||||||
|
|
||||||
maintainers:
|
maintainers:
|
||||||
|
|||||||
@@ -20,11 +20,16 @@ spec:
|
|||||||
- name: {{ .Release.Name }}-{{ .Chart.Name }}-deployment
|
- name: {{ .Release.Name }}-{{ .Chart.Name }}-deployment
|
||||||
image: "ghcr.io/gchq/cyberchef:{{ .Chart.AppVersion }}"
|
image: "ghcr.io/gchq/cyberchef:{{ .Chart.AppVersion }}"
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
# TODO: liveness and readiness probes
|
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 80
|
- containerPort: 80
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
name: http
|
name: http
|
||||||
|
livenessProbe:
|
||||||
|
{{- toYaml .Values.cyberchef.livenessProbe | nindent 12 }}
|
||||||
|
readinessProbe:
|
||||||
|
{{- toYaml .Values.cyberchef.readinessProbe | nindent 12 }}
|
||||||
|
startupProbe:
|
||||||
|
{{- toYaml .Values.cyberchef.startupProbe | nindent 12 }}
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
memory: "{{ .Values.cyberchef.resources.requests.memory }}"
|
memory: "{{ .Values.cyberchef.resources.requests.memory }}"
|
||||||
|
|||||||
@@ -1,4 +1,26 @@
|
|||||||
cyberchef:
|
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:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
cpu: 0.1
|
cpu: 0.1
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ description: A Helm chart to deploy Gotenberg on Kubernetes
|
|||||||
|
|
||||||
type: application
|
type: application
|
||||||
|
|
||||||
version: 1.0.2+up8.26.0
|
version: 2.0.0+up8.26.0
|
||||||
appVersion: "8.26.0"
|
appVersion: "8.26.0"
|
||||||
|
|
||||||
maintainers:
|
maintainers:
|
||||||
|
|||||||
@@ -24,6 +24,12 @@ spec:
|
|||||||
- containerPort: 3000
|
- containerPort: 3000
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
name: gotenberg-port
|
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:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
memory: "{{ .Values.gotenberg.resources.requests.memory }}"
|
memory: "{{ .Values.gotenberg.resources.requests.memory }}"
|
||||||
|
|||||||
@@ -1,4 +1,27 @@
|
|||||||
gotenberg:
|
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:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
cpu: 0.1
|
cpu: 0.1
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ name: homeassistant
|
|||||||
description: A Helm chart to deploy Home Assistant on Kubernetes
|
description: A Helm chart to deploy Home Assistant on Kubernetes
|
||||||
type: application
|
type: application
|
||||||
|
|
||||||
version: 1.4.2+up2026.2.3
|
version: 2.0.0+up2026.2.3
|
||||||
|
|
||||||
appVersion: "2026.2.3"
|
appVersion: "2026.2.3"
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,12 @@ spec:
|
|||||||
- name: http
|
- name: http
|
||||||
containerPort: 8123
|
containerPort: 8123
|
||||||
protocol: TCP
|
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:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpu: {{ .Values.resources.limits.cpu }}
|
cpu: {{ .Values.resources.limits.cpu }}
|
||||||
|
|||||||
@@ -32,15 +32,30 @@ resources:
|
|||||||
memory: 512Mi
|
memory: 512Mi
|
||||||
ephemeralStorage: 128Mi
|
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:
|
livenessProbe:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /
|
path: /
|
||||||
port: http
|
port: http
|
||||||
|
periodSeconds: 10
|
||||||
|
timeoutSeconds: 5
|
||||||
|
failureThreshold: 3
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /
|
path: /
|
||||||
port: http
|
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.
|
# Additional volumes on the output Deployment definition.
|
||||||
volumes: []
|
volumes: []
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ apiVersion: v2
|
|||||||
name: matrix-synapse
|
name: matrix-synapse
|
||||||
description: A Helm chart to deploy a Matrix Synapse server on Kubernetes
|
description: A Helm chart to deploy a Matrix Synapse server on Kubernetes
|
||||||
type: application
|
type: application
|
||||||
version: 1.2.1+upv1.149.1
|
version: 2.0.0+upv1.149.1
|
||||||
appVersion: "v1.149.1"
|
appVersion: "v1.149.1"
|
||||||
maintainers:
|
maintainers:
|
||||||
- name: jklein
|
- name: jklein
|
||||||
@@ -40,7 +40,6 @@ spec:
|
|||||||
path: /.well-known/matrix/server
|
path: /.well-known/matrix/server
|
||||||
port: http
|
port: http
|
||||||
scheme: HTTP
|
scheme: HTTP
|
||||||
initialDelaySeconds: 5
|
|
||||||
periodSeconds: 10
|
periodSeconds: 10
|
||||||
timeoutSeconds: 3
|
timeoutSeconds: 3
|
||||||
failureThreshold: 3
|
failureThreshold: 3
|
||||||
@@ -49,10 +48,18 @@ spec:
|
|||||||
path: /.well-known/matrix/server
|
path: /.well-known/matrix/server
|
||||||
port: http
|
port: http
|
||||||
scheme: HTTP
|
scheme: HTTP
|
||||||
initialDelaySeconds: 15
|
|
||||||
periodSeconds: 10
|
periodSeconds: 10
|
||||||
timeoutSeconds: 3
|
timeoutSeconds: 3
|
||||||
failureThreshold: 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:
|
volumes:
|
||||||
- name: nginx-config
|
- name: nginx-config
|
||||||
configMap:
|
configMap:
|
||||||
|
|||||||
@@ -43,7 +43,6 @@ spec:
|
|||||||
path: /health
|
path: /health
|
||||||
port: http
|
port: http
|
||||||
scheme: HTTP
|
scheme: HTTP
|
||||||
initialDelaySeconds: 10
|
|
||||||
periodSeconds: 10
|
periodSeconds: 10
|
||||||
timeoutSeconds: 5
|
timeoutSeconds: 5
|
||||||
failureThreshold: 3
|
failureThreshold: 3
|
||||||
@@ -52,10 +51,19 @@ spec:
|
|||||||
path: /health
|
path: /health
|
||||||
port: http
|
port: http
|
||||||
scheme: HTTP
|
scheme: HTTP
|
||||||
initialDelaySeconds: 30
|
|
||||||
periodSeconds: 10
|
periodSeconds: 10
|
||||||
timeoutSeconds: 5
|
timeoutSeconds: 5
|
||||||
failureThreshold: 3
|
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:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
memory: "{{ .Values.matrix.resources.requests.memory }}"
|
memory: "{{ .Values.matrix.resources.requests.memory }}"
|
||||||
|
|||||||
+1
-1
@@ -4,7 +4,7 @@ description: A Helm chart to deploy Outline on Kubernetes
|
|||||||
|
|
||||||
type: application
|
type: application
|
||||||
|
|
||||||
version: 1.4.0+up1.9.2
|
version: 2.0.0+up1.9.2
|
||||||
appVersion: 1.9.2
|
appVersion: 1.9.2
|
||||||
|
|
||||||
maintainers:
|
maintainers:
|
||||||
|
|||||||
@@ -80,18 +80,33 @@ spec:
|
|||||||
- containerPort: 3000
|
- containerPort: 3000
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
name: http
|
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:
|
livenessProbe:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /
|
path: /_health
|
||||||
port: 3000
|
port: 3000
|
||||||
initialDelaySeconds: 30
|
|
||||||
periodSeconds: 10
|
periodSeconds: 10
|
||||||
|
timeoutSeconds: 5
|
||||||
|
failureThreshold: 3
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /
|
path: /_health
|
||||||
port: 3000
|
port: 3000
|
||||||
initialDelaySeconds: 10
|
|
||||||
periodSeconds: 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:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
memory: "{{ .Values.outline.resources.requests.memory }}"
|
memory: "{{ .Values.outline.resources.requests.memory }}"
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ description: A Helm chart to deploy Paperless-NGX on Kubernetes
|
|||||||
|
|
||||||
type: application
|
type: application
|
||||||
|
|
||||||
version: 4.4.1+up2.20.13
|
version: 5.0.0+up2.20.13
|
||||||
|
|
||||||
appVersion: 2.20.13
|
appVersion: 2.20.13
|
||||||
|
|
||||||
|
|||||||
@@ -166,7 +166,6 @@ spec:
|
|||||||
httpGet:
|
httpGet:
|
||||||
path: /
|
path: /
|
||||||
port: 8000
|
port: 8000
|
||||||
initialDelaySeconds: 30
|
|
||||||
periodSeconds: 10
|
periodSeconds: 10
|
||||||
failureThreshold: 3
|
failureThreshold: 3
|
||||||
successThreshold: 1
|
successThreshold: 1
|
||||||
@@ -175,11 +174,19 @@ spec:
|
|||||||
httpGet:
|
httpGet:
|
||||||
path: /
|
path: /
|
||||||
port: 8000
|
port: 8000
|
||||||
initialDelaySeconds: 90
|
|
||||||
periodSeconds: 30
|
periodSeconds: 30
|
||||||
failureThreshold: 3
|
failureThreshold: 3
|
||||||
successThreshold: 1
|
successThreshold: 1
|
||||||
timeoutSeconds: 5
|
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
|
restartPolicy: Always
|
||||||
volumes:
|
volumes:
|
||||||
- name: paperless-volume
|
- name: paperless-volume
|
||||||
|
|||||||
+1
-1
@@ -4,7 +4,7 @@ description: A Helm chart to deploy Patchmon on Kubernetes
|
|||||||
|
|
||||||
type: application
|
type: application
|
||||||
|
|
||||||
version: 1.4.0+up1.4.2
|
version: 2.0.0+up1.4.2
|
||||||
appVersion: "1.4.2"
|
appVersion: "1.4.2"
|
||||||
|
|
||||||
maintainers:
|
maintainers:
|
||||||
|
|||||||
@@ -135,7 +135,30 @@ spec:
|
|||||||
value: "https://{{ .Values.ingress.domain }}"
|
value: "https://{{ .Values.ingress.domain }}"
|
||||||
- name: TRUST_PROXIES
|
- name: TRUST_PROXIES
|
||||||
value: "1"
|
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 }}
|
{{- with .Values.patchmon.backend.resources }}
|
||||||
resources:
|
resources:
|
||||||
{{ toYaml . | nindent 12 }}
|
{{ toYaml . | nindent 12 }}
|
||||||
|
|||||||
@@ -37,7 +37,6 @@ spec:
|
|||||||
httpGet:
|
httpGet:
|
||||||
path: /
|
path: /
|
||||||
port: 3000
|
port: 3000
|
||||||
initialDelaySeconds: 30
|
|
||||||
periodSeconds: 10
|
periodSeconds: 10
|
||||||
timeoutSeconds: 5
|
timeoutSeconds: 5
|
||||||
failureThreshold: 3
|
failureThreshold: 3
|
||||||
@@ -45,10 +44,17 @@ spec:
|
|||||||
httpGet:
|
httpGet:
|
||||||
path: /
|
path: /
|
||||||
port: 3000
|
port: 3000
|
||||||
initialDelaySeconds: 5
|
|
||||||
periodSeconds: 10
|
periodSeconds: 10
|
||||||
timeoutSeconds: 5
|
timeoutSeconds: 5
|
||||||
failureThreshold: 3
|
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:
|
volumeMounts:
|
||||||
- name: patchmon-volume
|
- name: patchmon-volume
|
||||||
mountPath: /usr/share/nginx/html/assets
|
mountPath: /usr/share/nginx/html/assets
|
||||||
|
|||||||
+1
-1
@@ -4,7 +4,7 @@ description: A Helm chart to deploy Rallly on Kubernetes
|
|||||||
|
|
||||||
type: application
|
type: application
|
||||||
|
|
||||||
version: 1.1.1+up4.8.1
|
version: 2.0.0+up4.8.1
|
||||||
appVersion: "4.8.1"
|
appVersion: "4.8.1"
|
||||||
|
|
||||||
maintainers:
|
maintainers:
|
||||||
|
|||||||
+4
-5
@@ -27,7 +27,6 @@ rallly:
|
|||||||
httpGet:
|
httpGet:
|
||||||
path: /
|
path: /
|
||||||
port: http
|
port: http
|
||||||
initialDelaySeconds: 10
|
|
||||||
periodSeconds: 10
|
periodSeconds: 10
|
||||||
timeoutSeconds: 5
|
timeoutSeconds: 5
|
||||||
failureThreshold: 3
|
failureThreshold: 3
|
||||||
@@ -35,18 +34,18 @@ rallly:
|
|||||||
httpGet:
|
httpGet:
|
||||||
path: /
|
path: /
|
||||||
port: http
|
port: http
|
||||||
initialDelaySeconds: 10
|
|
||||||
periodSeconds: 10
|
periodSeconds: 10
|
||||||
timeoutSeconds: 5
|
timeoutSeconds: 5
|
||||||
failureThreshold: 3
|
failureThreshold: 3
|
||||||
|
# The startup probe gates liveness/readiness, so those need no initialDelaySeconds.
|
||||||
|
# Startup budget = periodSeconds * failureThreshold = 150s.
|
||||||
startupProbe:
|
startupProbe:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /
|
path: /
|
||||||
port: http
|
port: http
|
||||||
initialDelaySeconds: 30
|
periodSeconds: 5
|
||||||
periodSeconds: 10
|
|
||||||
timeoutSeconds: 5
|
timeoutSeconds: 5
|
||||||
failureThreshold: 3
|
failureThreshold: 30
|
||||||
|
|
||||||
ingress:
|
ingress:
|
||||||
clusterIssuer: null
|
clusterIssuer: null
|
||||||
|
|||||||
+1
-1
@@ -4,6 +4,6 @@ description: A Helm chart for Samba
|
|||||||
|
|
||||||
type: application
|
type: application
|
||||||
|
|
||||||
version: 1.2.0+up4.23.5
|
version: 2.0.0+up4.23.5
|
||||||
|
|
||||||
appVersion: 4.23.5
|
appVersion: 4.23.5
|
||||||
@@ -39,6 +39,12 @@ spec:
|
|||||||
- name: "{{ $value.name }}"
|
- name: "{{ $value.name }}"
|
||||||
mountPath: "/shares/{{ $value.name }}"
|
mountPath: "/shares/{{ $value.name }}"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
livenessProbe:
|
||||||
|
{{- toYaml .Values.samba.livenessProbe | nindent 12 }}
|
||||||
|
readinessProbe:
|
||||||
|
{{- toYaml .Values.samba.readinessProbe | nindent 12 }}
|
||||||
|
startupProbe:
|
||||||
|
{{- toYaml .Values.samba.startupProbe | nindent 12 }}
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
memory: "{{ .Values.samba.resources.requests.memory }}"
|
memory: "{{ .Values.samba.resources.requests.memory }}"
|
||||||
|
|||||||
@@ -7,6 +7,26 @@ samba:
|
|||||||
validUsers: null
|
validUsers: null
|
||||||
description: null
|
description: null
|
||||||
size: 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:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
memory: 50Mi
|
memory: 50Mi
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ apiVersion: v2
|
|||||||
name: satisfactory
|
name: satisfactory
|
||||||
description: A Helm chart to deploy a Satisfactory Gameserver on Kubernetes
|
description: A Helm chart to deploy a Satisfactory Gameserver on Kubernetes
|
||||||
type: application
|
type: application
|
||||||
version: 1.3.0+upv1.9.10
|
version: 2.0.0+upv1.9.10
|
||||||
appVersion: "v1.9.10"
|
appVersion: "v1.9.10"
|
||||||
maintainers:
|
maintainers:
|
||||||
- name: jklein
|
- name: jklein
|
||||||
@@ -52,10 +52,28 @@ spec:
|
|||||||
- "/bin/sh"
|
- "/bin/sh"
|
||||||
- "-c"
|
- "-c"
|
||||||
- "/home/steam/healthcheck.sh"
|
- "/home/steam/healthcheck.sh"
|
||||||
initialDelaySeconds: 300
|
|
||||||
failureThreshold: 4
|
failureThreshold: 4
|
||||||
successThreshold: 1
|
successThreshold: 1
|
||||||
periodSeconds: 30
|
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 }}
|
{{- with .Values.server.resources }}
|
||||||
resources:
|
resources:
|
||||||
{{ toYaml . | nindent 12 }}
|
{{ toYaml . | nindent 12 }}
|
||||||
|
|||||||
@@ -4,5 +4,5 @@ description: A Helm chart for deploying a teamspeak-server on Kubernetes
|
|||||||
|
|
||||||
type: application
|
type: application
|
||||||
|
|
||||||
version: 1.2.0+upv6.0.0.beta8
|
version: 2.0.0+upv6.0.0.beta8
|
||||||
appVersion: "v6.0.0-beta8"
|
appVersion: "v6.0.0-beta8"
|
||||||
@@ -35,6 +35,27 @@ spec:
|
|||||||
value: "accept"
|
value: "accept"
|
||||||
- name: TSSERVER_DEFAULT_PORT
|
- name: TSSERVER_DEFAULT_PORT
|
||||||
value: "30987"
|
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:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
cpu: "0.2"
|
cpu: "0.2"
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ xxx:
|
|||||||
httpGet:
|
httpGet:
|
||||||
path: /
|
path: /
|
||||||
port: http
|
port: http
|
||||||
initialDelaySeconds: 10
|
|
||||||
periodSeconds: 10
|
periodSeconds: 10
|
||||||
timeoutSeconds: 5
|
timeoutSeconds: 5
|
||||||
failureThreshold: 3
|
failureThreshold: 3
|
||||||
@@ -23,18 +22,18 @@ xxx:
|
|||||||
httpGet:
|
httpGet:
|
||||||
path: /
|
path: /
|
||||||
port: http
|
port: http
|
||||||
initialDelaySeconds: 10
|
|
||||||
periodSeconds: 10
|
periodSeconds: 10
|
||||||
timeoutSeconds: 5
|
timeoutSeconds: 5
|
||||||
failureThreshold: 3
|
failureThreshold: 3
|
||||||
|
# The startup probe gates liveness/readiness, so those need no initialDelaySeconds.
|
||||||
|
# Startup budget = periodSeconds * failureThreshold = 150s.
|
||||||
startupProbe:
|
startupProbe:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /
|
path: /
|
||||||
port: http
|
port: http
|
||||||
initialDelaySeconds: 30
|
periodSeconds: 5
|
||||||
periodSeconds: 10
|
|
||||||
timeoutSeconds: 5
|
timeoutSeconds: 5
|
||||||
failureThreshold: 3
|
failureThreshold: 30
|
||||||
securityContext:
|
securityContext:
|
||||||
pod:
|
pod:
|
||||||
runAsNonRoot: true
|
runAsNonRoot: true
|
||||||
|
|||||||
@@ -3,5 +3,5 @@ name: urlaubsverwaltung
|
|||||||
description: A Helm chart to deploy urlaubsverwaltung on Kubernetes
|
description: A Helm chart to deploy urlaubsverwaltung on Kubernetes
|
||||||
type: application
|
type: application
|
||||||
|
|
||||||
version: 1.5.0+up6.5.0
|
version: 2.0.0+up6.5.0
|
||||||
appVersion: 6.5.0
|
appVersion: 6.5.0
|
||||||
@@ -113,7 +113,6 @@ spec:
|
|||||||
httpGet:
|
httpGet:
|
||||||
port: 8080
|
port: 8080
|
||||||
path: /actuator/health/readiness
|
path: /actuator/health/readiness
|
||||||
initialDelaySeconds: 10
|
|
||||||
periodSeconds: 5
|
periodSeconds: 5
|
||||||
failureThreshold: 3
|
failureThreshold: 3
|
||||||
successThreshold: 1
|
successThreshold: 1
|
||||||
@@ -122,9 +121,17 @@ spec:
|
|||||||
httpGet:
|
httpGet:
|
||||||
port: 8080
|
port: 8080
|
||||||
path: /actuator/health/liveness
|
path: /actuator/health/liveness
|
||||||
initialDelaySeconds: 20
|
|
||||||
periodSeconds: 10
|
periodSeconds: 10
|
||||||
failureThreshold: 3
|
failureThreshold: 3
|
||||||
successThreshold: 1
|
successThreshold: 1
|
||||||
timeoutSeconds: 5
|
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
|
restartPolicy: Always
|
||||||
@@ -4,7 +4,7 @@ description: A Helm chart to deploy VoucherVault on Kubernetes
|
|||||||
|
|
||||||
type: application
|
type: application
|
||||||
|
|
||||||
version: 1.3.0+up1.27.4
|
version: 2.0.0+up1.27.4
|
||||||
appVersion: "1.27.4"
|
appVersion: "1.27.4"
|
||||||
|
|
||||||
maintainers:
|
maintainers:
|
||||||
|
|||||||
@@ -13,10 +13,41 @@ voucherVault:
|
|||||||
cpu: 1
|
cpu: 1
|
||||||
memory: 384Mi
|
memory: 384Mi
|
||||||
ephemeral-storage: 100Mi
|
ephemeral-storage: 100Mi
|
||||||
# TODO: Refine liness, readiness, startup probes
|
# "/" answers with a redirect for anonymous users, which httpGet treats as
|
||||||
livenessProbe: null
|
# success. The Host header must be set to 127.0.0.1 because Django's
|
||||||
readinessProbe: null
|
# ALLOWED_HOSTS only accepts 127.0.0.1 and the configured DOMAIN — probing
|
||||||
startupProbe: null
|
# 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:
|
securityContext:
|
||||||
pod:
|
pod:
|
||||||
runAsNonRoot: true
|
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
|
# 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.
|
# to the chart and its templates, including the app version.
|
||||||
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
# 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
|
# 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
|
# incremented each time you make changes to the application. Versions are not expected to
|
||||||
|
|||||||
@@ -44,6 +44,12 @@ spec:
|
|||||||
- name: "zipline-server"
|
- name: "zipline-server"
|
||||||
containerPort: 3000
|
containerPort: 3000
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
|
livenessProbe:
|
||||||
|
{{- toYaml .Values.zipline.livenessProbe | nindent 12 }}
|
||||||
|
readinessProbe:
|
||||||
|
{{- toYaml .Values.zipline.readinessProbe | nindent 12 }}
|
||||||
|
startupProbe:
|
||||||
|
{{- toYaml .Values.zipline.startupProbe | nindent 12 }}
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: zipline-volume
|
- name: zipline-volume
|
||||||
mountPath: /zipline/uploads
|
mountPath: /zipline/uploads
|
||||||
|
|||||||
@@ -7,6 +7,33 @@ config:
|
|||||||
domain: null
|
domain: null
|
||||||
maxUploadFileSize: 30m
|
maxUploadFileSize: 30m
|
||||||
zipline:
|
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:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
cpu: 0.1
|
cpu: 0.1
|
||||||
|
|||||||
Reference in new issue
Block a user