diff --git a/charts/kubezero-storage/Chart.yaml b/charts/kubezero-storage/Chart.yaml new file mode 100644 index 00000000..9c2f616e --- /dev/null +++ b/charts/kubezero-storage/Chart.yaml @@ -0,0 +1,18 @@ +apiVersion: v2 +name: kubezero-storage +description: KubeZero umbrella chart for all things storage, eg. openEBS +type: application +version: 0.1.0 +home: https://kubezero.com +icon: https://cdn.zero-downtime.net/assets/kubezero/logo-small-64.png +keywords: + - kubezero + - gemini +maintainers: + - name: Quarky9 +dependencies: + - name: openebs + version: 2.11.2 + repository: https://openebs.github.io/charts + condition: openebs.enabled +kubeVersion: ">= 1.18.0" diff --git a/charts/kubezero-storage/README.md b/charts/kubezero-storage/README.md new file mode 100644 index 00000000..9940ea4b --- /dev/null +++ b/charts/kubezero-storage/README.md @@ -0,0 +1,33 @@ +# kubezero-timecapsule + +![Version: 0.1.0](https://img.shields.io/badge/Version-0.1.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) + +KubeZero umbrella chart for all things backup + +**Homepage:** + +## Maintainers + +| Name | Email | Url | +| ---- | ------ | --- | +| Quarky9 | | | + +## Requirements + +Kubernetes: `>= 1.18.0` + +| Repository | Name | Version | +|------------|------|---------| +| | gemini | 0.0.6 | + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| gemini.resources.limits.cpu | string | `"400m"` | | +| gemini.resources.limits.memory | string | `"128Mi"` | | +| gemini.resources.requests.cpu | string | `"20m"` | | +| gemini.resources.requests.memory | string | `"32Mi"` | | + +---------------------------------------------- +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-storage/templates/lvm-storageclass.yaml b/charts/kubezero-storage/templates/lvm-storageclass.yaml new file mode 100644 index 00000000..4ef418e4 --- /dev/null +++ b/charts/kubezero-storage/templates/lvm-storageclass.yaml @@ -0,0 +1,11 @@ +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: openebs-lvm +volumeBindingMode: WaitForFirstConsumer +reclaimPolicy: Delete +parameters: + storage: lvm + vgpattern: "openebs.*" + fsType: xfs +provisioner: local.csi.openebs.io diff --git a/charts/kubezero-storage/update.sh b/charts/kubezero-storage/update.sh new file mode 100755 index 00000000..b6a5126f --- /dev/null +++ b/charts/kubezero-storage/update.sh @@ -0,0 +1,10 @@ +#!/bin/bash +set -ex + +export VERSION=2.11.2 + +#rm -rf charts/gemini +#helm pull fairwinds-stable/gemini --untar --untardir charts + +# Patch for istiod to control plane +#patch -p0 -i run-on-controller.patch --no-backup-if-mismatch diff --git a/charts/kubezero-storage/values.yaml b/charts/kubezero-storage/values.yaml new file mode 100644 index 00000000..ddca2c09 --- /dev/null +++ b/charts/kubezero-storage/values.yaml @@ -0,0 +1,40 @@ +openebs: + enabled: true + + apiserver: + enabled: false + provisioner: + enabled: false + localprovisioner: + enabled: false + ndm: + enabled: false + ndmOperator: + enabled: false + snapshotOperator: + enabled: false + webhook: + enabled: false + + # Google Analytics ?? + analytics: + enabled: false + + # We only use LVM for now + lvm-localpv: + enabled: true + + lvmNode: + nodeSelector: + node.kubernetes.io/lvm: "openebs" + tolerations: + - key: kubezero-workergroup + effect: NoSchedule + operator: Exists + + lvmController: + tolerations: + - key: node-role.kubernetes.io/master + effect: NoSchedule + nodeSelector: + node-role.kubernetes.io/master: "" diff --git a/charts/kubezero/bootstrap.sh b/charts/kubezero/bootstrap.sh index 5e2da6ac..06c6623f 100755 --- a/charts/kubezero/bootstrap.sh +++ b/charts/kubezero/bootstrap.sh @@ -186,10 +186,6 @@ function kiam-pre() { function kiam-post() { wait_for 'kubectl get daemonset -n kube-system kiam-agent' kubectl rollout status daemonset -n kube-system kiam-agent - - # Make sure kube-system and cert-manager are allowed to kiam - kubectl annotate --overwrite namespace kube-system 'iam.amazonaws.com/permitted=.*' - kubectl annotate --overwrite namespace cert-manager 'iam.amazonaws.com/permitted=.*CertManagerRole.*' } diff --git a/charts/kubezero/templates/argoless.yaml b/charts/kubezero/templates/argoless.yaml index b6796fa3..cffffd6b 100644 --- a/charts/kubezero/templates/argoless.yaml +++ b/charts/kubezero/templates/argoless.yaml @@ -1,6 +1,6 @@ {{- if not .Values.argo }} -{{- $artifacts := list "calico" "cert-manager" "kiam" "aws-node-termination-handler" "aws-ebs-csi-driver" "aws-efs-csi-driver" "local-volume-provisioner" "local-path-provisioner" "istio" "istio-ingress" "metrics" "logging" "argocd" "timecapsule" }} +{{- $artifacts := list "calico" "cert-manager" "kiam" "aws-node-termination-handler" "aws-ebs-csi-driver" "aws-efs-csi-driver" "local-volume-provisioner" "local-path-provisioner" "istio" "istio-ingress" "metrics" "logging" "argocd" "timecapsule" "storage" }} {{- if .Values.global }} global: diff --git a/charts/kubezero/templates/storage.yaml b/charts/kubezero/templates/storage.yaml new file mode 100644 index 00000000..d9733736 --- /dev/null +++ b/charts/kubezero/templates/storage.yaml @@ -0,0 +1,7 @@ +{{- define "storage-values" }} +{{- end }} + +{{- define "storage-argo" }} +{{- end }} + +{{ include "kubezero-app.app" . }} diff --git a/charts/kubezero/values.yaml b/charts/kubezero/values.yaml index 826642bc..0558c856 100644 --- a/charts/kubezero/values.yaml +++ b/charts/kubezero/values.yaml @@ -26,6 +26,10 @@ aws-node-termination-handler: timecapsule: enabled: false +storage: + enabled: false + crds: true + local-volume-provisioner: enabled: false