From a08b0e17118926f61b8ffa15e1c5f05e1bbbe7b0 Mon Sep 17 00:00:00 2001 From: Tiji Thomas Date: Thu, 7 Jul 2022 12:01:53 +0530 Subject: [PATCH] Update Dkube: Result of running make charts --- assets/dkube/dkube-deployer-1.0.602.tgz | Bin 0 -> 10170 bytes .../dkube/dkube-deployer/1.0.602/.helmignore | 23 ++ .../dkube/dkube-deployer/1.0.602/Chart.yaml | 19 + .../dkube-deployer/1.0.602/app-readme.md | 30 ++ .../dkube-deployer/1.0.602/questions.yaml | 326 ++++++++++++++++++ .../1.0.602/templates/NOTES.txt | 7 + .../1.0.602/templates/_helpers.tpl | 53 +++ .../1.0.602/templates/config-map.yaml | 167 +++++++++ .../1.0.602/templates/hooks/uninstall.yaml | 47 +++ .../1.0.602/templates/hooks/upgrade.yaml | 67 ++++ .../1.0.602/templates/install.yaml | 41 +++ .../1.0.602/templates/secrets.yaml | 10 + .../1.0.602/templates/serviceaccount.yaml | 136 ++++++++ .../dkube-deployer/1.0.602/values.schema.json | 205 +++++++++++ .../dkube/dkube-deployer/1.0.602/values.yaml | 182 ++++++++++ index.yaml | 23 ++ 16 files changed, 1336 insertions(+) create mode 100644 assets/dkube/dkube-deployer-1.0.602.tgz create mode 100644 charts/dkube/dkube-deployer/1.0.602/.helmignore create mode 100644 charts/dkube/dkube-deployer/1.0.602/Chart.yaml create mode 100644 charts/dkube/dkube-deployer/1.0.602/app-readme.md create mode 100644 charts/dkube/dkube-deployer/1.0.602/questions.yaml create mode 100644 charts/dkube/dkube-deployer/1.0.602/templates/NOTES.txt create mode 100644 charts/dkube/dkube-deployer/1.0.602/templates/_helpers.tpl create mode 100644 charts/dkube/dkube-deployer/1.0.602/templates/config-map.yaml create mode 100644 charts/dkube/dkube-deployer/1.0.602/templates/hooks/uninstall.yaml create mode 100644 charts/dkube/dkube-deployer/1.0.602/templates/hooks/upgrade.yaml create mode 100644 charts/dkube/dkube-deployer/1.0.602/templates/install.yaml create mode 100644 charts/dkube/dkube-deployer/1.0.602/templates/secrets.yaml create mode 100644 charts/dkube/dkube-deployer/1.0.602/templates/serviceaccount.yaml create mode 100644 charts/dkube/dkube-deployer/1.0.602/values.schema.json create mode 100644 charts/dkube/dkube-deployer/1.0.602/values.yaml diff --git a/assets/dkube/dkube-deployer-1.0.602.tgz b/assets/dkube/dkube-deployer-1.0.602.tgz new file mode 100644 index 0000000000000000000000000000000000000000..6f79fad10a50336064361c1d1504b71304fe6400 GIT binary patch literal 10170 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 ozx~#F47^ZotzSAY:role/'" + type: string + label: IAMRole +# Node Affinity +- variable: optional.nodeAffinity.dkubeNodesLabel + default: "" + description: "Nodes identified by labels on which the dkube pods must be scheduled.. Say management nodes. Unfilled means no binding. When filled there needs to be minimum of 3nodes in case of HA and one node in case of non-HA. Example: DKUBE_NODES_LABEL: key1=value1. Please refer to section Node Affinity of installation guide. https://dkube.io/install/install3_x/Install-Advanced.html#node-affinity" + type: string + label: DKUBE_NODES_LABEL + group: "NodeAffinity" + show_if: "EULA=yes" +- variable: optional.nodeAffinity.dkubeNodesTaints + default: "" + description: "Nodes to be tolerated by dkube control plane pods so that only they can be scheduled on the nodes. Example: DKUBE_NODES_TAINTS: key1=value1:NoSchedule,key2=value2:NoSchedule" + type: string + label: DKUBE_NODES_TAINTS + group: "NodeAffinity" + show_if: "EULA=yes" +- variable: optional.nodeAffinity.gpuWorkloadTaints + default: "" + description: "Taints of the nodes where gpu workloads must be scheduled. Example: GPU_WORKLOADS_TAINTS: key1=value1:NoSchedule,key2=value2:NoSchedule" + type: string + label: GPU_WORKLOADS_TAINTS + group: "NodeAffinity" + show_if: "EULA=yes" +- variable: optional.nodeAffinity.productionWorkloadTaints + default: "" + description: "Taints of the nodes where production workloads must be scheduled. Example: PRODUCTION_WORKLOADS_TAINTS: key1=value1:NoSchedule,key2=value2:NoSchedule" + type: string + label: PRODUCTION_WORKLOADS_TAINTS + group: "NodeAffinity" + show_if: "EULA=yes" +- variable: optional.dkubeDockerhubCredentialsSecret + default: "" + description: "Dockerhub Secrets for OCDR images. If you don't create, this will be auto-created with default values." + type: string + label: DKUBE DOCKERHUB CREDENTIALS SECRET + group: "General" + show_if: "EULA=yes" +- variable: optional.IAMRole + default: "" + description: "AWS IAM role. Valid only if KUBE_PROVIDER=eks. This will be set as an annotation in few deployments. Format should be like: IAMRole: ': ' eg: IAMRole: 'iam.amazonaws.com/role: arn:aws:iam::123456789012:role/myrole'" + type: string + label: IAMRole + group: "General" + show_if: "EULA=yes&&provider=eks" diff --git a/charts/dkube/dkube-deployer/1.0.602/templates/NOTES.txt b/charts/dkube/dkube-deployer/1.0.602/templates/NOTES.txt new file mode 100644 index 000000000..1e25c33a3 --- /dev/null +++ b/charts/dkube/dkube-deployer/1.0.602/templates/NOTES.txt @@ -0,0 +1,7 @@ +Installing Dkube {{ .Values.version }} + +DKube Installation has started. Please use the commands below to view the installation progress. The commands are for installation only. Do not use them for upgrade. + +kubectl wait --for=condition=ready --timeout=5m pod -l job-name=dkube-helm-installer + +kubectl logs -l job-name=dkube-helm-installer --follow --tail=-1 && kubectl wait --for=condition=complete --timeout=30m job/dkube-helm-installer \ No newline at end of file diff --git a/charts/dkube/dkube-deployer/1.0.602/templates/_helpers.tpl b/charts/dkube/dkube-deployer/1.0.602/templates/_helpers.tpl new file mode 100644 index 000000000..8453df294 --- /dev/null +++ b/charts/dkube/dkube-deployer/1.0.602/templates/_helpers.tpl @@ -0,0 +1,53 @@ +{{/* +Expand the name of the chart. +*/}} +{{- define "dkube-deployer.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "dkube-deployer.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "dkube-deployer.labels" -}} +helm.sh/chart: {{ include "dkube-deployer.chart" . }} +{{ include "dkube-deployer.selectorLabels" . }} +app.kubernetes.io/version: {{ .Values.version | quote }} +app.kubernetes.io/managed-by: "dkube.io" +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "dkube-deployer.selectorLabels" -}} +app.kubernetes.io/name: {{ include "dkube-deployer.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} + + +{{/* +Image pull secret +*/}} +{{- define "dkube-deployer.imagePullSecretData" -}} +{{- with .Values.registry }} +{{- printf "{\"auths\":{\"%s\":{\"username\":\"%s\",\"password\":\"%s\",\"email\":\"ocdlgit@oneconvergence.com\",\"auth\":\"%s\"}}}" .name .username .password (printf "%s:%s" .username .password | b64enc) | b64enc }} +{{- end }} +{{- end }} + + +{{/* +model catalog enable flag +*/}} +{{- define "dkube-deployer.modelCatalog" -}} +{{- if hasPrefix "2.1" .Values.version }} +{{- printf "false" }} +{{- else }} +{{- printf "true" }} +{{- end }} +{{- end }} \ No newline at end of file diff --git a/charts/dkube/dkube-deployer/1.0.602/templates/config-map.yaml b/charts/dkube/dkube-deployer/1.0.602/templates/config-map.yaml new file mode 100644 index 000000000..c30026eaf --- /dev/null +++ b/charts/dkube/dkube-deployer/1.0.602/templates/config-map.yaml @@ -0,0 +1,167 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: dkube-config + namespace: {{ .Release.Namespace }} + labels: + {{- include "dkube-deployer.labels" . | nindent 4 }} +data: + dkube.ini: | + ################################################################# + # # + # DKUBE CONFIG FILE # + # # + ################################################################# + + [REQUIRED] + # Choose one of dkube/gke/okd/eks/ntnx + KUBE_PROVIDER={{ .Values.provider }} + # When HA=true k8s cluster must have min 3 schedulable nodes + HA={{ .Values.ha }} + # Operator's Local Sign In Details + # Username cannot be same as that of a namespace's name. + # Also, following names are restricted- dkube, monitoring, kubeflow + # '$' is not supported + USERNAME={{ .Values.username }} + PASSWORD={{ .Values.password }} + # To wipe dkube storage + # Accepted values: yes/no + WIPEDATA={{ .Values.wipedata }} + # To install minimal version of dkube + # Accepted values: yes/no + MINIMAL={{ .Values.minimal }} + # To install air-gapped version of dkube + # Accepted values: yes/no + AIRGAP={{ .Values.airgap }} + + + [NODE-AFFINITY] + # Nodes identified by labels on which the dkube pods must be scheduled.. Say management nodes. Unfilled means no binding. When filled there needs to be minimum of 3nodes in case of HA and one node in case of non-HA + # Example: DKUBE_NODES_LABEL: key1=value1 + DKUBE_NODES_LABEL: {{ .Values.optional.nodeAffinity.dkubeNodesLabel }} + # Nodes to be tolerated by dkube control plane pods so that only they can be scheduled on the nodes + # Example: DKUBE_NODES_TAINTS: key1=value1:NoSchedule,key2=value2:NoSchedule + DKUBE_NODES_TAINTS: {{ .Values.optional.nodeAffinity.dkubeNodesTaints }} + # Taints of the nodes where gpu workloads must be scheduled. + # Example: GPU_WORKLOADS_TAINTS: key1=value1:NoSchedule,key2=value2:NoSchedule + GPU_WORKLOADS_TAINTS: {{ .Values.optional.nodeAffinity.gpuWorkloadTaints }} + # Taints of the nodes where production workloads must be scheduled. + # Example: PRODUCTION_WORKLOADS_TAINTS: key1=value1:NoSchedule,key2=value2:NoSchedule + PRODUCTION_WORKLOADS_TAINTS: {{ .Values.optional.nodeAffinity.productionWorkloadTaints }} + + [OPTIONAL] + # version of dkube installer to be used + DKUBE_INSTALLER_VERSION={{ .Values.version }} + # version of dkube to be installed + DKUBE_VERSION={{ .Values.version }} + # Dockerhub Secrets for OCDR images + # If you don't create, this will be auto-created with default values. + DKUBE_DOCKERHUB_CREDENTIALS_SECRET={{ .Values.optional.dkubeDockerhubCredentialsSecret }} + # TLS Secret of Operator's Certificate & Private Key + # If you don't create, place your certificate and private key in $HOME/.dkube + DKUBE_OPERATOR_CERTIFICATE= + # Repository from where Dkube images can be picked. + # Format: registry/[repo] + DKUBE_REGISTRY={{ .Values.registry.name }} + # Container registry username + REGISTRY_UNAME={{ .Values.registry.username }} + # Container registry password + REGISTRY_PASSWD={{ .Values.registry.password }} + # AWS IAM role + # Valid only if KUBE_PROVIDER=eks + # This will be set as an annotation in few deployments + # Format should be like: + # IAM_ROLE=: + # eg: IAM_ROLE=iam.amazonaws.com/role: arn:aws:iam::123456789012:role/myrole + # Note: Don't enclose with quotes + IAM_ROLE={{ .Values.optional.IAMRole }} + + [EXTERNAL] + # Type of dkube proxy service, possible values are nodeport and loadbalancer + ACCESS={{ .Values.optional.loadbalancer.access }} + # 'true' - to install MetalLB Loadbalancer + # Must fill LB_VIP_POOL if true + INSTALL_LOADBALANCER={{ .Values.optional.loadbalancer.metallb }} + # Only CIDR notation is allowed. E.g: 192.168.2.0/24 + # Valid only if INSTALL_LOADBALANCER=true + LB_VIP_POOL={{ .Values.optional.loadbalancer.vipPool }} + + [STORAGE] + # Type of storage + # Possible values: disk, pv, sc, nfs + # Following are required fields for corresponding storage type + # ------------------------------------------------------- + # STORAGE_TYPE REQUIRED_FIELDS + # ------------------------------------------------------- + # disk STORAGE_DISK_NODE and STORAGE_DISK_PATH + # pv STORAGE_PV + # sc STORAGE_SC + # nfs STORAGE_NFS_SERVER and STORAGE_NFS_PATH + # ceph STORAGE_CEPH_MONITORS and STORAGE_CEPH_SECRET + # For 2.2.1.12 and later + # ceph STORAGE_CEPH_FILESYSTEM and STORAGE_CEPH_NAMESPACE + + STORAGE_TYPE={{ .Values.optional.storage.type }} + # Localpath on the storage node + STORAGE_DISK_PATH={{ .Values.optional.storage.path }} + # Nodename of the storage node + # Possible values: AUTO/ + # AUTO - Master node will be chosen for storage if KUBE_PROVIDER=dkube + STORAGE_DISK_NODE={{ .Values.optional.storage.node }} + # Name of persistent volume + STORAGE_PV={{ .Values.optional.storage.persistentVolume }} + # Name of storage class name + # Make sure dynamic provisioner is running for the storage class name + STORAGE_SC={{ .Values.optional.storage.storageClass }} + # NFS server ip + STORAGE_NFS_SERVER={{ .Values.optional.storage.nfsServer }} + # NFS path (Make sure the path exists) + STORAGE_NFS_PATH={{ .Values.optional.storage.nfsPath }} + # Comma separated IPs of ceph monitors + STORAGE_CEPH_MONITORS={{ .Values.optional.storage.cephMonitors }} + # Ceph secret + STORAGE_CEPH_SECRET={{ .Values.optional.storage.cephSecret }} + # Name of the ceph filesystem + # E.g: dkubefs + STORAGE_CEPH_FILESYSTEM={{ .Values.optional.storage.cephFilesystem }} + # Name of the namespace where ceph is installed + # E.g: rook-ceph + STORAGE_CEPH_NAMESPACE={{ .Values.optional.storage.cephNamespace }} + + # Internal Ceph + # Internal ceph is installed when HA=true and STORAGE_TYPE is not in ("nfs", "ceph") + # Both the following fields are compulsory + # Configuration path for internal ceph + STORAGE_CEPH_PATH={{ .Values.optional.storage.cephPath }} + # Disk name for internal ceph storage + # It should be a raw formatted disk + # E.g: sdb + STORAGE_CEPH_DISK={{ .Values.optional.storage.cephDisk }} + [MODELMONITOR] + #To enable modelmonitor in dkube. (true / false) + ENABLED={{ .Values.optional.modelmonitor.enabled }} + [CICD] + #To enable tekton cicd with dkube. (true / false) + ENABLED={{ .Values.optional.CICD.enabled }} + #Docker registry where CICD built images will be saved. + #For DockerHub, enter docker.io/ + DOCKER_REGISTRY={{ .Values.optional.CICD.registryName }} + REGISTRY_USERNAME={{ .Values.optional.CICD.registryUsername }} + REGISTRY_PASSWORD={{ .Values.optional.CICD.registryPassword }} + + #For AWS ECR on EKS K8S cluster, enter registry as aws_account_id.dkr.ecr.region.amazonaws.com. + #DOCKER_REGISTRY=aws_account_id.dkr.ecr.region.amazonaws.com + #Worker nodes should either have AmazonEC2ContainerRegistryFullAccess or if you are using KIAM + #based IAM control, provide an IAM role which has AmazonEC2ContainerRegistryFullAccess + IAM_ROLE={{ .Values.optional.CICD.IAMRole }} + [MODEL-CATALOG] + #To enable model catalog with dkube. (true / false) + ENABLED={{ template "dkube-deployer.modelCatalog" . }} + + #To configure external database for dkube + [DBAAS] + #Supported mysql, sqlserver(mssql) + #Empty will pickup default sql db installed with dkube. + DATABASE={{ .Values.optional.DBAAS.database }} + #Syntaxes here can be followed to specify dsn https://gorm.io/docs/connecting_to_the_database.html + DSN={{ .Values.optional.DBAAS.dsn }} diff --git a/charts/dkube/dkube-deployer/1.0.602/templates/hooks/uninstall.yaml b/charts/dkube/dkube-deployer/1.0.602/templates/hooks/uninstall.yaml new file mode 100644 index 000000000..edf812368 --- /dev/null +++ b/charts/dkube/dkube-deployer/1.0.602/templates/hooks/uninstall.yaml @@ -0,0 +1,47 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: "dkube-uninstaller-hook" + namespace: {{ .Release.Namespace }} + labels: + {{- include "dkube-deployer.labels" . | nindent 4 }} + annotations: + # This is what defines this resource as a hook. Without this line, the + # job is considered part of the release. + "helm.sh/hook": pre-delete + "helm.sh/hook-weight": "-5" + "helm.sh/hook-delete-policy": before-hook-creation +spec: + backoffLimit: 0 + template: + metadata: + name: "dkube-uninstaller-hook" + labels: + {{- include "dkube-deployer.selectorLabels" . | nindent 8 }} + spec: + hostPID: true + restartPolicy: Never + imagePullSecrets: + - name: dkube-dockerhub-secret + containers: + - name: dkube-uninstaller-hook + image: {{ .Values.registry.name }}/dkubeadm:{{ .Values.version }} + imagePullPolicy: Always + securityContext: + privileged: true + volumeMounts: + - + mountPath: /root/.dkube/dkube.ini + name: dkube-config + subPath: dkube.ini + {{- if eq .Values.wipedata "yes" }} + command: ["/opt/dkubeadm/dkubeadm.sh", "dkube", "uninstall", "--wipe-data"] + {{- else }} + command: ["/opt/dkubeadm/dkubeadm.sh", "dkube", "uninstall"] + {{- end }} + serviceAccountName: dkube-deployer-sa + volumes: + - + configMap: + name: dkube-config + name: dkube-config diff --git a/charts/dkube/dkube-deployer/1.0.602/templates/hooks/upgrade.yaml b/charts/dkube/dkube-deployer/1.0.602/templates/hooks/upgrade.yaml new file mode 100644 index 000000000..246787b71 --- /dev/null +++ b/charts/dkube/dkube-deployer/1.0.602/templates/hooks/upgrade.yaml @@ -0,0 +1,67 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: "dkube-upgrade-hook" + namespace: {{ .Release.Namespace }} + labels: + {{- include "dkube-deployer.labels" . | nindent 4 }} + annotations: + # This is what defines this resource as a hook. Without this line, the + # job is considered part of the release. + "helm.sh/hook": post-upgrade + "helm.sh/hook-weight": "-1" + "helm.sh/hook-delete-policy": before-hook-creation +spec: + backoffLimit: 0 + template: + metadata: + name: "dkube-upgrade-hook" + labels: + {{- include "dkube-deployer.selectorLabels" . | nindent 8 }} + spec: + restartPolicy: Never + imagePullSecrets: + - name: dkube-dockerhub-secret + containers: + - name: dkube-upgrade-hook + image: {{ .Values.registry.name }}/dkubeadm:{{ .Values.version }} + imagePullPolicy: Always + securityContext: + privileged: true + command: ["/opt/dkubeadm/dkubeadm.sh", "dkube", "upgrade", {{ .Values.version | quote}}] + serviceAccountName: dkube-deployer-sa +--- +apiVersion: batch/v1 +kind: Job +metadata: + name: "dkube-installer-job-cleanup-hook" + namespace: {{ .Release.Namespace }} + labels: + {{- include "dkube-deployer.labels" . | nindent 4 }} + annotations: + # This is what defines this resource as a hook. Without this line, the + # job is considered part of the release. + "helm.sh/hook": pre-upgrade,post-upgrade + "helm.sh/hook-weight": "-2" + "helm.sh/hook-delete-policy": before-hook-creation +spec: + backoffLimit: 0 + template: + metadata: + name: "dkube-installer-job-cleanup-hook" + labels: + {{- include "dkube-deployer.selectorLabels" . | nindent 8 }} + spec: + restartPolicy: Never + imagePullSecrets: + - name: dkube-dockerhub-secret + containers: + - name: dkube-installer-job-cleanup-hook + image: {{ .Values.registry.name }}/dkubeadm:{{ .Values.version }} + imagePullPolicy: Always + securityContext: + privileged: true + command: ["/bin/sh", "-c"] + args: + - kubectl delete job dkube-helm-installer --ignore-not-found=true + serviceAccountName: dkube-deployer-sa \ No newline at end of file diff --git a/charts/dkube/dkube-deployer/1.0.602/templates/install.yaml b/charts/dkube/dkube-deployer/1.0.602/templates/install.yaml new file mode 100644 index 000000000..667928ae7 --- /dev/null +++ b/charts/dkube/dkube-deployer/1.0.602/templates/install.yaml @@ -0,0 +1,41 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: "dkube-helm-installer" + namespace: {{ .Release.Namespace }} + labels: + {{- include "dkube-deployer.labels" . | nindent 4 }} +spec: + backoffLimit: 0 + template: + metadata: + name: "dkube-helm-installer" + labels: + {{- include "dkube-deployer.selectorLabels" . | nindent 8 }} + spec: + hostPID: true + restartPolicy: Never + imagePullSecrets: + - name: dkube-dockerhub-secret + containers: + - name: dkube-helm-installer + image: {{ .Values.registry.name }}/dkubeadm:{{ .Values.version }} + imagePullPolicy: Always + securityContext: + privileged: true + volumeMounts: + - + mountPath: /root/.dkube/dkube.ini + name: dkube-config + subPath: dkube.ini + {{- if eq .Values.wipedata "yes" }} + command: ["/opt/dkubeadm/dkubeadm.sh", "dkube", "install", "--accept-eula=yes", "--wipe-data"] + {{- else }} + command: ["/opt/dkubeadm/dkubeadm.sh", "dkube", "install", "--accept-eula={{ .Values.EULA }}"] + {{- end }} + serviceAccountName: dkube-deployer-sa + volumes: + - + configMap: + name: dkube-config + name: dkube-config diff --git a/charts/dkube/dkube-deployer/1.0.602/templates/secrets.yaml b/charts/dkube/dkube-deployer/1.0.602/templates/secrets.yaml new file mode 100644 index 000000000..d46b7098a --- /dev/null +++ b/charts/dkube/dkube-deployer/1.0.602/templates/secrets.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: Secret +metadata: + name: dkube-dockerhub-secret + namespace: {{ .Release.Namespace }} + labels: + {{- include "dkube-deployer.labels" . | nindent 4 }} +type: kubernetes.io/dockerconfigjson +data: + .dockerconfigjson: {{ template "dkube-deployer.imagePullSecretData" . }} \ No newline at end of file diff --git a/charts/dkube/dkube-deployer/1.0.602/templates/serviceaccount.yaml b/charts/dkube/dkube-deployer/1.0.602/templates/serviceaccount.yaml new file mode 100644 index 000000000..6c1146f8b --- /dev/null +++ b/charts/dkube/dkube-deployer/1.0.602/templates/serviceaccount.yaml @@ -0,0 +1,136 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: dkube-deployer-binding + labels: + {{- include "dkube-deployer.labels" . | nindent 4 }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: cluster-admin +subjects: +- kind: ServiceAccount + name: dkube-deployer-sa + namespace: {{ .Release.Namespace }} +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: dkube-deployer-sa + namespace: {{ .Release.Namespace }} + labels: + {{- include "dkube-deployer.labels" . | nindent 4 }} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: dkube-deployer-clusterrole + namespace: {{ .Release.Namespace }} + labels: + {{- include "dkube-deployer.labels" . | nindent 4 }} +rules: +- apiGroups: + - "" + resources: + - pods + - pods/exec + - pods/portforward + verbs: + - create + - get + - list + - watch + - update + - patch + - delete +- apiGroups: + - argoproj.io + resources: + - workflows + verbs: + - get + - list + - watch + - update + - patch + - create + - delete +- apiGroups: + - kubeflow.org + resources: + - tfjobs + verbs: + - '*' +- apiGroups: + - kubeflow.org + resources: + - mpijobs + verbs: + - '*' +- apiGroups: + - '*' + resources: + - replicasets + verbs: + - '*' +- apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions + verbs: + - '*' +- apiGroups: + - "" + resources: + - events + verbs: + - list +- apiGroups: + - "" + resources: + - persistentvolumes + - persistentvolumeclaims + - services + - endpoints + - configmaps + verbs: + - '*' +- apiGroups: + - apps + - extensions + resources: + - deployments + - daemonsets + - statefulsets + verbs: + - '*' +- apiGroups: + - "" + resources: + - namespaces + - nodes + verbs: + - '*' +- apiGroups: + - rbac.authorization.k8s.io + resources: + - roles + - rolebindings + - clusterroles + - clusterrolebindings + verbs: + - '*' +- apiGroups: + - "" + resources: + - serviceaccounts + - secrets + verbs: + - '*' +- apiGroups: + - batch + resources: + - jobs + - cronjobs + verbs: + - '*' diff --git a/charts/dkube/dkube-deployer/1.0.602/values.schema.json b/charts/dkube/dkube-deployer/1.0.602/values.schema.json new file mode 100644 index 000000000..e0a6265d4 --- /dev/null +++ b/charts/dkube/dkube-deployer/1.0.602/values.schema.json @@ -0,0 +1,205 @@ +{ + "$schema":"http://json-schema.org/draft-07/schema", + "type":"object", + "title":"The root schema", + "description":"The root schema comprises the entire JSON document.", + "required":[ + "EULA", + "username", + "password", + "version", + "provider", + "ha", + "wipedata", + "registry", + "optional" + ], + "properties":{ + "provider":{ + "$id":"#/properties/provider", + "enum": ["dkube", "gke", "okd", "eks", "ntnx", "tanzu"] + }, + "username":{ + "$id":"#/properties/username", + "type":"string", + "minLength":1 + }, + "password":{ + "$id":"#/properties/password", + "type":"string", + "minLength":1 + }, + "EULA":{ + "$id":"#/properties/EULA", + "type":"string", + "enum": ["yes"] + }, + "ha":{ + "$id":"#/properties/ha", + "type":"boolean" + }, + "wipedata":{ + "$id":"#/properties/wipedata", + "type":"string", + "enum": ["yes", "no"] + }, + "registry":{ + "$id":"#/properties/registry", + "type":"object", + "required": [ + "name", + "username", + "password" + ], + "properties":{ + "name":{ + "$id":"#/properties/registry/properties/name", + "type":"string", + "minLength":1 + }, + "username":{ + "$id":"#/properties/registry/properties/username", + "type":"string", + "minLength":1 + }, + "password":{ + "$id":"#/properties/registry/properties/password", + "type":"string", + "minLength":1 + } + } + }, + "optional":{ + "$id":"#/properties/optional", + "type":"object", + "required": [ + "storage" + ], + "properties":{ + "storage":{ + "$id":"#/properties/optional/properties/storage", + "type":"object", + "properties": { + "type": { + "enum": ["disk", "pv", "sc", "nfs", "ceph"] + } + }, + "allOf":[ + { + "if": { + "properties": {"type": {"const": "disk"}} + }, + "then": { + "$ref": "#/properties/optional/definitions/disk" + } + }, + { + "if": { + "properties": {"type": {"const": "pv"}} + }, + "then": { + "$ref": "#/properties/optional/definitions/pv" + } + }, + { + "if": { + "properties": {"type": {"const": "sc"}} + }, + "then": { + "$ref": "#/properties/optional/definitions/sc" + } + }, + { + "if": { + "properties": {"type": {"const": "nfs"}} + }, + "then": { + "$ref": "#/properties/optional/definitions/nfs" + } + }, + { + "if": { + "properties": {"type": {"const": "ceph"}} + }, + "then": { + "$ref": "#/properties/optional/definitions/ceph" + } + } + ] + } + }, + "definitions":{ + "disk":{ + "properties":{ + "path":{ + "type":"string", + "pattern":"^(/[^/ ]*)+/?$" + }, + "node":{ + "type":"string", + "minLength": 1 + } + }, + "required":[ + "path", + "node" + ] + }, + "pv":{ + "properties":{ + "persistentVolume":{ + "type":"string", + "minLength": 1 + } + }, + "required":[ + "persistentVolume" + ] + }, + "sc":{ + "properties":{ + "storageClass":{ + "type":"string", + "minLength": 1 + } + }, + "required":[ + "storageClass" + ] + }, + "nfs":{ + "properties":{ + "nfsPath":{ + "type":"string", + "pattern":"^(/[^/ ]*)+/?$" + }, + "nfsServer":{ + "type":"string", + "minLength": 1 + } + }, + "required":[ + "nfsPath", + "nfsServer" + ] + }, + "ceph":{ + "properties":{ + "cephMonitors":{ + "type":"string" + }, + "cephSecret":{ + "type":"string" + }, + "cephFilesystem":{ + "type":"string" + }, + "cephNamespace":{ + "type":"string" + } + } + } + } + } + } +} diff --git a/charts/dkube/dkube-deployer/1.0.602/values.yaml b/charts/dkube/dkube-deployer/1.0.602/values.yaml new file mode 100644 index 000000000..1ec6d7852 --- /dev/null +++ b/charts/dkube/dkube-deployer/1.0.602/values.yaml @@ -0,0 +1,182 @@ +# The DKube EULA is available at: www.oneconvergence.com/EULA/One-Convergence-EULA.pdf +# By accepting this license agreement you acknowledge that you agree to the terms and conditions. +# The installation will only proceed if the EULA is accepted by defining the EULA value as "yes". +EULA: "" + +# Operator's Local Sign In Details. +# Username cannot be same as that of a kubernetes namespace's name. +# Names like dkube, monitoring, kubeflow are restricted. +username: "" +password: "" + +# dkube version +version: "3.2.0.1" + +# Choose one of dkube/gke/okd/eks/ntnx/tanzu kube provider +provider: "dkube" + +# For ha deployment, k8s cluster must have min 3 schedulable nodes +ha: false + +# Wipe dkube data during helm operation install/uninstall. +# Choose one of yes/no +wipedata: "" + +# To install minimal version of dkube +# Accepted values: yes/no +minimal: "no" + +# To install air-gapped version of dkube +# Accepted values: yes/no +airgap: "no" + +# Docker registry for DKube installation +registry: + # Format: registry/[repo] + name: "docker.io/ocdr" + + # Container registry username + username: "" + + # Container registry password + password: "" + +optional: + storage: + # Type of storage + # Possible values: disk, pv, sc, nfs, ceph + # Following are required fields for corresponding storage type + # ------------------------------------------------------- + # STORAGE_TYPE REQUIRED_FIELDS + # ------------------------------------------------------- + # disk node and path + # pv persistentVolume + # sc storageClass + # nfs nfsServer and nfsPath + # ceph cephMonitors and cephSecret + # For release 2.2.1.12 and later + # ceph cephFilesystem and cephNamespace + type: "disk" + + # Localpath on the storage node + path: "/var/dkube" + + # Nodename of the storage node + # Possible values: AUTO/ + # AUTO - Master node will be chosen for storage if KUBE_PROVIDER=dkube + node: "" + + # Name of persistent volume + persistentVolume: "" + + # Name of storage class name + # Make sure dynamic provisioner is running for the storage class name + storageClass: "" + + # NFS server ip + nfsServer: "" + + # NFS path (Make sure the path exists) + nfsPath: "" + + # Only for external ceph before release 2.2.1.12 + # Comma separated IPs of ceph monitors + cephMonitors: "" + + # Only for external ceph before release 2.2.1.12 + # Ceph secret + cephSecret: "" + + # Only for external ceph from release 2.2.1.12 + # Name of the ceph filesystem + # E.g: dkubefs + cephFilesystem: "" + + # Only for external ceph from release 2.2.1.12 + # Name of the namespace where ceph is installed + # E.g: rook-ceph + cephNamespace: "" + + # Internal Ceph + # Internal ceph is installed when HA=true and STORAGE_TYPE is not in ("nfs", "ceph") + + # Configuration path for internal ceph + cephPath: "/var/lib/rook" + + # Only for internal ceph from release 2.2.1.12 + # Disk name for internal ceph storage + # It should be a raw formatted disk + # E.g: sdb + cephDisk: "" + + loadbalancer: + # Type of dkube proxy service, possible values are nodeport and loadbalancer + # Please use loadbalancer if kubeProvider is gke. + access: "nodeport" + + # 'true' - to install MetalLB Loadbalancer + # Must fill LB_VIP_POOL if true + metallb: "false" + + # Only CIDR notation is allowed. E.g: 192.168.2.0/24 + # Valid only if installLoadbalancer is true + vipPool: "" + + modelmonitor: + #To enable modelmonitor in dkube. (true / false) + enabled: false + + DBAAS: + # To configure external database for dkube + # Supported mysql, sqlserver(mssql) + # Empty will pickup default sql db installed with dkube + database: "" + + # Syntaxes here can be followed to specify dsn https://gorm.io/docs/connecting_to_the_database.html + dsn: "" + + CICD: + #To enable tekton cicd with dkube. (true / false) + enabled: false + + #Docker registry where CICD built images will be saved. + registryName: "docker.io/ocdr" + registryUsername: "" + registryPassword: "" + + #For AWS ECR on EKS K8S cluster, enter registry as aws_account_id.dkr.ecr.region.amazonaws.com. + #registryName: "aws_account_id.dkr.ecr.region.amazonaws.com" + #Worker nodes should either have AmazonEC2ContainerRegistryFullAccess or if you are using KIAM + #based IAM control, provide an IAM role which has AmazonEC2ContainerRegistryFullAccess + #IAMRole: "arn:aws:iam:::role/" + IAMRole: "" + + nodeAffinity: + # Nodes identified by labels on which the dkube pods must be scheduled.. Say management nodes. Unfilled means no binding. When filled there needs to be minimum of 3nodes in case of HA and one node in case of non-HA + # Example: DKUBE_NODES_LABEL: key1=value1 + dkubeNodesLabel: "" + + # Nodes to be tolerated by dkube control plane pods so that only they can be scheduled on the nodes + # Example: DKUBE_NODES_TAINTS: key1=value1:NoSchedule,key2=value2:NoSchedule + dkubeNodesTaints: "" + + # Taints of the nodes where gpu workloads must be scheduled. + # Example: GPU_WORKLOADS_TAINTS: key1=value1:NoSchedule,key2=value2:NoSchedule + gpuWorkloadTaints: "" + + # Taints of the nodes where production workloads must be scheduled. + # Example: PRODUCTION_WORKLOADS_TAINTS: key1=value1:NoSchedule,key2=value2:NoSchedule + productionWorkloadTaints: "" + + # Dockerhub Secrets for OCDR images + # If you don't create, this will be auto-created with default values. + dkubeDockerhubCredentialsSecret: "dkube-dockerhub-secret" + + # AWS IAM role + # Valid only if KUBE_PROVIDER=eks + # This will be set as an annotation in few deployments + # Format should be like: + # IAMRole: ": " + # eg: IAMRole: "iam.amazonaws.com/role: arn:aws:iam::123456789012:role/myrole" + IAMRole: "" + diff --git a/index.yaml b/index.yaml index 8e70da5ef..1f9eafbae 100755 --- a/index.yaml +++ b/index.yaml @@ -1015,6 +1015,29 @@ entries: - assets/datadog/datadog-2.4.200.tgz version: 2.4.200 dkube-deployer: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: Dkube + catalog.cattle.io/release-name: dkube + apiVersion: v2 + appVersion: 3.2.0.1 + created: "2022-07-07T11:59:10.38345804+05:30" + description: A Kubernetes-based MLOps platform based on open standards Kubeflow + and MLflow + digest: 97ebdc02ae42e565a2851bd2c789adba06be8950560184bdf4662e62a117f86d + home: https://dkube.io + icon: https://www.dkube.io/img/logo_new.png + keywords: + - kubernetes + - MLOps + - Kubeflow + - AI + kubeVersion: "1.20" + name: dkube-deployer + type: application + urls: + - assets/dkube/dkube-deployer-1.0.602.tgz + version: 1.0.602 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/display-name: Dkube