From 295aa694d72089e8a52f3c28b157dd94db68e470 Mon Sep 17 00:00:00 2001 From: jessebot Date: Sat, 18 Jan 2025 20:20:33 +0100 Subject: [PATCH] make liveness and readiness probes optional and further configurable --- README.md | 2 ++ charts/pixelfed/Chart.yaml | 2 +- charts/pixelfed/templates/deployment.yaml | 8 ++++-- charts/pixelfed/values.yaml | 35 +++++++++++++---------- 4 files changed, 29 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 942eed6..8d5a89d 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,11 @@ A helm chart to setup [Pixelfed](https://pixelfed.org/). Uses matt's docker [ima ## Features - includes bitnami subcharts for [valkey](https://github.com/bitnami/charts/blob/main/bitnami/valkey/README.md#parameters) (redis) and [postgresql](https://github.com/bitnami/charts/blob/main/bitnami/postgresql/README.md#parameters) (database) + - but you can also bring your own valkey, redis, or postgresql database - helm parameter docs autogenerated via helm-docs - use existing Secrets for valkey, postgresql, and smtp - RenovateBot keeps the subcharts and docker image up to date +- configurable liveness and readiness probes ## TLDR diff --git a/charts/pixelfed/Chart.yaml b/charts/pixelfed/Chart.yaml index a91bd78..eb32dd2 100644 --- a/charts/pixelfed/Chart.yaml +++ b/charts/pixelfed/Chart.yaml @@ -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: 0.4.2 +version: 0.5.0 # This is the version number of the application being deployed. # renovate:image=ghcr.io/mattlqx/docker-pixelfed diff --git a/charts/pixelfed/templates/deployment.yaml b/charts/pixelfed/templates/deployment.yaml index 8764ec3..898f60e 100644 --- a/charts/pixelfed/templates/deployment.yaml +++ b/charts/pixelfed/templates/deployment.yaml @@ -335,10 +335,14 @@ spec: - name: DB_APPLY_NEW_MIGRATIONS_AUTOMATICALLY value: "{{ .Values.pixelfed.db_apply_new_migrations_automatically }}" + {{- with .Values.livenessProbe }} livenessProbe: - {{- toYaml .Values.livenessProbe | nindent 12 }} + {{- toYaml . | nindent 12 }} + {{- end }} + {{- with .Values.readinessProbe }} readinessProbe: - {{- toYaml .Values.readinessProbe | nindent 12 }} + {{- toYaml . | nindent 12 }} + {{- end }} resources: {{- toYaml .Values.resources | nindent 12 }} {{- with .Values.volumeMounts }} diff --git a/charts/pixelfed/values.yaml b/charts/pixelfed/values.yaml index 2ec55e1..f2bccf0 100644 --- a/charts/pixelfed/values.yaml +++ b/charts/pixelfed/values.yaml @@ -59,10 +59,14 @@ service: # -- Port to attach to on the pods. Also sets what port nginx listens on inside the container. targetPort: 80 -# This block is for setting up the ingress for more information can be found here: https://kubernetes.io/docs/concepts/services-networking/ingress/ +# This block is for setting up the ingress for more information can be found here: +# https://kubernetes.io/docs/concepts/services-networking/ingress/ ingress: + # -- enable deploy an Ingress resource - network traffic from outside the cluster enabled: false + # -- ingress class name, e.g. nginx className: "" + # annotations to apply to the Ingress resource annotations: {} hosts: - host: chart-example.local @@ -74,11 +78,8 @@ ingress: # hosts: # - chart-example.local +# -- set resource limits and requests for cpu, memory, and ephemeral storage resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. # limits: # cpu: 100m # memory: 128Mi @@ -86,18 +87,22 @@ resources: {} # cpu: 100m # memory: 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/ -livenessProbe: - httpGet: - path: /api/service/health-check - port: http +# -- This is to setup the liveness probe +# more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ +livenessProbe: {} + # httpGet: + # path: /api/service/health-check + # port: http -readinessProbe: - httpGet: - path: /api/service/health-check - port: http +# -- This is to setup the readiness probe +# more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ +readinessProbe: {} + # httpGet: + # path: /api/service/health-check + # port: http -# This section is for setting up autoscaling more information can be found here: https://kubernetes.io/docs/concepts/workloads/autoscaling/ +# This section is for setting up autoscaling +# more information can be found here: https://kubernetes.io/docs/concepts/workloads/autoscaling/ autoscaling: enabled: false minReplicas: 1