- Rename Helm chart directories and dependencies from camelCase to kebab-case: - `clusterIssuer` → `cluster-issuer` - `deploymentUpdater` → `deployment-updater` - `forgejoRunner` → `forgejo-runner` - `prometheusAgent` → `prometheus-agent` - `taskfileBuild` → `taskfile-build` - `vshnPostgres` → `vshn-postgres` - Remove deprecated `hugo` and `vuepress` charts (replaced by `taskfile-build`) - Update `task` script commands (`install-chart`, `upgrade-release`) to use kebab-case names and strip hyphens for release names - Add namespace validation to `install-chart` and `upgrade-release` to ensure active namespace matches values file path - Update `.vitepress` configuration to reflect new chart names and links - Rename `.vitepress` config and theme files from `.ts` to `.mts` - Update documentation (`README.md`, `Exoscale.md`, `Infomaniak.md`, `K3s.md`, `Migration.md`, `Monitor.md`) and prompt files with new chart names - Regenerate `.tgz` packages and update `index.yaml` with new digests and timestamps - Update `odoo` chart dependencies to use `vshn-postgres` subchart name
Mint System Deployment Updater
Cluster-wide service account that can update deployments.
Integration
Forgejo Deployment action
Use this service account to make deployments to Kubernetes. The deployment action requires a kubeconfig. Export the kubeconfig with this command:
task generate-kubconfig deploy
Setup secret KUBECONFIG_DEPLOY with content of the created kubeconfig.
Here is an example of a GitHub/Forgejo action:
on:
push:
branches:
- "main"
jobs:
deploy:
name: Deploy to Kubernetes
runs-on: ubuntu-latest
steps:
- name: Install kubectl
run: |
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl
- name: Create Kubeconfig for Deployment
run: |
mkdir -p $HOME/.kube
echo "${{ secrets.KUBECONFIG_DEPLOY }}" > $HOME/.kube/config
- name: Verify kubectl version
run: ./kubectl version --client
- name: Delete existing pods
run: ./kubectl delete pods -l app=taskfile-build -n ansible-build
- name: Wait for pod to be running
run: ./kubectl wait --for=condition=Ready pod -l app=taskfile-build -n ansible-build --timeout=60s