diff --git a/charts/pixelfed/Chart.lock b/charts/pixelfed/Chart.lock index 7241f20..09dbb6b 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:42.4566+01:00" diff --git a/charts/pixelfed/Chart.yaml b/charts/pixelfed/Chart.yaml index 69aa9a9..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 @@ -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..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 @@ -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,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.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/charts/mariadb-20.2.2.tgz b/charts/pixelfed/charts/mariadb-20.2.2.tgz new file mode 100644 index 0000000..a983469 Binary files /dev/null and b/charts/pixelfed/charts/mariadb-20.2.2.tgz differ 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 a4b4606..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 @@ -587,3 +600,24 @@ pixelfed: access_key_id: "" # -- key in existing Kubernetes Secret for secret_access_key. If set, ignores s3.secret_access_key secret_access_key: "" + +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