From c0803306bf89122f6fb1e4c41712e397e24cc4da Mon Sep 17 00:00:00 2001 From: jessebot Date: Thu, 23 Jan 2025 22:50:25 +0100 Subject: [PATCH 1/4] add an initial start of using mariadb as an option for the database --- charts/pixelfed/Chart.lock | 7 +++++-- charts/pixelfed/Chart.yaml | 5 +++++ charts/pixelfed/README.md | 2 ++ charts/pixelfed/charts/mariadb-20.2.2.tgz | Bin 0 -> 62889 bytes charts/pixelfed/values.yaml | 5 +++++ 5 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 charts/pixelfed/charts/mariadb-20.2.2.tgz diff --git a/charts/pixelfed/Chart.lock b/charts/pixelfed/Chart.lock index 7241f20..2e7c13f 100644 --- a/charts/pixelfed/Chart.lock +++ b/charts/pixelfed/Chart.lock @@ -5,5 +5,8 @@ dependencies: - name: valkey repository: oci://registry-1.docker.io/bitnamicharts version: 2.2.3 -digest: sha256:ca16c63a3650650ff09c9555a4f62fb6a2d54ce588ad9a87c531c685090a1138 -generated: "2025-01-23T21:44:17.516108504Z" +- name: mariadb + repository: oci://registry-1.docker.io/bitnamicharts + version: 20.2.2 +digest: sha256:ab9c547cea93017a3a65f289e1573ee936a6925d3762200bb24d6e5dc512003c +generated: "2025-01-23T22:50:10.925885+01:00" diff --git a/charts/pixelfed/Chart.yaml b/charts/pixelfed/Chart.yaml index 69aa9a9..226e519 100644 --- a/charts/pixelfed/Chart.yaml +++ b/charts/pixelfed/Chart.yaml @@ -36,3 +36,8 @@ dependencies: version: 2.2.3 repository: oci://registry-1.docker.io/bitnamicharts condition: valkey.enabled + + - name: mariadb + version: 20.2.2 + repository: oci://registry-1.docker.io/bitnamicharts + condition: mariadb.enabled diff --git a/charts/pixelfed/README.md b/charts/pixelfed/README.md index 32dec37..7862c3c 100644 --- a/charts/pixelfed/README.md +++ b/charts/pixelfed/README.md @@ -14,6 +14,7 @@ A Helm chart for deploying Pixelfed on Kubernetes | Repository | Name | Version | |------------|------|---------| +| oci://registry-1.docker.io/bitnamicharts | mariadb | 20.2.2 | | oci://registry-1.docker.io/bitnamicharts | postgresql | 16.4.5 | | oci://registry-1.docker.io/bitnamicharts | valkey | 2.2.3 | @@ -68,6 +69,7 @@ A Helm chart for deploying Pixelfed on Kubernetes | ingress.hosts[0].paths[0].pathType | string | `"ImplementationSpecific"` | | | ingress.tls | list | `[]` | | | 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/ | +| mariadb.enabled | bool | `false` | enable mariadb subchart - currently experiemental for this chart read more about the values here: https://github.com/bitnami/charts/tree/main/bitnami/mariadb | | nameOverride | string | `""` | This is to override the chart name. | | 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 | diff --git a/charts/pixelfed/charts/mariadb-20.2.2.tgz b/charts/pixelfed/charts/mariadb-20.2.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..a983469f30dfce693288215705891f387c517319 GIT binary patch literal 62889 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 Date: Thu, 23 Jan 2025 22:33:57 +0100 Subject: [PATCH 2/4] add mariadb as an option for installing pixelfed --- charts/pixelfed/README.md | 8 ++- charts/pixelfed/templates/configmap_env.yaml | 6 +++ charts/pixelfed/values.yaml | 57 +++++++++++++++----- 3 files changed, 56 insertions(+), 15 deletions(-) diff --git a/charts/pixelfed/README.md b/charts/pixelfed/README.md index 7862c3c..a4ddfda 100644 --- a/charts/pixelfed/README.md +++ b/charts/pixelfed/README.md @@ -69,7 +69,13 @@ A Helm chart for deploying Pixelfed on Kubernetes | ingress.hosts[0].paths[0].pathType | string | `"ImplementationSpecific"` | | | ingress.tls | list | `[]` | | | 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/ | -| mariadb.enabled | bool | `false` | enable mariadb subchart - currently experiemental for this chart read more about the values here: https://github.com/bitnami/charts/tree/main/bitnami/mariadb | +| mariadb.auth.database | string | `"pixelfed"` | Name for a custom database to create | +| mariadb.auth.existingSecret | string | `"new-password-secret"` | Use existing secret for password details (auth.rootPassword, auth.password, auth.replicationPassword will be ignored and picked up from this secret). The secret has to contain the keys mariadb-root-password, mariadb-replication-password and mariadb-password | +| mariadb.auth.password | string | `"newUserPassword123"` | Password for the new user. Ignored if existing secret is provided | +| mariadb.auth.replicationPassword | string | `"newReplicationPassword123"` | MariaDB replication user password. Ignored if existing secret is provided | +| mariadb.auth.rootPassword | string | `"newRootPassword123"` | Password for the root user. Ignored if existing secret is provided. | +| mariadb.auth.username | string | `"pixelfed"` | Name for a custom user to create | +| mariadb.enabled | bool | `false` | enable mariadb subchart - currently experimental for this chart read more about the values: https://github.com/bitnami/charts/tree/main/bitnami/mariadb | | nameOverride | string | `""` | This is to override the chart name. | | 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 | diff --git a/charts/pixelfed/templates/configmap_env.yaml b/charts/pixelfed/templates/configmap_env.yaml index e169d72..f3e6e7c 100644 --- a/charts/pixelfed/templates/configmap_env.yaml +++ b/charts/pixelfed/templates/configmap_env.yaml @@ -129,6 +129,12 @@ data: DB_USERNAME: postgres DB_DATABASE: postgres {{- end }} + {{- if .Values.mariadb.enabled }} + DB_PORT: {{ .Values.mariadb.primary.service.ports.mysql | quote }} + DB_HOST: {{ .Values.mariadb.fullnameOverride }} + DB_USERNAME: {{ .Values.mariadb.auth.username }} + DB_DATABASE: {{ .Values.mariadb.auth.database }} + {{- end }} # valkey (redis) {{- if .Values.valkey.enabled }} diff --git a/charts/pixelfed/values.yaml b/charts/pixelfed/values.yaml index 69242f4..dad34fd 100644 --- a/charts/pixelfed/values.yaml +++ b/charts/pixelfed/values.yaml @@ -2,10 +2,12 @@ # This is a YAML-formatted file. # Declare variables to be passed into your templates. -# -- This will set the replicaset count more information can be found here: https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/ +# -- This will set the replicaset count more information can be found here: +# https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/ replicaCount: 1 -# This sets the container image more information can be found here: https://kubernetes.io/docs/concepts/containers/images/ +# This sets the container image more information can be found here: +# https://kubernetes.io/docs/concepts/containers/images/ image: registry: ghcr.io # -- you can see the source [ghcr.io/mattlqx/docker-pixelfed](https://ghcr.io/mattlqx/docker-pixelfed) @@ -17,7 +19,9 @@ image: # so please either pin a sha tag or use dev-nging as the tag) tag: "7d1d62c8552683225456c2a552ba8ca36afb24b32f706e425310de5bf84aeab1" -# -- 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/ +# -- 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/ imagePullSecrets: [] # -- This is to override the chart name. @@ -35,7 +39,8 @@ extraEnv: [] # -- template out extra environment variables e.g. from ConfigMaps or Secrets extraEnvFrom: [] -# This section builds out the service account more information can be found here: https://kubernetes.io/docs/concepts/security/service-accounts/ +# This section builds out the service account more information can be found here: +# https://kubernetes.io/docs/concepts/security/service-accounts/ serviceAccount: # -- Specifies whether a service account should be created create: true @@ -48,11 +53,13 @@ serviceAccount: name: "" # -- This is for setting Kubernetes Annotations to a Pod. -# For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ +# For more information checkout: +# https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ podAnnotations: {} # -- This is for setting Kubernetes Labels to a Pod. -# For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ +# For more information checkout: +# https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ podLabels: {} # securityContext for the whole pixelfed pod @@ -74,11 +81,14 @@ securityContext: # drop: # - ALL -# This is for setting up a service more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/ +# This is for setting up a service more information can be found here: +# https://kubernetes.io/docs/concepts/services-networking/service/ service: - # -- This sets the service type more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types + # -- This sets the service type more information can be found here: + # https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types type: ClusterIP - # -- This sets the ports more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#field-spec-ports + # -- This sets the ports more information can be found here: + # https://kubernetes.io/docs/concepts/services-networking/service/#field-spec-ports port: 80 # -- Port to attach to on the pods. Also sets what port nginx listens on inside the container. targetPort: 8080 @@ -112,21 +122,24 @@ resources: {} # memory: 128Mi # -- 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/ +# 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/ +# 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 autoscaling: - # -- enable autoscaling. more information can be found [here](https://kubernetes.io/docs/concepts/workloads/autoscaling/) + # -- enable autoscaling. more information can be found + # [here](https://kubernetes.io/docs/concepts/workloads/autoscaling/) enabled: false # -- minimum replicas to always keep up minReplicas: 1 @@ -589,6 +602,22 @@ pixelfed: secret_access_key: "" mariadb: - # -- enable mariadb subchart - currently experiemental for this chart - # read more about the values here: https://github.com/bitnami/charts/tree/main/bitnami/mariadb + # -- enable mariadb subchart - currently experimental for this chart + # read more about the values: https://github.com/bitnami/charts/tree/main/bitnami/mariadb enabled: false + auth: + # -- Name for a custom database to create + database: "pixelfed" + # -- Name for a custom user to create + username: "pixelfed" + # -- Password for the root user. Ignored if existing secret is provided. + rootPassword: "newRootPassword123" + # -- Password for the new user. Ignored if existing secret is provided + password: "newUserPassword123" + # -- MariaDB replication user password. Ignored if existing secret is provided + replicationPassword: "newReplicationPassword123" + # -- Use existing secret for password details (auth.rootPassword, + # auth.password, auth.replicationPassword will be ignored and picked up + # from this secret). The secret has to contain the keys mariadb-root-password, + # mariadb-replication-password and mariadb-password + existingSecret: new-password-secret From 0c6cd893e3ad24365a44310cba5de8bdd56e6f73 Mon Sep 17 00:00:00 2001 From: jessebot Date: Thu, 23 Jan 2025 22:50:51 +0100 Subject: [PATCH 3/4] update chart.lock --- charts/pixelfed/Chart.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/pixelfed/Chart.lock b/charts/pixelfed/Chart.lock index 2e7c13f..09dbb6b 100644 --- a/charts/pixelfed/Chart.lock +++ b/charts/pixelfed/Chart.lock @@ -9,4 +9,4 @@ dependencies: repository: oci://registry-1.docker.io/bitnamicharts version: 20.2.2 digest: sha256:ab9c547cea93017a3a65f289e1573ee936a6925d3762200bb24d6e5dc512003c -generated: "2025-01-23T22:50:10.925885+01:00" +generated: "2025-01-23T22:50:42.4566+01:00" From 2e0455e5a8a438a4e15a08ef5d337eae98f1d6a5 Mon Sep 17 00:00:00 2001 From: jessebot Date: Thu, 23 Jan 2025 22:51:32 +0100 Subject: [PATCH 4/4] fix chart version --- charts/pixelfed/Chart.yaml | 2 +- charts/pixelfed/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/pixelfed/Chart.yaml b/charts/pixelfed/Chart.yaml index 226e519..8395e44 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.17.1 +version: 0.18.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 a4ddfda..fd588f1 100644 --- a/charts/pixelfed/README.md +++ b/charts/pixelfed/README.md @@ -1,6 +1,6 @@ # pixelfed -![Version: 0.17.1](https://img.shields.io/badge/Version-0.17.1-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.18.0](https://img.shields.io/badge/Version-0.18.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