Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore(charts): add ndm helm3 charts (#488)
**NOTE:** This PR should be merged only after #491 and #490 This PR adds helm3 charts for NDM installation. NDM component will have its own service account and RBAC. So following Kubernetes resource are created for NDM that is not shared with other OpenEBS components: 1. ClusterRole: ( Default name is `openebs-ndm`) 2. ClusterRoleBinding: ( Default name is `openebs-ndm`) 3. ServiceAccount : ( Default name is `openebs-ndm`) NDM Daemonset default name : `openebs-ndm` NDM deployment default name: `openebs-ndm-operator` NDM configmap default name: `openebs-ndm-config` #### Special notes for your reviewer: - There has been a change in match label selectors for the NDM pods. See the following for the comparison **Older Helm Chart Based NDM Daemon Set:** ``` apiVersion: apps/v1 kind: DaemonSet metadata: name: {{ template "openebs.fullname" . }}-ndm labels: app: {{ template "openebs.name" . }} chart: {{ template "openebs.chart" . }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} component: ndm openebs.io/component-name: ndm openebs.io/version: {{ .Values.release.version }} spec: updateStrategy: type: "RollingUpdate" selector: matchLabels: app: {{ template "openebs.name" . }} release: {{ .Release.Name }} component: ndm template: metadata: labels: app: {{ template "openebs.name" . }} release: {{ .Release.Name }} component: ndm openebs.io/component-name: ndm name: openebs-ndm openebs.io/version: {{ .Values.release.version }} ``` **Current Helm Chart Based NDM Daemon Set:** ``` apiVersion: apps/v1 kind: DaemonSet metadata: annotations: deprecated.daemonset.template.generation: "1" meta.helm.sh/release-name: pascal meta.helm.sh/release-namespace: openebs creationTimestamp: "2020-08-26T15:28:33Z" generation: 1 labels: app: openebs-ndm app.kubernetes.io/managed-by: Helm chart: openebs-ndm-0.8.0 component: ndm heritage: Helm openebs.io/component-name: ndm openebs.io/version: 0.8.0 release: pascal spec: selector: matchLabels: app: openebs-ndm component: ndm release: pascal template: metadata: creationTimestamp: null labels: app: openebs-ndm chart: openebs-ndm-0.8.0 component: ndm heritage: Helm name: openebs-ndm openebs.io/component-name: ndm openebs.io/version: 0.8.0 release: pascal ``` **Older Helm Chart Based NDM Operator:** ``` apiVersion: apps/v1 kind: Deployment metadata: name: {{ template "openebs.fullname" . }}-ndm-operator labels: app: {{ template "openebs.name" . }} chart: {{ template "openebs.chart" . }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} component: ndm-operator openebs.io/component-name: ndm-operator openebs.io/version: {{ .Values.release.version }} name: ndm-operator spec: replicas: {{ .Values.ndmOperator.replicas }} strategy: type: "Recreate" rollingUpdate: null selector: matchLabels: app: {{ template "openebs.name" . }} release: {{ .Release.Name }} template: metadata: labels: app: {{ template "openebs.name" . }} release: {{ .Release.Name }} component: ndm-operator name: ndm-operator openebs.io/component-name: ndm-operator openebs.io/version: {{ .Values.release.version }} ``` **Current Helm Chart Based NDM operator:** ``` apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "1" meta.helm.sh/release-name: pascal meta.helm.sh/release-namespace: openebs creationTimestamp: "2020-08-26T15:28:33Z" generation: 1 labels: app: openebs-ndm-operator app.kubernetes.io/managed-by: Helm chart: openebs-ndm-0.8.0 component: openebs-ndm-operator heritage: Helm openebs.io/component-name: openebs-ndm-operator openebs.io/version: 0.8.0 release: pascal spec: replicas: 1 selector: matchLabels: app: openebs-ndm-operator component: openebs-ndm-operator release: pascal strategy: type: Recreate template: metadata: creationTimestamp: null labels: app: openebs-ndm-operator chart: openebs-ndm-0.8.0 component: openebs-ndm-operator heritage: Helm openebs.io/component-name: openebs-ndm-operator openebs.io/version: 0.8.0 release: pascal ``` **Notable Changes As Part of Best Practice:** - The labels of ndm daemonset and ndm operator yaml comes from `helper.tpl`. This is more maintainable and less error prone. - Clean up container image values is segregated in Values.yaml file. Signed-off-by: Ashutosh Kumar <[email protected]>
- Loading branch information