Merge pull request #16 from small-hack/disable-liveness-readiness-by-default

make liveness and readiness probes optional and further configurable
This commit is contained in:
Jesse Hitch
2025-01-18 20:22:28 +01:00
committed by GitHub
5 changed files with 35 additions and 26 deletions
+2
View File
@@ -8,9 +8,11 @@ This chart is still in a testing phase and may not be fully stable yet.
## 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
+1 -1
View File
@@ -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
+6 -8
View File
@@ -1,6 +1,6 @@
# pixelfed
![Version: 0.4.2](https://img.shields.io/badge/Version-0.4.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.12.3-nginx](https://img.shields.io/badge/AppVersion-v0.12.3--nginx-informational?style=flat-square)
![Version: 0.5.0](https://img.shields.io/badge/Version-0.5.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.12.3-nginx](https://img.shields.io/badge/AppVersion-v0.12.3--nginx-informational?style=flat-square)
A Helm chart for deploying Pixelfed on Kubernetes
@@ -55,14 +55,13 @@ A Helm chart for deploying Pixelfed on Kubernetes
| image.tag | string | `""` | Overrides the image tag whose default is the chart appVersion. |
| imagePullSecrets | list | `[]` | This is for the secretes for pulling an image from a private repository more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ |
| ingress.annotations | object | `{}` | |
| ingress.className | string | `""` | |
| ingress.enabled | bool | `false` | |
| ingress.className | string | `""` | ingress class name, e.g. nginx |
| ingress.enabled | bool | `false` | enable deploy an Ingress resource - network traffic from outside the cluster |
| ingress.hosts[0].host | string | `"chart-example.local"` | |
| ingress.hosts[0].paths[0].path | string | `"/"` | |
| ingress.hosts[0].paths[0].pathType | string | `"ImplementationSpecific"` | |
| ingress.tls | list | `[]` | |
| livenessProbe.httpGet.path | string | `"/api/service/health-check"` | |
| livenessProbe.httpGet.port | string | `"http"` | |
| livenessProbe | object | `{}` | 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/ |
| nameOverride | string | `""` | This is to override the chart name. |
| nodeSelector | object | `{}` | |
| pixelfed.account_deletion | bool | `true` | Enable account deletion (may be a requirement in some jurisdictions) |
@@ -157,10 +156,9 @@ A Helm chart for deploying Pixelfed on Kubernetes
| postgresql.enabled | bool | `true` | enable the bundled [postgresql sub chart from Bitnami](https://github.com/bitnami/charts/blob/main/bitnami/postgresql/README.md#parameters). Must set to true if externalDatabase.enabled=false |
| postgresql.fullnameOverride | string | `"postgresql"` | |
| postgresql.global.storageClass | string | `""` | |
| readinessProbe.httpGet.path | string | `"/api/service/health-check"` | |
| readinessProbe.httpGet.port | string | `"http"` | |
| readinessProbe | object | `{}` | 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/ |
| replicaCount | int | `1` | This will set the replicaset count more information can be found here: https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/ |
| resources | object | `{}` | |
| resources | object | `{}` | set resource limits and requests for cpu, memory, and ephemeral storage |
| securityContext | object | `{}` | |
| service.port | int | `80` | This sets the ports more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#field-spec-ports |
| service.targetPort | int | `80` | Port to attach to on the pods. Also sets what port nginx listens on inside the container. |
+6 -2
View File
@@ -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 }}
+20 -15
View File
@@ -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