update extra volumes to allow php config updates; also reload deployment on configmap changes

This commit is contained in:
jessebot
2025-01-19 13:40:41 +01:00
parent 1ec6aa2310
commit 967acbd85b
5 changed files with 66 additions and 13 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
@@ -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