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:
90 files changed
+897
-616
No files matched your search
+1
-1
@@ -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
@@ -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
@@ -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
@@ -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
|
||||
|
||||
@@ -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
@@ -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
@@ -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
|
||||
```
|
||||
@@ -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.
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.
Binary file not shown.
@@ -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"
|
||||
@@ -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` |
|
||||
@@ -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 }}
|
||||
@@ -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 }}
|
||||
@@ -1,10 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: hugo
|
||||
spec:
|
||||
selector:
|
||||
app: hugo
|
||||
ports:
|
||||
- port: 80
|
||||
targetPort: 80
|
||||
@@ -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
@@ -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.
Binary file not shown.
+4
-4
@@ -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
@@ -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
@@ -10,6 +10,6 @@
|
||||
"vitepress-mermaid-preview": "^0.0.8"
|
||||
},
|
||||
"devDependencies": {
|
||||
"vitepress": "2.0.0-alpha.13"
|
||||
"vitepress": "^1.6.4"
|
||||
}
|
||||
}
|
||||
Generated
+642
-152
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 |
|
||||
| ----------------- | ------------------------------------------------------ | ------------------------- |
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -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.
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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.
|
||||
@@ -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
|
||||
|
||||
File renamed without changes.
@@ -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.
@@ -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"
|
||||
@@ -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` |
|
||||
@@ -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 }}
|
||||
@@ -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 }}
|
||||
@@ -1,10 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: vuepress
|
||||
spec:
|
||||
selector:
|
||||
app: vuepress
|
||||
ports:
|
||||
- port: 80
|
||||
targetPort: 80
|
||||
@@ -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"
|
||||
Reference in new issue
Block a user