From fe46c756ae0db64a041e9642ab6b101e57fe1f69 Mon Sep 17 00:00:00 2001 From: Stefan Reimer Date: Thu, 2 Sep 2021 19:08:08 +0200 Subject: [PATCH] feat: add kubezero-addons module with metallb as first member --- charts/kubezero-addons/Chart.yaml | 20 ++++++++++++++ charts/kubezero-addons/README.md | 35 +++++++++++++++++++++++++ charts/kubezero-addons/values.yaml | 18 +++++++++++++ charts/kubezero/Chart.yaml | 2 +- charts/kubezero/templates/addons.yaml | 13 +++++++++ charts/kubezero/templates/argoless.yaml | 2 +- charts/kubezero/values.yaml | 4 +++ 7 files changed, 92 insertions(+), 2 deletions(-) create mode 100644 charts/kubezero-addons/Chart.yaml create mode 100644 charts/kubezero-addons/README.md create mode 100644 charts/kubezero-addons/values.yaml create mode 100644 charts/kubezero/templates/addons.yaml diff --git a/charts/kubezero-addons/Chart.yaml b/charts/kubezero-addons/Chart.yaml new file mode 100644 index 00000000..a7c7a5f9 --- /dev/null +++ b/charts/kubezero-addons/Chart.yaml @@ -0,0 +1,20 @@ +apiVersion: v2 +name: kubezero-addons +description: KubeZero umbrella chart for various optional cluster addons +type: application +version: 0.0.1 +home: https://kubezero.com +icon: https://cdn.zero-downtime.net/assets/kubezero/logo-small-64.png +keywords: + - kubezero + - fuse-device-plugin + - metallb + - k8s-ecr-login-renew +maintainers: + - name: Quarky9 +dependencies: + - name: metallb + version: 0.10.2 + repository: https://metallb.github.io/metallb + condition: metallb.enabled +kubeVersion: ">= 1.18.0" diff --git a/charts/kubezero-addons/README.md b/charts/kubezero-addons/README.md new file mode 100644 index 00000000..5086165d --- /dev/null +++ b/charts/kubezero-addons/README.md @@ -0,0 +1,35 @@ +# kubezero-addons + +![Version: 0.0.1](https://img.shields.io/badge/Version-0.0.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) + +KubeZero umbrella chart for various optional cluster addons + +**Homepage:** + +## Maintainers + +| Name | Email | Url | +| ---- | ------ | --- | +| Quarky9 | | | + +## Requirements + +Kubernetes: `>= 1.18.0` + +| Repository | Name | Version | +|------------|------|---------| +| https://metallb.github.io/metallb | metallb | 0.10.2 | + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| metallb.configInline | object | `{}` | | +| metallb.controller.nodeSelector."node-role.kubernetes.io/master" | string | `""` | | +| metallb.controller.tolerations[0].effect | string | `"NoSchedule"` | | +| metallb.controller.tolerations[0].key | string | `"node-role.kubernetes.io/master"` | | +| metallb.enabled | bool | `true` | | +| metallb.psp.create | bool | `false` | | + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) diff --git a/charts/kubezero-addons/values.yaml b/charts/kubezero-addons/values.yaml new file mode 100644 index 00000000..aaf874e8 --- /dev/null +++ b/charts/kubezero-addons/values.yaml @@ -0,0 +1,18 @@ +metallb: + enabled: true + psp: + create: false + + controller: + tolerations: + - key: node-role.kubernetes.io/master + effect: NoSchedule + nodeSelector: + node-role.kubernetes.io/master: "" + + configInline: {} +# address-pools: +# - name: my-ip-space +# protocol: layer2 +# addresses: +# - 192.168.42.0/24 diff --git a/charts/kubezero/Chart.yaml b/charts/kubezero/Chart.yaml index d7a45b02..65e4a49c 100644 --- a/charts/kubezero/Chart.yaml +++ b/charts/kubezero/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: kubezero description: KubeZero - Bootstrap and ArgoCD Root App of Apps chart type: application -version: 1.20.8-7 +version: 1.20.8-8 home: https://kubezero.com icon: https://cdn.zero-downtime.net/assets/kubezero/logo-small-64.png keywords: diff --git a/charts/kubezero/templates/addons.yaml b/charts/kubezero/templates/addons.yaml new file mode 100644 index 00000000..61084059 --- /dev/null +++ b/charts/kubezero/templates/addons.yaml @@ -0,0 +1,13 @@ +{{- define "addons-values" }} + +{{- with index .Values "addons" "metallb" }} +metallb: + {{- toYaml . | nindent 2 }} +{{- end }} + +{{- end }} + +{{- define "addons-argo" }} +{{- end }} + +{{ include "kubezero-app.app" . }} diff --git a/charts/kubezero/templates/argoless.yaml b/charts/kubezero/templates/argoless.yaml index d7c95202..c38f0de8 100644 --- a/charts/kubezero/templates/argoless.yaml +++ b/charts/kubezero/templates/argoless.yaml @@ -1,7 +1,7 @@ {{- if and ( not .Values.argocdAppName ) ( not .Values.installKubeZero ) }} # if no ArgoCD is used, only render the global values.yaml for all kubezero modules -{{- $artifacts := list "calico" "cert-manager" "kiam" "aws-ebs-csi-driver" "aws-efs-csi-driver" "istio" "istio-ingress" "metrics" "logging" "argocd" "storage" }} +{{- $artifacts := list "addons" "calico" "cert-manager" "kiam" "aws-ebs-csi-driver" "aws-efs-csi-driver" "istio" "istio-ingress" "metrics" "logging" "argocd" "storage" }} {{- range $artifacts }} {{- if index $.Values . }} diff --git a/charts/kubezero/values.yaml b/charts/kubezero/values.yaml index 0135094a..2ca9eb13 100644 --- a/charts/kubezero/values.yaml +++ b/charts/kubezero/values.yaml @@ -6,6 +6,10 @@ kubezero: HighAvailableControlplane: false +addons: + enabled: false + targetRevision: 0.0.1 + calico: enabled: false crds: true