diff --git a/charts/pixelfed/Chart.yaml b/charts/pixelfed/Chart.yaml index 38ff7f7..09441d8 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.2.2 +version: 0.3.2 # 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 1ccbfc5..52f0a58 100644 --- a/charts/pixelfed/README.md +++ b/charts/pixelfed/README.md @@ -1,6 +1,6 @@ # pixelfed -![Version: 0.2.2](https://img.shields.io/badge/Version-0.2.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.3.2](https://img.shields.io/badge/Version-0.3.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) A Helm chart for deploying Pixelfed on Kubernetes @@ -61,7 +61,7 @@ A Helm chart for deploying Pixelfed on Kubernetes | ingress.hosts[0].paths[0].path | string | `"/"` | | | ingress.hosts[0].paths[0].pathType | string | `"ImplementationSpecific"` | | | ingress.tls | list | `[]` | | -| livenessProbe.httpGet.path | string | `"/"` | | +| livenessProbe.httpGet.path | string | `"/api/service/health-check"` | | | livenessProbe.httpGet.port | string | `"http"` | | | nameOverride | string | `""` | This is to override the chart name. | | nodeSelector | object | `{}` | | @@ -156,12 +156,13 @@ A Helm chart for deploying Pixelfed on Kubernetes | podSecurityContext | object | `{}` | | | postgresql.enabled | bool | `true` | enable the bundled postgresql sub chart from Bitnami. Must set to true if externalDatabase.enabled=false | | postgresql.fullnameOverride | string | `"postgresql"` | | -| readinessProbe.httpGet.path | string | `"/"` | | +| readinessProbe.httpGet.path | string | `"/api/service/health-check"` | | | readinessProbe.httpGet.port | string | `"http"` | | | 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 | `{}` | | | 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. | | service.type | string | `"ClusterIP"` | This sets the service type more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types | | serviceAccount.annotations | object | `{}` | Annotations to add to the service account | | serviceAccount.automount | bool | `true` | Automatically mount a ServiceAccount's API credentials? | @@ -171,21 +172,22 @@ A Helm chart for deploying Pixelfed on Kubernetes | valkey.auth.enabled | bool | `true` | | | valkey.auth.existingSecret | string | `""` | | | valkey.auth.existingSecretPasswordKey | string | `"password"` | | -| valkey.auth.metrics.enabled | bool | `false` | | -| valkey.auth.persistentVolumeClaimRetentionPolicy.enabled | bool | `true` | | -| valkey.auth.persistentVolumeClaimRetentionPolicy.whenDeleted | string | `"Retain"` | | -| valkey.auth.persistentVolumeClaimRetentionPolicy.whenScaled | string | `"Retain"` | | -| valkey.auth.primary.persistence.enabled | bool | `true` | | -| valkey.auth.primary.persistence.existingClaim | string | `""` | | -| valkey.auth.replica.persistence.enabled | bool | `true` | | -| valkey.auth.replica.persistence.existingClaim | string | `""` | | -| valkey.auth.resourcesPreset | string | `"small"` | | -| valkey.auth.tls.authClients | bool | `true` | | -| valkey.auth.tls.autoGenerated | bool | `false` | | -| valkey.auth.tls.enabled | bool | `false` | | | valkey.enabled | bool | `true` | enable the bundled valkey sub chart from Bitnami. Must set to true if externalValkey.enabled=false | | valkey.fullnameOverride | string | `"valkey"` | | | valkey.global.storageClass | string | `""` | | +| valkey.metrics.enabled | bool | `false` | we use a grafana exporter that logs into valkey directly, but you can enable this if you don't use that | +| valkey.persistentVolumeClaimRetentionPolicy.enabled | bool | `true` | | +| valkey.persistentVolumeClaimRetentionPolicy.whenDeleted | string | `"Retain"` | | +| valkey.persistentVolumeClaimRetentionPolicy.whenScaled | string | `"Retain"` | | +| valkey.primary.disableCommands | list | `["FLUSHALL"]` | Laravel requires the ability to call FLUSHDB, which is disabled by default | +| valkey.primary.persistence.enabled | bool | `true` | | +| valkey.primary.persistence.existingClaim | string | `""` | | +| valkey.replica.persistence.enabled | bool | `true` | | +| valkey.replica.persistence.existingClaim | string | `""` | | +| valkey.resourcesPreset | string | `"small"` | definitions: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15 Options: nano, micro, small, medium, large, xlarge, 2xlarge default: nano | +| valkey.tls.authClients | bool | `true` | | +| valkey.tls.autoGenerated | 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. | diff --git a/charts/pixelfed/templates/configmap.yaml b/charts/pixelfed/templates/configmap.yaml index 43f1948..4a9da0a 100644 --- a/charts/pixelfed/templates/configmap.yaml +++ b/charts/pixelfed/templates/configmap.yaml @@ -8,6 +8,7 @@ data: # app config vars APP_NAME={{ .Values.pixelfed.app.name }} APP_ENV={{ .Values.pixelfed.app.env }} + APP_PORT={{ .Values.service.targetPort }} APP_URL={{ .Values.pixelfed.app.url }} APP_LOCALE={{ .Values.pixelfed.app.locale }} {{- with .Values.pixelfed.app.domain }} diff --git a/charts/pixelfed/templates/deployment.yaml b/charts/pixelfed/templates/deployment.yaml index c53cbd6..615b3ce 100644 --- a/charts/pixelfed/templates/deployment.yaml +++ b/charts/pixelfed/templates/deployment.yaml @@ -38,7 +38,7 @@ spec: imagePullPolicy: {{ .Values.image.pullPolicy }} ports: - name: http - containerPort: {{ .Values.service.port }} + containerPort: {{ .Values.service.targetPort }} protocol: TCP env: # app data @@ -46,6 +46,8 @@ spec: value: {{ .Values.pixelfed.app.name }} - name: APP_ENV value: {{ .Values.pixelfed.app.env }} + - name: APP_PORT + value: {{ .Values.service.targetPort | quote}} - name: APP_URL value: {{ .Values.pixelfed.app.url }} - name: APP_LOCALE diff --git a/charts/pixelfed/templates/secret_mail.yaml b/charts/pixelfed/templates/secret_mail.yaml index 7bd73cc..95253fc 100644 --- a/charts/pixelfed/templates/secret_mail.yaml +++ b/charts/pixelfed/templates/secret_mail.yaml @@ -1,4 +1,4 @@ -{{- if not .Values.externalDatabase.existingSecret }} +{{- if not .Values.pixelfed.mail.existingSecret }} --- apiVersion: v1 kind: Secret @@ -7,6 +7,10 @@ metadata: data: host: {{ .Values.pixelfed.mail.host }} port: {{ .Values.pixelfed.mail.port }} + {{- if .Values.pixelfed.mail.username }} username: {{ .Values.pixelfed.mail.username }} + {{- end }} + {{- if .Values.pixelfed.mail.password }} password: {{ .Values.pixelfed.mail.password }} + {{- end }} {{- end }} diff --git a/charts/pixelfed/templates/service.yaml b/charts/pixelfed/templates/service.yaml index 9b85ad5..d5a4d0f 100644 --- a/charts/pixelfed/templates/service.yaml +++ b/charts/pixelfed/templates/service.yaml @@ -8,7 +8,7 @@ spec: type: {{ .Values.service.type }} ports: - port: {{ .Values.service.port }} - targetPort: http + targetPort: {{ .Values.service.targetPort }} protocol: TCP name: http selector: diff --git a/charts/pixelfed/values.yaml b/charts/pixelfed/values.yaml index 202b1a6..37e95fa 100644 --- a/charts/pixelfed/values.yaml +++ b/charts/pixelfed/values.yaml @@ -56,6 +56,8 @@ service: type: ClusterIP # -- 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: 80 # This block is for setting up the ingress for more information can be found here: https://kubernetes.io/docs/concepts/services-networking/ingress/ ingress: @@ -87,12 +89,12 @@ resources: {} # 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: / + path: /api/service/health-check port: http readinessProbe: httpGet: - path: / + 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/ @@ -185,38 +187,42 @@ valkey: enabled: true existingSecret: "" existingSecretPasswordKey: "password" - # TLS settings - tls: - enabled: false - authClients: true - autoGenerated: false + + # TLS settings + tls: + enabled: false + authClients: true + autoGenerated: false - # primary (control plane) configuration - primary: - persistence: - enabled: true - existingClaim: "" - - # valkey replica configuration - replica: - persistence: - enabled: true - existingClaim: "" - - # persistnent volume retention policy for the StatefulSet - persistentVolumeClaimRetentionPolicy: + # primary (control plane) configuration + primary: + # -- Laravel requires the ability to call FLUSHDB, which is disabled by default + disableCommands: + - FLUSHALL + persistence: enabled: true - whenScaled: Retain - whenDeleted: Retain + existingClaim: "" - metrics: - # we use a grafana exporter that logs into valkey directly - enabled: false + # valkey replica configuration + replica: + persistence: + enabled: true + existingClaim: "" - # definitions: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15 - # Options: nano, micro, small, medium, large, xlarge, 2xlarge - # default: nano - resourcesPreset: "small" + # persistnent volume retention policy for the StatefulSet + persistentVolumeClaimRetentionPolicy: + enabled: true + whenScaled: Retain + whenDeleted: Retain + + metrics: + # -- we use a grafana exporter that logs into valkey directly, but you can enable this if you don't use that + enabled: false + + # -- definitions: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15 + # Options: nano, micro, small, medium, large, xlarge, 2xlarge + # default: nano + resourcesPreset: "small" postgresql: