Merge pull request #25 from small-hack/allow-updating-php-configs

update extra volumes to allow php config updates; also reload deployment on configmap changes
This commit is contained in:
Jesse Hitch
2025-01-19 13:44:54 +01:00
committed by GitHub
6 changed files with 70 additions and 16 deletions
+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 # 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: 0.10.0 version: 0.11.0
# This is the version number of the application being deployed. # This is the version number of the application being deployed.
# renovate:image=ghcr.io/mattlqx/docker-pixelfed # renovate:image=ghcr.io/mattlqx/docker-pixelfed
+4 -3
View File
@@ -1,6 +1,6 @@
# pixelfed # pixelfed
![Version: 0.10.0](https://img.shields.io/badge/Version-0.10.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.12.4-nginx](https://img.shields.io/badge/AppVersion-v0.12.4--nginx-informational?style=flat-square) ![Version: 0.11.0](https://img.shields.io/badge/Version-0.11.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.12.4-nginx](https://img.shields.io/badge/AppVersion-v0.12.4--nginx-informational?style=flat-square)
A Helm chart for deploying Pixelfed on Kubernetes A Helm chart for deploying Pixelfed on Kubernetes
@@ -52,6 +52,8 @@ A Helm chart for deploying Pixelfed on Kubernetes
| extraEnv | list | `[]` | template out extra environment variables from ConfigMaps or Secrets | | extraEnv | list | `[]` | template out extra environment variables from ConfigMaps or Secrets |
| extraEnvFrom | list | `[]` | template out extra enviornment variables | | extraEnvFrom | list | `[]` | template out extra enviornment variables |
| extraInitContainers | list | `[]` | set extra init containers | | extraInitContainers | list | `[]` | set extra init containers |
| extraVolumeMounts | list | `[]` | Additional volumeMounts on the output Deployment definition |
| extraVolumes | list | `[]` | Additional volumes on the output Deployment definition |
| fullnameOverride | string | `""` | This is to override the chart name, but used in more places | | fullnameOverride | string | `""` | This is to override the chart name, but used in more places |
| image.pullPolicy | string | `"IfNotPresent"` | This sets the pull policy for images. | | image.pullPolicy | string | `"IfNotPresent"` | This sets the pull policy for images. |
| image.registry | string | `"ghcr.io"` | | | image.registry | string | `"ghcr.io"` | |
@@ -68,6 +70,7 @@ A Helm chart for deploying Pixelfed on Kubernetes
| 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/ | | 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. | | nameOverride | string | `""` | This is to override the chart name. |
| nodeSelector | object | `{}` | put the pixelfed pod on a specific node/nodegroup | | nodeSelector | object | `{}` | put the pixelfed pod on a specific node/nodegroup |
| phpConfigs | object | `{}` | PHP Configuration files Will be injected in /usr/local/etc/php-fpm.d |
| pixelfed.account_deletion | bool | `true` | Enable account deletion (may be a requirement in some jurisdictions) | | pixelfed.account_deletion | bool | `true` | Enable account deletion (may be a requirement in some jurisdictions) |
| pixelfed.activity_pub.enabled | bool | `false` | enable ActivityPub | | pixelfed.activity_pub.enabled | bool | `false` | enable ActivityPub |
| pixelfed.activity_pub.inbox | bool | `false` | | | pixelfed.activity_pub.inbox | bool | `false` | |
@@ -194,8 +197,6 @@ A Helm chart for deploying Pixelfed on Kubernetes
| valkey.tls.authClients | bool | `true` | | | valkey.tls.authClients | bool | `true` | |
| valkey.tls.autoGenerated | bool | `false` | | | valkey.tls.autoGenerated | bool | `false` | |
| valkey.tls.enabled | bool | `false` | | | valkey.tls.enabled | bool | `false` | |
| volumeMounts | list | `[]` | Additional volumeMounts on the output Deployment definition. |
| volumes | list | `[]` | Additional volumes on the output Deployment definition. |
---------------------------------------------- ----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.11.0](https://github.com/norwoodj/helm-docs/releases/v1.11.0) Autogenerated from chart metadata using [helm-docs v1.11.0](https://github.com/norwoodj/helm-docs/releases/v1.11.0)
@@ -0,0 +1,12 @@
{{- if .Values.phpConfigs -}}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "pixelfed.fullname" . }}-phpconfig
data:
{{- range $key, $value := .Values.phpConfigs }}
{{ $key }}: |-
{{- $value | nindent 4 }}
{{- end }}
{{- end }}
+31 -8
View File
@@ -14,10 +14,13 @@ spec:
revisionHistoryLimit: {{ .Values.revisionHistoryLimit }} revisionHistoryLimit: {{ .Values.revisionHistoryLimit }}
template: template:
metadata: metadata:
{{- with .Values.podAnnotations }}
annotations: annotations:
{{- toYaml . | nindent 8 }} # reload deployment if config files change
{{- end }} php-config-hash: {{ toJson .Values.phpConfigs | sha256sum }}
checksum/config: {{ include (print $.Template.BasePath "/configmap_env.yaml") . | sha256sum }}
{{- with .Values.podAnnotations }}
{{- toYaml . | nindent 8 }}
{{- end }}
labels: labels:
{{- include "pixelfed.labels" . | nindent 8 }} {{- include "pixelfed.labels" . | nindent 8 }}
{{- with .Values.podLabels }} {{- with .Values.podLabels }}
@@ -228,19 +231,39 @@ spec:
livenessProbe: livenessProbe:
{{- toYaml . | nindent 12 }} {{- toYaml . | nindent 12 }}
{{- end }} {{- end }}
{{- with .Values.readinessProbe }} {{- with .Values.readinessProbe }}
readinessProbe: readinessProbe:
{{- toYaml . | nindent 12 }} {{- toYaml . | nindent 12 }}
{{- end }} {{- end }}
{{- with .Values.resources }}
resources: resources:
{{- toYaml .Values.resources | nindent 12 }}
{{- with .Values.volumeMounts }}
volumeMounts:
{{- toYaml . | nindent 12 }} {{- toYaml . | nindent 12 }}
{{- end }} {{- end }}
{{- with .Values.volumes }}
{{- if or .Values.extraVolumeMounts .Values.phpConfigs }}
volumeMounts:
{{- with .Values.extraVolumeMounts }}
{{- toYaml . | nindent 12 }}
{{- end }}
{{- range $key, $value := .Values.phpConfigs }}
- name: phpconfig
mountPath: {{ "/usr/local/etc/php-fpm.d/%s" $key | quote }}
subPath: {{ $key }}
{{- end }}
{{- end }}{{/* end volumeMounts */}}
{{- if or .Values.phpConfigs .Values.extraVolumes }}
volumes: volumes:
{{- toYaml . | nindent 8 }} {{- with .Values.extraVolumes }}
{{- toYaml . | nindent 8 }}
{{- end }}
{{- if .Values.phpConfigs }}
- name: phpconfig
configMap:
name: {{ template "pixelfed.fullname" . }}-phpconfig
{{- end }}
{{- end }} {{- end }}
{{- with .Values.nodeSelector }} {{- with .Values.nodeSelector }}
nodeSelector: nodeSelector:
+22 -4
View File
@@ -127,15 +127,15 @@ autoscaling:
targetCPUUtilizationPercentage: 80 targetCPUUtilizationPercentage: 80
# targetMemoryUtilizationPercentage: 80 # targetMemoryUtilizationPercentage: 80
# -- Additional volumes on the output Deployment definition. # -- Additional volumes on the output Deployment definition
volumes: [] extraVolumes: []
# - name: foo # - name: foo
# secret: # secret:
# secretName: mysecret # secretName: mysecret
# optional: false # optional: false
# -- Additional volumeMounts on the output Deployment definition. # -- Additional volumeMounts on the output Deployment definition
volumeMounts: [] extraVolumeMounts: []
# - name: foo # - name: foo
# mountPath: "/etc/foo" # mountPath: "/etc/foo"
# readOnly: true # readOnly: true
@@ -266,6 +266,24 @@ postgresql:
global: global:
storageClass: "" storageClass: ""
# -- PHP Configuration files
# Will be injected in /usr/local/etc/php-fpm.d
phpConfigs: {}
# www.conf: |-
# [www]
# user = www-data
# group = www-data
# www.conf: |-
# [www]
# security.limit_extensions = .php .css .js .html
# listen = 127.0.0.1:9000
# pm = dynamic
# pm.max_children = 350
# pm.start_servers = 100
# pm.min_spare_servers = 100
# pm.max_spare_servers = 280
pixelfed: pixelfed:
db: db:
# -- options: sqlite mysql pgsql sqlsrv # -- options: sqlite mysql pgsql sqlsrv