This repository contains a collection of Helm charts. The charts are automatically packaged and published to GitHub Pages, making it easy to use them in your Kubernetes clusters.
Currently, this repository includes the following chart:
- postgresql: A Helm chart to deploy PostgreSQL with optional backup to Nextcloud.
To use these charts in your Kubernetes cluster, follow these steps:
-
Add this Helm repository to your Helm installation:
helm repo add l4r-s-charts https://l4r-s.github.io/helm-charts/
-
Update your local Helm chart repository cache:
helm repo update
-
Install a chart, for example, the PostgreSQL chart:
helm install my-postgres l4r-s-charts/postgresql
The PostgreSQL chart deploys a PostgreSQL database with the following features:
- Configurable resource requests and limits
- Persistent volume claim for data storage
- Optional backup to Nextcloud using a CronJob
To configure the PostgreSQL deployment, you can override the default values in values.yaml
. Here are some important configuration options:
secret_name
: Name of the Kubernetes secret containing PostgreSQL credentialsdb_name
: Name of the PostgreSQL database to createstorage_size
: Size of the persistent volume claimimage
: PostgreSQL Docker image to useresources
: CPU and memory requests and limitsenable_backup
: Enable or disable the backup CronJobbackup_schedule
: Cron schedule for backupskeepBackups
: Number of backups to retain in Nextcloudnextcloud
: Configuration for Nextcloud backup destination
For more details on configuration options, please refer to the values.yaml
file in the postgresql
directory.
Before deploying the PostgreSQL chart, you need to create two Kubernetes secrets:
-
PostgreSQL credentials:
kubectl create secret generic postgres-secret --from-literal=postgres-username=root --from-literal=postgres-password=password -n <namespace>
-
Nextcloud credentials (if using backup feature):
kubectl create secret generic nextcloud-credentials --from-literal=username=<your-nextcloud-username> --from-literal=password=<your-nextcloud-password> --namespace <your-namespace>
To contribute to this repository:
- Fork the repository
- Create a new branch for your changes
- Make your changes and commit them
- Push your changes to your fork
- Create a pull request
This repository uses GitHub Actions to automatically package and deploy the Helm charts to GitHub Pages. When changes are pushed to the main
branch, the workflow will:
- Check out the repository
- Set up Helm
- Package all Helm charts in the repository
- Generate a Helm repository index
- Deploy the packaged charts and index to GitHub Pages
The packaged charts are then available at https://l4r-s.github.io/helm-charts/
.
This project is licensed under the MIT License.