From 76b1e246fde193a8396ef1bc420dbd073c3640a6 Mon Sep 17 00:00:00 2001 From: jessebot Date: Fri, 24 Jan 2025 07:56:51 +0100 Subject: [PATCH] add more documentation to the chart itself --- charts/pixelfed/README.md | 117 +++++++++++++++++++++++++++-- charts/pixelfed/README.md.gotmpl | 123 +++++++++++++++++++++++++++++++ 2 files changed, 235 insertions(+), 5 deletions(-) create mode 100644 charts/pixelfed/README.md.gotmpl diff --git a/charts/pixelfed/README.md b/charts/pixelfed/README.md index ef38624..32220bf 100644 --- a/charts/pixelfed/README.md +++ b/charts/pixelfed/README.md @@ -1,9 +1,90 @@ -# pixelfed +# Pixelfed Helm Chart -![Version: 0.19.0](https://img.shields.io/badge/Version-0.19.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.19.0](https://img.shields.io/badge/Version-0.19.0-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 +* [TLDR](#tldr) + * [Preparation for installation](#preparation-for-installation) + * [Actually installing the chart](#actually-installing-the-chart) +* [Maintainers](#maintainers) +* [Requirements](#requirements) + * [Sources for included subcharts](#sources-for-included-subcharts) +* [How to use persistence](#how-to-use-persistence) +* [Values (helm parameters from values.yaml)](#values-helm-parameters-from-valuesyaml) + +## TLDR + +### Preparation for installation + +```bash +# add the chart repo to your helm repos +helm repo add pixelfed https://small-hack.github.io/pixelfed-chart + +# download the values.yaml and edit it with your own values such as YOUR hostname +# especially important are pixelfed.app.domain and pixelfed.mail settings +helm show values pixelfed/pixelfed > values.yaml +``` + +Your `values.yaml` will need at least the following to start: + +```yaml +pixelfed: + # app specific settings + app: + # -- This key is used by the Illuminate encrypter service and should + # be set to a random, 32 character string, otherwise these encrypted strings + # will not be safe. If you don't generate one, we'll generate one for you + # however it will change everytime you upgrade the helm chart, so it should + # only be used for testing. In production, please set this, or pixelfed.app.existingSecret + key: "" + # -- use an existing Kuberentes Secret to store the app key + # If set, ignores pixelfed.app.key + existingSecret: "" + # -- key in pixelfed.app.existingSecret to use for the app key + existingSecretKey: "" + # -- The name of your server/instance + name: "Pixelfed" + # -- change this to the domain of your pixelfed instance + url: "https://localhost" + # -- The domain of your server, without https:// + domain: "" + + # Mail Configuration (Post-Installer) + mail: + # -- mail server hostname + host: smtp.mailtrap.io + # -- mail server username + username: "" + # -- mail server password + password: "" + # -- address to use for sending emails + from_address: "pixelfed@example.com" + # -- name to use for sending emails + from_name: "Pixelfed" + # -- name of an existing Kubernetes Secret for mail credentials + existingSecret: "" + # keys in existing secret + existingSecretKeys: + # -- key in existing Kubernetes Secret for host. If set, ignores mail.host + host: "" + # -- key in existing Kubernetes Secret for port. If set, ignores mail.port + port: "" + # -- key in existing Kubernetes Secret for username. If set, ignores mail.username + username: "" + # -- key in existing Kubernetes Secret for password. If set, ignores mail.password + password: "" +``` + +### Actually installing the chart + +```bash +# install the chart +helm install --namespace pixelfed --create-namespace pixelfed/pixelfed --values values.yaml +``` + +## Maintainers + ## Maintainers | Name | Email | Url | @@ -12,12 +93,41 @@ A Helm chart for deploying Pixelfed on Kubernetes ## Requirements +These are all subcharts that you can choose to install, but you can also bring your own: + | 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 | +### Sources for included subcharts + +- https://github.com/bitnami/charts/tree/main/bitnami/valkey +- https://github.com/bitnami/charts/tree/main/bitnami/mariadb +- https://github.com/bitnami/charts/tree/main/bitnami/postgresql + +## How to use persistence + +This chart has the option to use PVCs (Persistent Volume Claims) for storing data on pod restarts. + +```yaml +persistence: + # -- enable persistence for the pixelfed pod + enabled: false + # -- storage class name + storageClassName: "" + # -- size of the persistent volume claim to create. Tgnored if persistence.existingClaim is set + storage: 2Gi + # -- accessMode + accessModes: + - ReadWriteOnce + # -- using an existing PVC instead of creating one with this chart + existingClaim: "" +``` + +## Values (helm parameters from values.yaml) + ## Values | Key | Type | Default | Description | @@ -235,6 +345,3 @@ A Helm chart for deploying Pixelfed on Kubernetes | valkey.tls.authClients | bool | `true` | | | valkey.tls.autoGenerated | bool | `false` | | | valkey.tls.enabled | bool | `false` | | - ----------------------------------------------- -Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2) diff --git a/charts/pixelfed/README.md.gotmpl b/charts/pixelfed/README.md.gotmpl new file mode 100644 index 0000000..5fbe516 --- /dev/null +++ b/charts/pixelfed/README.md.gotmpl @@ -0,0 +1,123 @@ +# Pixelfed Helm Chart + +{{ template "chart.versionBadge" . }} {{ template "chart.appVersionBadge" . }} + +{{ template "chart.description" . }} + +* [TLDR](#tldr) + * [Preparation for installation](#preparation-for-installation) + * [Actually installing the chart](#actually-installing-the-chart) +* [Maintainers](#maintainers) +* [Requirements](#requirements) + * [Sources for included subcharts](#sources-for-included-subcharts) +* [How to use persistence](#how-to-use-persistence) +* [Values (helm parameters from values.yaml)](#values-helm-parameters-from-valuesyaml) + +## TLDR + +### Preparation for installation + +```bash +# add the chart repo to your helm repos +helm repo add pixelfed https://small-hack.github.io/pixelfed-chart + +# download the values.yaml and edit it with your own values such as YOUR hostname +# especially important are pixelfed.app.domain and pixelfed.mail settings +helm show values pixelfed/pixelfed > values.yaml +``` + +Your `values.yaml` will need at least the following to start: + +```yaml +pixelfed: + # app specific settings + app: + # -- This key is used by the Illuminate encrypter service and should + # be set to a random, 32 character string, otherwise these encrypted strings + # will not be safe. If you don't generate one, we'll generate one for you + # however it will change everytime you upgrade the helm chart, so it should + # only be used for testing. In production, please set this, or pixelfed.app.existingSecret + key: "" + # -- use an existing Kuberentes Secret to store the app key + # If set, ignores pixelfed.app.key + existingSecret: "" + # -- key in pixelfed.app.existingSecret to use for the app key + existingSecretKey: "" + # -- The name of your server/instance + name: "Pixelfed" + # -- change this to the domain of your pixelfed instance + url: "https://localhost" + # -- The domain of your server, without https:// + domain: "" + + # Mail Configuration (Post-Installer) + mail: + # -- mail server hostname + host: smtp.mailtrap.io + # -- mail server username + username: "" + # -- mail server password + password: "" + # -- address to use for sending emails + from_address: "pixelfed@example.com" + # -- name to use for sending emails + from_name: "Pixelfed" + # -- name of an existing Kubernetes Secret for mail credentials + existingSecret: "" + # keys in existing secret + existingSecretKeys: + # -- key in existing Kubernetes Secret for host. If set, ignores mail.host + host: "" + # -- key in existing Kubernetes Secret for port. If set, ignores mail.port + port: "" + # -- key in existing Kubernetes Secret for username. If set, ignores mail.username + username: "" + # -- key in existing Kubernetes Secret for password. If set, ignores mail.password + password: "" +``` + +### Actually installing the chart + +```bash +# install the chart +helm install --namespace pixelfed --create-namespace pixelfed/pixelfed --values values.yaml +``` + +## Maintainers + +{{ template "chart.maintainersSection" . }} + +## Requirements + +These are all subcharts that you can choose to install, but you can also bring your own: + +{{ template "chart.requirementsTable" . }} + +### Sources for included subcharts + +- https://github.com/bitnami/charts/tree/main/bitnami/valkey +- https://github.com/bitnami/charts/tree/main/bitnami/mariadb +- https://github.com/bitnami/charts/tree/main/bitnami/postgresql + +## How to use persistence + +This chart has the option to use PVCs (Persistent Volume Claims) for storing data on pod restarts. + +```yaml +persistence: + # -- enable persistence for the pixelfed pod + enabled: false + # -- storage class name + storageClassName: "" + # -- size of the persistent volume claim to create. Tgnored if persistence.existingClaim is set + storage: 2Gi + # -- accessMode + accessModes: + - ReadWriteOnce + # -- using an existing PVC instead of creating one with this chart + existingClaim: "" +``` + +## Values (helm parameters from values.yaml) + +{{ template "chart.valuesSection" . }}