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/README.md b/charts/pixelfed/README.md index 8c52cbc..e99b645 100644 --- a/charts/pixelfed/README.md +++ b/charts/pixelfed/README.md @@ -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. | 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 - -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 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 + +# -- 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/ autoscaling: enabled: false minReplicas: 1