feat(helm): rename charts to kebab-case and update documentation

- 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
This commit is contained in:
Janik von Rotz committed 2026-10-05 17:59:26 +02:00
1 parent d764da5b5a
commit 86a36aa9b0
90 files changed
+897 -616

No files matched your search

+1 -1
View File
@@ -7,7 +7,7 @@ manifest.*
.obsidian/graph.json
.obsidian/workspace.json
odoo/charts
prometheusAgent/charts
prometheus-agent/charts
.env
index.md
values
@@ -13,6 +13,20 @@ export default defineConfig({
},
nav: [
{ text: "Home", link: "/" },
{
text: "Charts",
items: [
{ text: "cluster-issuer", link: "/cluster-issuer/README.html" },
{ text: "deployment-updater", link: "/deployment-updater/README.html" },
{ text: "forgejo-runner", link: "/forgejo-runner/README.html" },
{ text: "nextcloud", link: "/nextcloud/README.html" },
{ text: "odoo", link: "/odoo/README.html" },
{ text: "postgres", link: "/postgres/README.html" },
{ text: "prometheus-agent", link: "/prometheus-agent/README.html" },
{ text: "taskfile-build", link: "/taskfile-build/README.html" },
{ text: "vshn-postgres", link: "/vshn-postgres/README.html" },
],
},
{ text: "Odoo Build", link: "https://odoo.build/" },
{ text: "Mint System", link: "https://www.mint-system.ch/" },
],
File renamed without changes.
+3 -3
View File
@@ -7,11 +7,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
## [Unreleased]
### Added
- Added `task generate-kubconfig <name>` command to generate kubeconfig files for deploymentUpdater service accounts
- Added `task generate-kubconfig <name>` command to generate kubeconfig files for deployment-updater service accounts
- Added `show-cluster` command to display the active cluster name
- Added documentation for the new `generate-kubconfig` command in prompts/01_task-command-to-create-deploymentupdater-kubeconfig.md
- Updated deploymentUpdater/README.md to clarify service account scope and fix Kubernetes spelling
- Updated deployment-updater/README.md to clarify service account scope and fix Kubernetes spelling
### Changed
- Improved deploymentUpdater/README.md to better describe the service account's cluster-wide capabilities
- Improved deployment-updater/README.md to better describe the service account's cluster-wide capabilities
- Refactored task script to include new command in help output and implement kubeconfig generation logic
+2 -2
View File
@@ -51,12 +51,12 @@ task install-chart cert-manager values/exo.mintcloud.ch.yaml
Create an Infomaniak API token with domain scope: <https://manager.infomaniak.com/v3/infomaniak-api>
Setup the secret according to [clusterIssuer > Secrets](/clusterIssuer/README.md#Secrets).
Setup the secret according to [cluster-issuer > Secrets](/cluster-issuer/README.md#Secrets).
Install cluster issuer.
```bash
task install-chart clusterIssuer values/exo.mintcloud.ch.yaml
task install-chart cluster-issuer values/exo.mintcloud.ch.yaml
```
## Setup k8up
+2 -2
View File
@@ -54,12 +54,12 @@ task install-chart cert-manager values/chk.mintcloud.ch.yaml
Create an Infomaniak API token with domain scope: <https://manager.infomaniak.com/v3/infomaniak-api>
Setup the secret according to [clusterIssuer > Secrets](/clusterIssuer/README.md#Secrets).
Setup the secret according to [cluster-issuer > Secrets](/cluster-issuer/README.md#Secrets).
Install cluster issuer.
```bash
task install-chart clusterIssuer values/chk.mintcloud.ch.yaml
task install-chart cluster-issuer values/chk.mintcloud.ch.yaml
```
## Setup k8up
+2 -2
View File
@@ -23,7 +23,7 @@ task install-chart cert-manager values/k3s.raspberrypi.build.yaml
Install cluster issuer.
```bash
task install-chart clusterIssuer values/k3s.raspberrypi.build.yaml
task install-chart cluster-issuer values/k3s.raspberrypi.build.yaml
```
## Create Hugo release
@@ -38,5 +38,5 @@ kubectl-ns <namespace>
Install the Hugo chart.
```bash
task install-chart hugo
task install-chart taskfile-build
```
+1 -1
View File
@@ -119,7 +119,7 @@ If you deployed a cluster issuer, update the release:
```bash
kubectl-ns cert-manager
task upgrade-release clusterIssuer $values
task upgrade-release cluster-issuer $values
```
## Uninstall ingress-nginx
+2 -2
View File
@@ -9,12 +9,12 @@ kubectl create namespace prometheus
kubectl-ns prometheus
```
Setup the credentials according to the prometheusAgent [README](/prometheusAgent/README.md).
Setup the credentials according to the prometheus-agent [README](/prometheus-agent/README.md).
Update the values file with the `remoteWrite.url`.
Install the chart.
```bash
task install-chart prometheusAgent test_values/knd.local.yaml
task install-chart prometheus-agent test_values/knd.local.yaml
```
+6 -8
View File
@@ -46,17 +46,15 @@ helm install "$NAME" "kubernetes-build/$NAME"
List of charts:
* [clusterIssuer](/clusterIssuer/README.md)
* [cluster-issuer](/cluster-issuer/README.md)
* [odoo](/odoo/README.md)
* [nextcloud](/nextcloud/README.md)
* [postgres](/postgres/README.md)
* [prometheusAgent](/prometheusAgent/README.md)
* [vshnPostgres](/vshnPostgres/README.md)
* [hugo](/hugo/README.md)
* [vuepress](/vuepress/README.md)
* [deploymentUpdater](/deploymentUpdater/README.md)
* [forgejoRunner](/forgejoRunner/README.md)
* [taskfileBuild](/taskfileBuild/README.md)
* [prometheus-agent](/prometheus-agent/README.md)
* [vshn-postgres](/vshn-postgres/README.md)
* [deployment-updater](/deployment-updater/README.md)
* [forgejo-runner](/forgejo-runner/README.md)
* [taskfile-build](/taskfile-build/README.md)
## Deploy
Binary file not shown.
@@ -1,5 +1,5 @@
apiVersion: v2
name: clusterIssuer
name: cluster-issuer
description: Mint System Cluster Issuer
home: https://kubernetes.build
maintainers:
File renamed without changes.
File renamed without changes.
File renamed without changes.
Binary file not shown.
Binary file not shown.
@@ -1,5 +1,5 @@
apiVersion: v2
name: deploymentUpdater
name: deployment-updater
description: Mint System Deployment Updater
home: https://kubernetes.build
maintainers:
File renamed without changes.
File renamed without changes.
Binary file not shown.
Binary file not shown.
@@ -1,5 +1,5 @@
apiVersion: v2
name: forgejoRunner
name: forgejo-runner
description: Mint System Forgejo Runner
home: https://kubernetes.build
maintainers:
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Binary file not shown.
BIN
View File
Binary file not shown.
-10
View File
@@ -1,10 +0,0 @@
apiVersion: v2
name: hugo
description: Mint System Hugo
home: https://kubernetes.build
maintainers:
- name: Mint System GmbH
email: support@mint-system.ch
type: application
version: 0.1.0
appVersion: "1.0.0"
-30
View File
@@ -1,30 +0,0 @@
# Mint System Hugo
This Helm chart deploys a Hugo site.
## Parameters
### Ingress parameters
| Name | Description | Value |
| -------------------------- | -------------------------------------------- | ------ |
| `ingress.enabled` | Enable or disable the ingress | `true` |
| `ingress.className` | The class name for the ingress | `""` |
| `ingress.clusterIssuerRef` | The cluster issuer reference for the ingress | `nil` |
| `ingress.host` | The host for the ingress | `""` |
| `ingress.customDomain` | The custom domain for the ingress | `""` |
### Hugo parameters
| Name | Description | Value |
| ----------------- | -------------------------- | -------- |
| `image` | The image for Hugo | `""` |
| `imagePullPolicy` | Pull policy for Hugo image | `Always` |
### Resources requests and limits
| Name | Description | Value |
| --------------------------- | -------------------------------- | ------- |
| `resources.requests.memory` | Memory request for the container | `500Mi` |
| `resources.requests.cpu` | CPU request for the container | `100m` |
| `resources.limits.memory` | Memory limit for the container | `1Gi` |
-23
View File
@@ -1,23 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Release.Name }}-hugo
labels:
app: hugo
spec:
selector:
matchLabels:
app: hugo
template:
metadata:
labels:
app: hugo
spec:
containers:
- name: vuepress
image: {{ .Values.image }}
imagePullPolicy: {{ .Values.imagePullPolicy }}
ports:
- containerPort: 80
resources:
{{- toYaml .Values.resources | nindent 12 }}
-47
View File
@@ -1,47 +0,0 @@
{{- if .Values.ingress.enabled }}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: hugo-ingress
annotations:
{{- if .Values.ingress.clusterIssuerRef }}
cert-manager.io/cluster-issuer: {{ .Values.ingress.clusterIssuerRef }}
{{- end }}
{{- if eq .Values.ingress.className "nginx" }}
nginx.ingress.kubernetes.io/rewrite-target: /
{{- end }}
spec:
ingressClassName: {{ .Values.ingress.className }}
{{- if .Values.ingress.clusterIssuerRef }}
tls:
- hosts:
- {{.Values.ingress.host }}
{{- if .Values.ingress.customDomain }}
- {{ .Values.ingress.customDomain }}
{{- end }}
secretName: hugo-ingress-cert
{{- end }}
rules:
- host: {{ .Values.ingress.host }}
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: hugo
port:
number: 80
{{- if .Values.ingress.customDomain }}
- host: {{.Values.ingress.customDomain }}
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: hugo
port:
number: 80
{{- end }}
{{- end }}
-10
View File
@@ -1,10 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: hugo
spec:
selector:
app: hugo
ports:
- port: 80
targetPort: 80
-28
View File
@@ -1,28 +0,0 @@
## @section Ingress parameters
ingress:
## @param ingress.enabled Enable or disable the ingress
enabled: true
## @param ingress.className The class name for the ingress
className: ""
## @param ingress.clusterIssuerRef The cluster issuer reference for the ingress
clusterIssuerRef:
## @param ingress.host The host for the ingress
host: ""
## @param ingress.customDomain The custom domain for the ingress
customDomain: ""
## @section Hugo parameters
## @param image The image for Hugo
image: ""
## @param imagePullPolicy Pull policy for Hugo image
imagePullPolicy: Always
## @section Resources requests and limits
resources:
## @param resources.requests.memory Memory request for the container
requests:
memory: "500Mi"
## @param resources.requests.cpu CPU request for the container
cpu: "100m"
limits:
## @param resources.limits.memory Memory limit for the container
memory: "1Gi"
+44 -75
View File
@@ -1,78 +1,62 @@
apiVersion: v1
entries:
clusterIssuer:
cluster-issuer:
- apiVersion: v2
appVersion: 1.0.0
created: "2026-01-28T12:28:28.286837612+01:00"
created: "2026-10-05T16:49:57.139126312+02:00"
description: Mint System Cluster Issuer
digest: 97ca3a500e19ae752e15372f637bcb51209ae5105a990ff8db0cf60aa7a0664e
digest: 6543f18c094e9c61dbc04267b845e4cf60bbd807d83a98a06a61d36ba3eacc81
home: https://kubernetes.build
maintainers:
- email: support@mint-system.ch
name: Mint System GmbH
name: clusterIssuer
name: cluster-issuer
type: application
urls:
- clusterIssuer-0.1.0.tgz
- cluster-issuer-0.1.0.tgz
version: 0.1.0
deploymentUpdater:
deployment-updater:
- apiVersion: v2
appVersion: 1.0.0
created: "2026-01-28T12:28:28.286915468+01:00"
created: "2026-10-05T16:49:57.139216622+02:00"
description: Mint System Deployment Updater
digest: c2e16c6d79c099f3556a9d18b3f12953642167650f9c53f0b1c25aaaa788a97e
digest: aa3abe3820d991058ccf0b878f3d74b52ce4ca1e4a9ba96abe9252a2d4b8395c
home: https://kubernetes.build
maintainers:
- email: support@mint-system.ch
name: Mint System GmbH
name: deploymentUpdater
name: deployment-updater
type: application
urls:
- deploymentUpdater-0.1.0.tgz
- deployment-updater-0.1.0.tgz
version: 0.1.0
forgejoRunner:
forgejo-runner:
- apiVersion: v2
appVersion: 1.0.0
created: "2026-01-28T12:28:28.287054169+01:00"
created: "2026-10-05T16:49:57.139400237+02:00"
description: Mint System Forgejo Runner
digest: 5ec4a922ab9d1f2d4ccf935a2c5b2f6c8caa965f5a27acbd4d6fc03eccd6d55a
digest: 1cd56a50ec661b5953f90c4aa5ba9caa8d66685600007ea911d1c60556673c48
home: https://kubernetes.build
maintainers:
- email: support@mint-system.ch
name: Mint System GmbH
name: forgejoRunner
name: forgejo-runner
type: application
urls:
- forgejoRunner-0.1.0.tgz
version: 0.1.0
hugo:
- apiVersion: v2
appVersion: 1.0.0
created: "2026-01-28T12:28:28.287149919+01:00"
description: Mint System Hugo
digest: 21f4ed3199ee88eff63ad992efb5c5519345e0fc6a0c1e2602f09518fd339a9c
home: https://kubernetes.build
maintainers:
- email: support@mint-system.ch
name: Mint System GmbH
name: hugo
type: application
urls:
- hugo-0.1.0.tgz
- forgejo-runner-0.1.0.tgz
version: 0.1.0
nextcloud:
- apiVersion: v2
appVersion: 1.0.0
created: "2026-01-28T12:28:28.288359515+01:00"
created: "2026-10-05T16:49:57.153320278+02:00"
dependencies:
- condition: collabora.enabled
name: collabora-online
repository: https://collaboraonline.github.io/online/
version: '>=0.1.0'
- condition: nextcloud.enabled
name: nextcloud
repository: https://nextcloud.github.io/helm/
version: 9.2.4
description: Mint System Nextcloud
digest: cf7df82f2b88ea8e4c61eaef32ef4b39f63ec5ff94a6682466b5f040ff28e43b
digest: 5c0009906b1a45e3606c7b884652b880e6ad2b5821417f5888b0421e27ff1694
home: https://kubernetes.build
icon: https://cdn.rawgit.com/nextcloud/docker/8971440c97a8d5a567d1c93bc7390f39f68e0a49/logo.svg
maintainers:
- email: support@mint-system.ch
name: Mint System GmbH
@@ -84,18 +68,18 @@ entries:
odoo:
- apiVersion: v2
appVersion: 1.0.0
created: "2026-01-28T12:28:28.288847473+01:00"
created: "2026-10-05T16:49:57.153844585+02:00"
dependencies:
- condition: postgres.enabled
name: postgres
repository: file://../postgres
version: 0.1.0
- condition: vshnPostgres.enabled
name: vshnPostgres
repository: file://../vshnPostgres
- condition: vshn-postgres.enabled
name: vshn-postgres
repository: file://../vshn-postgres
version: 0.1.0
description: Mint System Odoo
digest: 1c0f569db65931e1c56c384579daa6ae5080e2832b0fec8b0cc36ddb39d5a53c
digest: 7affe13ed2b346b64bd5cc8bd3ceae04cc153a8e7f004ee704f726b27a1f100e
home: https://kubernetes.build
maintainers:
- email: support@mint-system.ch
@@ -108,9 +92,9 @@ entries:
postgres:
- apiVersion: v2
appVersion: 1.0.0
created: "2026-01-28T12:28:28.288955396+01:00"
created: "2026-10-05T16:49:57.154131765+02:00"
description: Mint System Postgres
digest: 105fd389dea2a75c7de249910a9b5e73323ea010a41c0c40436ea0ccae7d04ae
digest: f11bbab8bd8ecccfe126fdf88e14bce462ef9eb6d637ae16ee92e203a3f7bd85
home: https://kubernetes.build
maintainers:
- email: support@mint-system.ch
@@ -120,69 +104,54 @@ entries:
urls:
- postgres-0.1.0.tgz
version: 0.1.0
prometheusAgent:
prometheus-agent:
- apiVersion: v2
appVersion: 1.0.0
created: "2026-01-28T12:28:28.290659752+01:00"
created: "2026-10-05T16:49:57.155660802+02:00"
dependencies:
- condition: kube-state-metrics.enabled
name: kube-state-metrics
repository: https://prometheus-community.github.io/helm-charts
version: 5.x.x
description: Prometheus agent mode scraper for Kubernetes.
digest: 2478effdd669131c5f96e039fcf61d8042bad307bc76f95109725d7b57fa04c9
digest: b4edc38fbeb06096ba03a6675804c0c9dce9ac72a2b02eec73c0fa62e35a9da5
home: https://kubernetes.build
maintainers:
- email: support@mint-system.ch
name: Mint System GmbH
name: prometheusAgent
name: prometheus-agent
type: application
urls:
- prometheusAgent-0.1.0.tgz
- prometheus-agent-0.1.0.tgz
version: 0.1.0
taskfileBuild:
taskfile-build:
- apiVersion: v2
appVersion: 1.0.0
created: "2026-01-28T12:28:28.291516333+01:00"
created: "2026-10-05T16:49:57.15581932+02:00"
description: Mint System Vueress
digest: 89a7e55e3366d6a14e7e766d01fc3a76cfd653904ee143b70dc26418144a182a
digest: 2ad753a4071ccd9e973e172b79fc50b886a6c5a491289ff5997885cf2c5c1d82
home: https://kubernetes.build
maintainers:
- email: support@mint-system.ch
name: Mint System GmbH
name: taskfileBuild
name: taskfile-build
type: application
urls:
- taskfileBuild-0.1.0.tgz
- taskfile-build-0.1.0.tgz
version: 0.1.0
vshnPostgres:
vshn-postgres:
- apiVersion: v2
appVersion: 1.0.0
created: "2026-01-28T12:28:28.291714196+01:00"
created: "2026-10-05T16:49:57.155927103+02:00"
description: VSHN Postgres
digest: f7d33b69b96700a9eaea95df9ccb9bbe3a7186c64bd2331b730e50789b249e41
digest: f580852e68f22c06dfbec1f1f9139b3529730d8c2227a3e90f2558edd7779a77
home: https://kubernetes.build
maintainers:
- email: support@mint-system.ch
name: Mint System GmbH
name: vshnPostgres
name: vshn-postgres
type: application
urls:
- vshnPostgres-0.1.0.tgz
- vshn-postgres-0.1.0.tgz
version: 0.1.0
vuepress:
- apiVersion: v2
appVersion: 1.0.0
created: "2026-01-28T12:28:28.292114599+01:00"
description: Mint System Vueress
digest: 64d90c1da3751660493c65c70eb117fb2ba731fc6828b8c81ea867740e419c01
home: https://kubernetes.build
maintainers:
- email: support@mint-system.ch
name: Mint System GmbH
name: vuepress
type: application
urls:
- vuepress-0.1.0.tgz
version: 0.1.0
generated: "2026-01-28T12:28:28.286654337+01:00"
generated: "2026-10-05T16:49:57.13893952+02:00"
Binary file not shown.
BIN
View File
Binary file not shown.
+4 -4
View File
@@ -2,8 +2,8 @@ dependencies:
- name: postgres
repository: file://../postgres
version: 0.1.0
- name: vshnPostgres
repository: file://../vshnPostgres
- name: vshn-postgres
repository: file://../vshn-postgres
version: 0.1.0
digest: sha256:a1a86df6087f9ec9f19635efafcde2b92f0cf1e534125ba7acd9d012649ad613
generated: "2025-09-10T09:29:43.380841477+02:00"
digest: sha256:f8f4f2eafdeb46a3cc015d0c22411307bd018f931364b2fda2b2afda4d67be31
generated: "2026-10-05T16:49:49.265839071+02:00"
+2 -2
View File
@@ -13,7 +13,7 @@ dependencies:
version: 0.1.0
repository: "file://../postgres"
condition: postgres.enabled
- name: vshnPostgres
- name: vshn-postgres
version: 0.1.0
repository: "file://../vshnPostgres"
repository: "file://../vshn-postgres"
condition: vshnPostgres.enabled
+1 -1
View File
@@ -10,6 +10,6 @@
"vitepress-mermaid-preview": "^0.0.8"
},
"devDependencies": {
"vitepress": "2.0.0-alpha.13"
"vitepress": "^1.6.4"
}
}
+642 -152
View File
File diff suppressed because it is too large. Load diff
Binary file not shown.
Binary file not shown.
File renamed without changes.
@@ -1,5 +1,5 @@
apiVersion: v2
name: prometheusAgent
name: prometheus-agent
description: Prometheus agent mode scraper for Kubernetes.
home: https://kubernetes.build
maintainers:
@@ -15,7 +15,7 @@ kubectl create secret generic prometheus-remote-write-credentials \
## Parameters
### prometheusAgent parameters
### prometheus-agent parameters
| Name | Description | Value |
| ----------------- | ------------------------------------------------------ | ------------------------- |
@@ -1,4 +1,4 @@
## @section prometheusAgent parameters
## @section prometheus-agent parameters
## @param image The image for Prometheus
image: prom/prometheus:v2.54.1
## @param imagePullPolicy Pull policy for Prometheus image
Binary file not shown.
+83
View File
@@ -0,0 +1,83 @@
---
title: "Refactor Helm charts"
author: "Mint Bot <bot@mint-system.ch>"
state: completed
date_completed: 2026-10-05
model: moonshotai/Kimi-K2.6
input_tokens: N/A
output_tokens: N/A
---
# Refactor Helm charts
Note: @Clanker refers to the "ai agent" (you) who is working on this prompt file.
@Clanker when working on this prompt file, make sure to:
- Read context and task section first
- Prepare a list of todos
- Update the todo list while working on task
## Context
@Clanker Read the `AGENTS.md` and `README.md` to get an understanding of the project.
## Task
Check the `task` file and list charts with `task list-charts`.
I want to switch from camelCase to the more commom kebab-case. Rename all roles.
For example "clusterIssuer" becomes "cluster-issuer". Make sure the `task` commands work.
Also make sure the website links are still correct.
The command `install-chart` sets a specific release name. Keep the release name as it is. This means that
```
local release_name="$(echo "$1" | tr '[:upper:]' '[:lower:]')"
```
Must replace '-' with ''. ok?
So `taskfile-build` becomes `taskfilebuild`.
### Cleanup
Please delete the role `hugo` and `vuepress`. They are replaced by the `taskfile-build`.
### Enhance
While you are it. Please add a cluster check for `install-chart` and `upgrade-release`. The `t get-namespace` gives the active namespace. This namespace must match values filename `values/{cluster}/{namespace}.yaml`. I want to make sure that the correct values are applied.
## Worklog
Renamed all Helm chart directories from camelCase to kebab-case:
- `clusterIssuer` → `cluster-issuer`
- `prometheusAgent` → `prometheus-agent`
- `vshnPostgres` → `vshn-postgres`
- `deploymentUpdater` → `deployment-updater`
- `forgejoRunner` → `forgejo-runner`
- `taskfileBuild` → `taskfile-build`
Deleted the `hugo` and `vuepress` charts as they are replaced by `taskfile-build`.
Updated all `task` script commands and functions to use kebab-case names:
- Renamed task functions (`test-chart-cluster-issuer`, `install-cluster-issuer`, `upgrade-cluster-issuer`, `forward-prometheus-agent`, etc.)
- Updated release name logic to strip hyphens (e.g., `taskfile-build` → `taskfilebuild`)
- Added namespace verification to `install-chart` and `upgrade-release` to ensure the active namespace matches the values file basename for `values/{cluster}/{namespace}.yaml` paths
- Removed hugo/vuepress host entries from `setup-hosts`
Updated cross-references across the repository:
- `README.md` chart list and links
- Documentation files (`Exoscale.md`, `Infomaniak.md`, `K3s.md`, `Migration.md`, `Monitor.md`)
- Chart `Chart.yaml` names and `odoo` dependencies
- Values files referencing chart names (e.g., `chart: taskfile-build`)
- `.gitignore` and `prompts/` historical files
- Regenerated `.tgz` packages and `index.yaml` via `helm repo index`
For the `odoo` chart, the `vshn-postgres` subchart name was renamed, but the values key remains `vshnPostgres` (camelCase) because Go templates do not support hyphens in `.Values` field access. The dependency condition was set accordingly.
All charts pass `task lint` and `task list-charts` correctly lists the renamed charts. `task docs` regenerated all chart READMEs successfully.
Updated frontmatter state to completed.
@@ -1,5 +1,5 @@
---
title: task command to create deploymentUpdater kubeconfig
title: task command to create deployment-updater kubeconfig
state: completed
---
@@ -13,7 +13,7 @@ Read the `AGENTS.md` and `README.md` to get understanding of the project.
## Task
Create a new command `task generate-kubconfig <name>`. According to the description in `deploymentUpdater/README.md` this command
Create a new command `task generate-kubconfig <name>`. According to the description in `deployment-updater/README.md` this command
generates a kubeconfig.
When I run `task generate-kubconfig deploy` it generates a new kubeconfig in `values/.kube/config.<cluster-deploy`. The active cluster is `task show-cluster`.
@@ -21,7 +21,7 @@ When I run `task generate-kubconfig deploy` it generates a new kubeconfig in `va
## Worklog
1. Read AGENTS.md and README.md to understand the project structure
2. Analyzed the deploymentUpdater/README.md to understand the kubeconfig generation requirements
2. Analyzed the deployment-updater/README.md to understand the kubeconfig generation requirements
3. Examined the existing task file to understand the command structure
4. Added the generate-kubconfig command to the help section
5. Implemented the generate-kubconfig function that:
@@ -29,9 +29,9 @@ When I run `task generate-kubconfig deploy` it generates a new kubeconfig in `va
- Gets the current cluster using show-cluster
- Extracts server, CA, token, and namespace from the service account secret
- Generates a kubeconfig file in `values/.kube/config.<cluster>-<name>`
6. Installed the deploymentUpdater chart to create the required service account
6. Installed the deployment-updater chart to create the required service account
7. Tested the command successfully
## Summary
Successfully implemented the `task generate-kubconfig <name>` command that generates a kubeconfig file for deploymentUpdater service accounts. The command creates a kubeconfig file at `values/.kube/config.<cluster>-<name>` containing the necessary cluster information, certificate authority data, and authentication token extracted from the service account secret.
Successfully implemented the `task generate-kubconfig <name>` command that generates a kubeconfig file for deployment-updater service accounts. The command creates a kubeconfig file at `values/.kube/config.<cluster>-<name>` containing the necessary cluster information, certificate authority data, and authentication token extracted from the service account secret.
@@ -54,7 +54,7 @@ spec:
To enable https I would need to configure `ingress.tls`.
But I think it easier if I configure the Ingress myself. Use this as template: `taskfileBuild/templates/ingress.yaml`
But I think it easier if I configure the Ingress myself. Use this as template: `taskfile-build/templates/ingress.yaml`
Ommit the `customDomain` feature. Update the `nextcloud/values.yaml`.
@@ -62,10 +62,10 @@ To update the roles docs use `task lint` and `task docs`.
## Worklog
- Created `nextcloud/templates/ingress.yaml` based on the `taskfileBuild/templates/ingress.yaml` template, omitting the `customDomain` feature.
- Created `nextcloud/templates/ingress.yaml` based on the `taskfile-build/templates/ingress.yaml` template, omitting the `customDomain` feature.
- Set the Ingress backend to the `nextcloud` service on port `8080` (matching the official subchart's default).
- Updated `nextcloud/values.yaml`:
- Added a root-level `ingress` section with `enabled`, `className`, `clusterIssuerRef`, and `host` parameters.
- Added a root-level `ingress` section with `enabled`, `className`, `cluster-issuerRef`, and `host` parameters.
- Set `nextcloud.ingress.enabled: false` to prevent the official Nextcloud subchart from generating its own Ingress.
- Ran `task lint` and `task docs` successfully. The Nextcloud `README.md` was regenerated to reflect the new parameters.
+4 -4
View File
@@ -48,16 +48,16 @@ resources:
Set resource limits for all charts with deployments:
- **odoo**, **nextcloud**: requests `memory: 1Gi`, `cpu: 250m`; limits `memory: 2Gi`
- **hugo**, **vuepress**, **taskfileBuild**, **postgres**, **prometheusAgent**, **forgejoRunner**, **vshnPostgres**: requests `memory: 500Mi`, `cpu: 100m`; limits `memory: 1Gi`
- **hugo**, **vuepress**, **taskfile-build**, **postgres**, **prometheus-agent**, **forgejo-runner**, **vshn-postgres**: requests `memory: 500Mi`, `cpu: 100m`; limits `memory: 1Gi`
Changes made:
1. Added `resources` block to `values.yaml` for all relevant charts.
2. Updated deployment templates to reference `{{- toYaml .Values.resources | nindent 12 }}` (or appropriate indentation) where missing.
3. Replaced hardcoded resource limits in **forgejoRunner** and **vshnPostgres** templates with values references.
3. Replaced hardcoded resource limits in **forgejo-runner** and **vshn-postgres** templates with values references.
4. For **nextcloud**, passed resources to the upstream `nextcloud` subchart via `nextcloud.resources`.
5. Updated **prometheusAgent** values to the new default limits.
5. Updated **prometheus-agent** values to the new default limits.
6. Ran `./task lint` and `./task docs` successfully to validate formatting and regenerate READMEs.
Skipped charts without container workloads: `clusterIssuer`, `deploymentUpdater`.
Skipped charts without container workloads: `cluster-issuer`, `deployment-updater`.
@Clanker Set frontmatter state to completed and update info about model and token usage.
+7 -7
View File
@@ -21,20 +21,20 @@ Note: @Clanker refers to the "ai agent" (you) who is working on this task.
## Task
In `values/exo/odoo-wiki.yaml` I have added a new value `wwwRedirect`. If value is true I want you to add redirect for the `customDomain` without www to the domain. I am using the traefik ingress controller. Apply this change to the `taskfileBuild` chart only. The `wwwRedirect` has default `false`. Lint and update the role docs. Check with `task template-manifest taskfileBuild values/exo/odoo-wiki.yaml > manifest.yml` the result.
In `values/exo/odoo-wiki.yaml` I have added a new value `wwwRedirect`. If value is true I want you to add redirect for the `customDomain` without www to the domain. I am using the traefik ingress controller. Apply this change to the `taskfile-build` chart only. The `wwwRedirect` has default `false`. Lint and update the role docs. Check with `task template-manifest taskfile-build values/exo/odoo-wiki.yaml > manifest.yml` the result.
## Worklog
Added a Traefik-based www redirect to the `taskfileBuild` chart.
Added a Traefik-based www redirect to the `taskfile-build` chart.
Changes made:
1. Added `wwwRedirect: false` default to `taskfileBuild/values.yaml`.
2. Extended `taskfileBuild/templates/ingress.yaml` to conditionally create:
1. Added `wwwRedirect: false` default to `taskfile-build/values.yaml`.
2. Extended `taskfile-build/templates/ingress.yaml` to conditionally create:
- A `Middleware` (`traefik.io/v1alpha1`) with `redirectRegex` that redirects the non-www source domain to `https://{{ customDomain }}` preserving the path.
- A second `Ingress` for the source domain (e.g., `odoo-wiki.org` when `customDomain` is `www.odoo-wiki.org`) annotated with the Traefik middleware reference (`{{ .Release.Namespace }}-taskfile-build-redirect-www@kubernetescrd`).
- TLS support for the redirect Ingress when `clusterIssuerRef` is configured.
- TLS support for the redirect Ingress when `cluster-issuerRef` is configured.
3. Ran `./task lint` successfully.
4. Ran `pnpm run generate-readme` to update `taskfileBuild/README.md`.
5. Verified the rendered manifest with `./task template-manifest taskfileBuild values/exo/odoo-wiki.yaml > manifest.yml`; the output correctly includes the Middleware and Redirect Ingress for `odoo-wiki.org → www.odoo-wiki.org`.
4. Ran `pnpm run generate-readme` to update `taskfile-build/README.md`.
5. Verified the rendered manifest with `./task template-manifest taskfile-build values/exo/odoo-wiki.yaml > manifest.yml`; the output correctly includes the Middleware and Redirect Ingress for `odoo-wiki.org → www.odoo-wiki.org`.
@Clanker Set frontmatter state to completed and update info about model and token usage.
+3 -3
View File
@@ -1,5 +1,5 @@
---
title: "Fix taskfileBuild deployment"
title: "Fix taskfile-build deployment"
state: completed
model: infomaniak/moonshotai/Kimi-K2.6
input_tokens:
@@ -21,7 +21,7 @@ Note: @Clanker refers to the "ai agent" (you) who is working on this task.
## Task
The user reports a container dying with OOMKilled errors when building the Odoo Wiki site via the taskfileBuild chart.
The user reports a container dying with OOMKilled errors when building the Odoo Wiki site via the taskfile-build chart.
The logs show VuePress (`build-vuepress`) crashing during the "Initializing and preparing data" phase.
@@ -35,7 +35,7 @@ Investigated the failing pod `taskfilebuild-taskfile-build-7fbd9fc957-j49gr` in
Fix applied (first attempt):
1. Edited `values/exo/odoo-wiki.yaml` to increase memory limit from `2Gi` to `3Gi`.
2. Upgraded the Helm release with `./task upgrade-release taskfileBuild values/exo/odoo-wiki.yaml`.
2. Upgraded the Helm release with `./task upgrade-release taskfile-build values/exo/odoo-wiki.yaml`.
3. Verified the new pod starts with the `3Gi` limit.
4. Build still failed — the node `pool-78bf9-acmhi` (standard.medium, ~3.4Gi allocatable) ran out of memory entirely during the VuePress data preparation phase and went NotReady. Kubelet evicted the pod.
+2 -2
View File
@@ -26,10 +26,10 @@ I have a Docker image to run the "Odoo Enterprise Upgrade Skript" for a database
Create a `odoo-upgrade-job` similar to `odoo/templates/staging-reset-job.yaml`. By default it runs the `mintsystem/odoo-upgrade:16` image. The default name of the target database is `upgrade`. Reuse the existing postgres credentials.
Make sure to support the `vshnPostgres.enabled` env vars.
Make sure to support the `vshn-postgres.enabled` env vars.
To configure the job define values in `upgrade` section.
## Worklog
Created `odoo/templates/upgrade-job.yaml` as a CronJob, modeled after `odoo/templates/staging-reset-job.yaml`. The job runs the `mintsystem/odoo-upgrade:16` image by default, targets the `upgrade` database, and reuses existing PostgreSQL credentials for `cnpg`, `postgres`, and `vshnPostgres` backends. Added the `upgrade` values section to `odoo/values.yaml` with defaults for `enabled`, `image`, `database`, `targetVersion`, and `mode`. Added `upgrade.mode` value (default `test`, set to `production` for production runs) and updated the template to use it for the upgrade command argument. Updated job args to use long-form flags (`--dbname`, `--target`, `--restore-name`) instead of shorthand flags. Ran `task lint` and `task docs` successfully to validate formatting and regenerate documentation.
Created `odoo/templates/upgrade-job.yaml` as a CronJob, modeled after `odoo/templates/staging-reset-job.yaml`. The job runs the `mintsystem/odoo-upgrade:16` image by default, targets the `upgrade` database, and reuses existing PostgreSQL credentials for `cnpg`, `postgres`, and `vshn-postgres` backends. Added the `upgrade` values section to `odoo/values.yaml` with defaults for `enabled`, `image`, `database`, `targetVersion`, and `mode`. Added `upgrade.mode` value (default `test`, set to `production` for production runs) and updated the template to use it for the upgrade command argument. Updated job args to use long-form flags (`--dbname`, `--target`, `--restore-name`) instead of shorthand flags. Ran `task lint` and `task docs` successfully to validate formatting and regenerate documentation.
+46 -22
View File
@@ -11,7 +11,7 @@ help-table() {
rows+=("info||Show info about env.")
rows+=("template-dotenv||Generate .env from .env.template.")
rows+=("export-kubeconfig|[user][path]|Export kubeconfig file for service account.")
rows+=("generate-kubconfig|[name]|Generate kubeconfig for deploymentUpdater.")
rows+=("generate-kubconfig|[name]|Generate kubeconfig for deployment-updater.")
rows+=("load-kubeconfig-from-keepass|[ctx]|Load kubeconfig file from KeePass.")
rows+=("save-kubeconfig-to-keepass|[ctx]|Save kubeconfig file in KeePass.")
rows+=("===DOCS===| | ")
@@ -61,7 +61,7 @@ help-table() {
rows+=("commit-with-llm||Commit with llm generated commit message.")
rows+=("update-with-llm|[glob][prompt]|Feed files matching glob to LLM and apply changes.")
rows+=("===TEST===| | ")
rows+=("test-chart-clusterIssuer||Test cluster issuer.")
rows+=("test-chart-cluster-issuer||Test cluster issuer.")
rows+=("test-chart-odoo|[cleanup]|Setup Odoo chart and dependencies.")
rows+=("test-chart-nextcloud|[cleanup]|Setup Nextcloud chart and dependencies.")
@@ -213,10 +213,7 @@ setup-hosts() {
grep -qxF '127.0.0.1 nextcloud.knd.local' /etc/hosts || echo '127.0.0.1 nextcloud.knd.local' | sudo tee -a /etc/hosts > /dev/null
# Collabora
grep -qxF '127.0.0.1 doc.nextcloud.knd.local' /etc/hosts || echo '127.0.0.1 doc.nextcloud.knd.local' | sudo tee -a /etc/hosts > /dev/null
# Hugo
grep -qxF '127.0.0.1 hugo.knd.local' /etc/hosts || echo '127.0.0.1 hugo.knd.local' | sudo tee -a /etc/hosts > /dev/null
# Vuepress
grep -qxF '127.0.0.1 vuepress.knd.local' /etc/hosts || echo '127.0.0.1 vuepress.knd.local' | sudo tee -a /etc/hosts > /dev/null
# Removed hugo and vuepress hosts (replaced by taskfile-build)
}
test-chart-odoo() {
@@ -393,7 +390,7 @@ forward-nextcloud() {
# kubectl port-forward -n ingress-nginx svc/ingress-nginx $port:80
# }
forward-prometheusagent() {
forward-prometheus-agent() {
local port=9090
echo "Connect to http://localhost:$port to access the Prometheus agent."
kubectl port-forward -n prometheus deployment/prometheus-agent $port:9090
@@ -575,14 +572,27 @@ update-dependencies() {
install-chart() {
if test -z "$1"; then echo '\$1 is empty.'; exit; fi
if test -z "$2"; then echo '\$2 is empty.'; exit; fi
local values_file="$2"
local expected_namespace=""
if [[ "$values_file" =~ ^values/[^/]+/[^/]+\.yaml$ ]]; then
expected_namespace="$(basename "$values_file" .yaml)"
elif [[ "$values_file" =~ ^values/[^/]+/[^/]+/.+\.yaml$ ]]; then
expected_namespace="$(echo "$values_file" | cut -d '/' -f3)"
fi
if [[ -n "$expected_namespace" && "$namespace" != "$expected_namespace" ]]; then
echo "Error: Active namespace '$namespace' does not match values file namespace '$expected_namespace'."
exit 1
fi
if [[ "$(get-context)" = 'axo' ]]; then
echo "Set oc project to $OC_PROJECT."
oc project "$OC_PROJECT"
fi
local release_name="$(echo "$1" | tr '[:upper:]' '[:lower:]')"
local release_name="$(echo "$1" | tr '[:upper:]' '[:lower:]' | tr -d '-')"
if [[ "$1" = 'clusterIssuer' ]]; then
if [[ "$1" = 'cluster-issuer' ]]; then
"install-$1" "$2"
elif list-charts | grep -q "$1"; then
echo "Install chart $1 as release $release_name:"
@@ -622,9 +632,9 @@ install-cert-manager() {
kubectl apply -f https://github.com/Infomaniak/cert-manager-webhook-infomaniak/releases/download/v0.3.1/rendered-manifest.yaml
}
install-clusterIssuer() {
install-cluster-issuer() {
echo 'Install clusterissuer.'
helm install clusterissuer clusterIssuer \
helm install clusterissuer cluster-issuer \
--namespace cert-manager \
--values "$1"
}
@@ -649,7 +659,21 @@ install-traefik() {
upgrade-release() {
if test -z "$1"; then echo '\$1 is empty.'; exit; fi
local release_name="$(echo "$1" | tr '[:upper:]' '[:lower:]')"
if test -z "$2"; then echo '\$2 is empty.'; exit; fi
local values_file="$2"
local expected_namespace=""
if [[ "$values_file" =~ ^values/[^/]+/[^/]+\.yaml$ ]]; then
expected_namespace="$(basename "$values_file" .yaml)"
elif [[ "$values_file" =~ ^values/[^/]+/[^/]+/.+\.yaml$ ]]; then
expected_namespace="$(echo "$values_file" | cut -d '/' -f3)"
fi
if [[ -n "$expected_namespace" && "$namespace" != "$expected_namespace" ]]; then
echo "Error: Active namespace '$namespace' does not match values file namespace '$expected_namespace'."
exit 1
fi
local release_name="$(echo "$1" | tr '[:upper:]' '[:lower:]' | tr -d '-')"
if list-charts | grep -q "$1"; then
echo "Upgrade $1 chart for release $release_name:"
@@ -674,10 +698,10 @@ upgrade-cert-manager() {
kubectl apply -f https://github.com/Infomaniak/cert-manager-webhook-infomaniak/releases/download/v0.3.1/rendered-manifest.yaml
}
upgrade-clusterIssuer() {
echo 'Upgrade clusterIssuer.'
upgrade-cluster-issuer() {
echo 'Upgrade cluster-issuer.'
helm upgrade \
clusterissuer clusterIssuer \
clusterissuer cluster-issuer \
--namespace cert-manager \
--values "$2"
}
@@ -733,11 +757,11 @@ show-secrets() {
echo 'postgres/password:'
kubectl get secret postgres -o jsonpath="{.data.password}" | base64 --decode && echo
elif [[ "$1" = 'clusterIssuer' ]]; then
elif [[ "$1" = 'cluster-issuer' ]]; then
echo 'cert-manager/infomaniak-api-credentials:'
kubectl get secret -n cert-manager infomaniak-api-token -o jsonpath="{.data.access-token}" | base64 --decode && echo
elif [[ "$1" = 'forgejoRunner' ]]; then
elif [[ "$1" = 'forgejo-runner' ]]; then
echo 'forgejo-runner/forgejoInstanceToken:'
kubectl get secret forgejo-runner -o jsonpath="{.data.forgejoInstanceToken}" | base64 --decode && echo
@@ -776,8 +800,8 @@ template-manifest() {
# echo "Template chart $1 as release ${release_name}..."
if [[ "$1" = 'clusterIssuer' ]]; then
helm --debug template "$release_name" clusterIssuer \
if [[ "$1" = 'cluster-issuer' ]]; then
helm --debug template "$release_name" cluster-issuer \
--namespace cert-manager \
--values "$2" > manifest.yaml
elif list-charts | grep -q "$1"; then
@@ -797,7 +821,7 @@ package-repo() {
else
echo 'Package all Helm charts.'
update-dependencies odoo
update-dependencies prometheusAgent
update-dependencies prometheus-agent
index-repo
for chart in $(list-charts); do
helm package "$chart"
@@ -844,7 +868,7 @@ remove-repo(){
# Docs Commands
docs() {
for repo in $(list-charts | grep -v '^deploymentUpdater$'); do
for repo in $(list-charts | grep -v '^deployment-updater$'); do
pnpm run generate-readme --values "$repo/values.yaml" -r "$repo/README.md"
done
}
Binary file not shown.
@@ -1,5 +1,5 @@
apiVersion: v2
name: taskfileBuild
name: taskfile-build
description: Mint System Vueress
home: https://kubernetes.build
maintainers:
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Binary file not shown.
Binary file not shown.
@@ -1,5 +1,5 @@
apiVersion: v2
name: vshnPostgres
name: vshn-postgres
description: VSHN Postgres
home: https://kubernetes.build
maintainers:
@@ -4,13 +4,13 @@ This chart deploys a VSHN Postgres service.
## Parameters
### vshnPostgres parameters
### vshn-postgres parameters
| Name | Description | Value |
| ---------------- | ----------------------------------------- | ---------------- |
| `enabled` | Enable or disable vshnPostgres | `false` |
| `secretRef` | The secret reference for vshnPostgres | `postgres-creds` |
| `client.enabled` | Enable or disable the vshnPostgres client | `false` |
| Name | Description | Value |
| ---------------- | ------------------------------------------ | ---------------- |
| `enabled` | Enable or disable vshn-postgres | `false` |
| `secretRef` | The secret reference for vshn-postgres | `postgres-creds` |
| `client.enabled` | Enable or disable the vshn-postgres client | `false` |
### Resources requests and limits
@@ -1,13 +1,13 @@
## @section vshnPostgres parameters
## @section vshn-postgres parameters
##
## @param enabled Enable or disable vshnPostgres
## @param enabled Enable or disable vshn-postgres
##
enabled: false
## @param secretRef The secret reference for vshnPostgres
## @param secretRef The secret reference for vshn-postgres
##
secretRef: postgres-creds
client:
## @param client.enabled Enable or disable the vshnPostgres client
## @param client.enabled Enable or disable the vshn-postgres client
##
enabled: false
## @section Resources requests and limits
Binary file not shown.
Binary file not shown.
-10
View File
@@ -1,10 +0,0 @@
apiVersion: v2
name: vuepress
description: Mint System Vueress
home: https://kubernetes.build
maintainers:
- name: Mint System GmbH
email: support@mint-system.ch
type: application
version: 0.1.0
appVersion: "1.0.0"
-30
View File
@@ -1,30 +0,0 @@
# Mint System Vuepress
This Helm chart deploys a Vuepress site.
## Parameters
### Ingress parameters
| Name | Description | Value |
| -------------------------- | -------------------------------------------- | ------ |
| `ingress.enabled` | Enable or disable the ingress | `true` |
| `ingress.className` | The class name for the ingress | `""` |
| `ingress.clusterIssuerRef` | The cluster issuer reference for the ingress | `""` |
| `ingress.host` | The host for the ingress | `""` |
| `ingress.customDomain` | The custom domain for the ingress | `""` |
### Vuepress parameters
| Name | Description | Value |
| ----------------- | ------------------------------ | -------- |
| `image` | The image for Vuepress | `""` |
| `imagePullPolicy` | Pull policy for Vuepress image | `Always` |
### Resources requests and limits
| Name | Description | Value |
| --------------------------- | -------------------------------- | ------- |
| `resources.requests.memory` | Memory request for the container | `500Mi` |
| `resources.requests.cpu` | CPU request for the container | `100m` |
| `resources.limits.memory` | Memory limit for the container | `1Gi` |
-23
View File
@@ -1,23 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Release.Name }}-vuepress
labels:
app: vuepress
spec:
selector:
matchLabels:
app: vuepress
template:
metadata:
labels:
app: vuepress
spec:
containers:
- name: vuepress
image: {{ .Values.image }}
imagePullPolicy: {{ .Values.imagePullPolicy }}
ports:
- containerPort: 80
resources:
{{- toYaml .Values.resources | nindent 12 }}
-47
View File
@@ -1,47 +0,0 @@
{{- if .Values.ingress.enabled }}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: vuepress-ingress
annotations:
{{- if .Values.ingress.clusterIssuerRef }}
cert-manager.io/cluster-issuer: {{ .Values.ingress.clusterIssuerRef }}
{{- end }}
{{- if eq .Values.ingress.className "nginx" }}
nginx.ingress.kubernetes.io/rewrite-target: /
{{- end }}
spec:
ingressClassName: {{.Values.ingress.className }}
{{- if .Values.ingress.clusterIssuerRef }}
tls:
- hosts:
- {{.Values.ingress.host }}
{{- if .Values.ingress.customDomain }}
- {{ .Values.ingress.customDomain }}
{{- end }}
secretName: vuepress-ingress-cert
{{- end }}
rules:
- host: {{ .Values.ingress.host }}
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: vuepress
port:
number: 80
{{- if .Values.ingress.customDomain }}
- host: {{.Values.ingress.customDomain }}
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: vuepress
port:
number: 80
{{- end }}
{{- end }}
-10
View File
@@ -1,10 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: vuepress
spec:
selector:
app: vuepress
ports:
- port: 80
targetPort: 80
-29
View File
@@ -1,29 +0,0 @@
## @section Ingress parameters
ingress:
## @param ingress.enabled Enable or disable the ingress
enabled: true
## @param ingress.className The class name for the ingress
className: ""
## @param ingress.clusterIssuerRef The cluster issuer reference for the ingress
clusterIssuerRef: ""
## @param ingress.host The host for the ingress
host: ""
## @param ingress.customDomain The custom domain for the ingress
customDomain: ""
## @section Vuepress parameters
## @param image The image for Vuepress
image: ""
## @param imagePullPolicy Pull policy for Vuepress image
##
imagePullPolicy: Always
## @section Resources requests and limits
resources:
## @param resources.requests.memory Memory request for the container
requests:
memory: "500Mi"
## @param resources.requests.cpu CPU request for the container
cpu: "100m"
limits:
## @param resources.limits.memory Memory limit for the container
memory: "1Gi"