From 876c557f720a4c671bd8990ff60a3b6b3197a2f8 Mon Sep 17 00:00:00 2001 From: Arvind Iyengar Date: Thu, 17 Feb 2022 16:26:14 -0800 Subject: [PATCH] Point vsphere charts at rancher/vsphere-charts --- .../rancher-vsphere-cpi/charts/Chart.yaml | 21 -- .../rancher-vsphere-cpi/charts/README.md | 57 ----- .../rancher-vsphere-cpi/charts/app-readme.md | 9 - .../rancher-vsphere-cpi/charts/questions.yaml | 42 ---- .../charts/templates/_helpers.tpl | 37 ---- .../charts/templates/configmap.yaml | 19 -- .../charts/templates/daemonset.yaml | 96 -------- .../charts/templates/role-binding.yaml | 44 ---- .../charts/templates/role.yaml | 93 -------- .../charts/templates/secret.yaml | 14 -- .../charts/templates/service-account.yaml | 11 - .../charts/templates/service.yaml | 16 -- .../rancher-vsphere-cpi/charts/values.yaml | 33 --- .../rancher-vsphere-cpi/package.yaml | 6 +- .../rancher-vsphere-csi/charts/Chart.yaml | 21 -- .../rancher-vsphere-csi/charts/README.md | 73 ------ .../rancher-vsphere-csi/charts/app-readme.md | 14 -- .../rancher-vsphere-csi/charts/questions.yaml | 134 ----------- .../charts/templates/_helpers.tpl | 7 - .../charts/templates/configmap.yaml | 14 -- .../templates/controller/deployment.yaml | 208 ------------------ .../templates/controller/role-binding.yaml | 13 -- .../charts/templates/controller/role.yaml | 39 ---- .../templates/controller/service-account.yaml | 6 - .../charts/templates/controller/service.yaml | 20 -- .../charts/templates/csi-driver.yaml | 8 - .../charts/templates/node/daemonset.yaml | 156 ------------- .../charts/templates/node/role-binding.yaml | 14 -- .../charts/templates/node/role.yaml | 10 - .../templates/node/service-account.yaml | 6 - .../charts/templates/secret.yaml | 9 - .../charts/templates/storageclass.yaml | 17 -- .../rancher-vsphere-csi/charts/values.yaml | 95 -------- .../rancher-vsphere-csi/package.yaml | 6 +- release.yaml | 3 + 35 files changed, 11 insertions(+), 1360 deletions(-) delete mode 100644 packages/rancher-vsphere/rancher-vsphere-cpi/charts/Chart.yaml delete mode 100644 packages/rancher-vsphere/rancher-vsphere-cpi/charts/README.md delete mode 100644 packages/rancher-vsphere/rancher-vsphere-cpi/charts/app-readme.md delete mode 100644 packages/rancher-vsphere/rancher-vsphere-cpi/charts/questions.yaml delete mode 100644 packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/_helpers.tpl delete mode 100644 packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/configmap.yaml delete mode 100644 packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/daemonset.yaml delete mode 100644 packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/role-binding.yaml delete mode 100644 packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/role.yaml delete mode 100644 packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/secret.yaml delete mode 100644 packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/service-account.yaml delete mode 100644 packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/service.yaml delete mode 100644 packages/rancher-vsphere/rancher-vsphere-cpi/charts/values.yaml delete mode 100644 packages/rancher-vsphere/rancher-vsphere-csi/charts/Chart.yaml delete mode 100644 packages/rancher-vsphere/rancher-vsphere-csi/charts/README.md delete mode 100644 packages/rancher-vsphere/rancher-vsphere-csi/charts/app-readme.md delete mode 100644 packages/rancher-vsphere/rancher-vsphere-csi/charts/questions.yaml delete mode 100644 packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/_helpers.tpl delete mode 100644 packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/configmap.yaml delete mode 100644 packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/controller/deployment.yaml delete mode 100644 packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/controller/role-binding.yaml delete mode 100644 packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/controller/role.yaml delete mode 100644 packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/controller/service-account.yaml delete mode 100644 packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/controller/service.yaml delete mode 100644 packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/csi-driver.yaml delete mode 100644 packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/node/daemonset.yaml delete mode 100644 packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/node/role-binding.yaml delete mode 100644 packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/node/role.yaml delete mode 100644 packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/node/service-account.yaml delete mode 100644 packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/secret.yaml delete mode 100644 packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/storageclass.yaml delete mode 100644 packages/rancher-vsphere/rancher-vsphere-csi/charts/values.yaml diff --git a/packages/rancher-vsphere/rancher-vsphere-cpi/charts/Chart.yaml b/packages/rancher-vsphere/rancher-vsphere-cpi/charts/Chart.yaml deleted file mode 100644 index eeb972634..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-cpi/charts/Chart.yaml +++ /dev/null @@ -1,21 +0,0 @@ -annotations: - catalog.cattle.io/certified: rancher - catalog.cattle.io/display-name: vSphere CPI - catalog.cattle.io/namespace: kube-system - catalog.cattle.io/os: linux - catalog.cattle.io/rancher-version: '>= 2.6.0-0 <= 2.6.99-0' - catalog.cattle.io/release-name: vsphere-cpi -apiVersion: v1 -appVersion: 1.0.1 -description: vSphere Cloud Provider Interface (CPI) -icon: https://charts.rancher.io/assets/logos/vsphere-cpi.svg -keywords: -- infrastructure -kubeVersion: 1.18 - 1.21 -maintainers: -- email: caleb@rancher.com - name: Rancher -name: rancher-vsphere-cpi -sources: -- https://github.com/kubernetes/cloud-provider-vsphere -version: 1.0.1 diff --git a/packages/rancher-vsphere/rancher-vsphere-cpi/charts/README.md b/packages/rancher-vsphere/rancher-vsphere-cpi/charts/README.md deleted file mode 100644 index c5e28a7ef..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-cpi/charts/README.md +++ /dev/null @@ -1,57 +0,0 @@ -# vSphere Cloud Provider Interface (CPI) - -[vSphere Cloud Provider Interface (CPI)](https://github.com/kubernetes/cloud-provider-vsphere) is responsible for running all the platform specific control loops that were previously run in core Kubernetes components like the KCM and the kubelet, but have been moved out-of-tree to allow cloud and infrastructure providers to implement integrations that can be developed, built and released independent of Kubernetes core. The official documentation and tutorials can be found [here](https://vsphere-csi-driver.sigs.k8s.io/driver-deployment/prerequisites.html). - -## Prerequisites - -- vSphere 6.7 U3+ -- Kubernetes v1.14+ -- A Secret on your Kubernetes cluster that contains vSphere credentials (Refer to `README` or `Detailed Descriptions`) - -## Installation - -This chart requires a Secret in your Kubernetes cluster that contains the server URL and credentials to connect to the vCenter. You can have the chart generate it for you, or create it yourself and provide the name of the Secret during installation. - -Warning: When the option to generate the Secret is enabled, the credentials are visible in the API to authorized users. If you create the Secret yourself they will not be visible. - -You can create a Secret in one of the following ways: -### Option 1: Create a Secret using the Rancher UI -Go to your cluster's project (Same project you will be installing the chart) > Resources > Secrets > Add Secret. -```yaml -# Example of data required in the Secret -.username: -.password: -``` - -### Option 2: Create a Secret using kubectl -Replace placeholders with actual values, and execute the following: -```bash -cat < - namespace: -data: - .username: - .password: -EOF -``` - -More information on managing Secrets using kubectl [here](https://kubernetes.io/docs/tasks/configmap-secret/managing-secret-using-kubectl/). - -## Migration - -If using this chart to migrate volumes provisioned by the in-tree provider to the out-of-tree CPI + CSI, you need to taint all nodes with the following: -``` -node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule -``` - -To perform this operation on all nodes in your cluster, the following script has been provided for your convenience: -```bash -# Note: Since this script uses kubectl, ensure that you run `export KUBECONFIG=` before running this script -for node in $(kubectl get nodes | awk '{print $1}' | tail -n +2); do - kubectl taint node $node node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule -done -``` \ No newline at end of file diff --git a/packages/rancher-vsphere/rancher-vsphere-cpi/charts/app-readme.md b/packages/rancher-vsphere/rancher-vsphere-cpi/charts/app-readme.md deleted file mode 100644 index 0dc5a8dc0..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-cpi/charts/app-readme.md +++ /dev/null @@ -1,9 +0,0 @@ -# vSphere Cloud Provider Interface (CPI) - -[vSphere Cloud Provider Interface (CPI)](https://github.com/kubernetes/cloud-provider-vsphere) is responsible for running all the platform specific control loops that were previously run in core Kubernetes components like the KCM and the kubelet, but have been moved out-of-tree to allow cloud and infrastructure providers to implement integrations that can be developed, built and released independent of Kubernetes core. The official documentation and tutorials can be found [here](https://vsphere-csi-driver.sigs.k8s.io/driver-deployment/prerequisites.html). - -## Prerequisites - -- vSphere 6.7 U3+ -- Kubernetes v1.14+ -- A Secret on your Kubernetes cluster that contains vSphere credentials (Refer to `README` or `Detailed Descriptions`) diff --git a/packages/rancher-vsphere/rancher-vsphere-cpi/charts/questions.yaml b/packages/rancher-vsphere/rancher-vsphere-cpi/charts/questions.yaml deleted file mode 100644 index 99ff81f35..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-cpi/charts/questions.yaml +++ /dev/null @@ -1,42 +0,0 @@ -questions: - - variable: vCenter.host - label: vCenter Host - description: IP address or FQDN of the vCenter - type: string - required: true - group: Configuration - - - variable: vCenter.datacenters - description: Comma-separated list of paths to data centers. E.g ", , ..." - label: Data Centers - type: string - required: true - group: Configuration - - - variable: vCenter.credentialsSecret.generate - label: Generate Credential's Secret - description: Generates a secret with the vSphere credentials (If the option to generate it is enabled, credentials will be visible in the API to authorized users) - type: boolean - default: true - required: true - group: Configuration - show_subquestion_if: true - subquestions: - - variable: vCenter.username - label: Username - description: Username for vCenter - type: string - group: Configuration - - variable: vCenter.password - label: Password - description: Password for vCenter - type: password - group: Configuration - - - variable: vCenter.credentialsSecret.name - label: Credential's Secret Name - description: Name of the secret with the vSphere credentials (Will not be visible in the API. More info in the README) - default: "vsphere-cpi-creds" - type: string - group: Configuration - show_if: "vCenter.credentialsSecret.generate=false" diff --git a/packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/_helpers.tpl b/packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/_helpers.tpl deleted file mode 100644 index b23e85502..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/_helpers.tpl +++ /dev/null @@ -1,37 +0,0 @@ -{{- define "system_default_registry" -}} -{{- if .Values.global.cattle.systemDefaultRegistry -}} -{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}} -{{- else -}} -{{- "" -}} -{{- end -}} -{{- end -}} - -{{- /* Return the image override if one is defined in the chart values. */ -}} -{{- define "get_image_override" -}} -{{- if hasKey .Values.cloudControllerManager.image "override" -}} -{{- if and (hasKey .Values.cloudControllerManager.image.override "repository") (hasKey .Values.cloudControllerManager.image.override "tag") -}} -{{- printf "%s:%s" .Values.cloudControllerManager.image.override.repository .Values.cloudControllerManager.image.override.tag -}} -{{- end -}} -{{- end -}} -{{- end -}} - -{{- /* Return the image's repository and tag corresponding to the cluster's kubernetes version. */ -}} -{{- define "get_image" -}} -{{- $kubeVersion := printf "%s.%s" .Capabilities.KubeVersion.Major .Capabilities.KubeVersion.Minor -}} -{{- if hasKey .Values.cloudControllerManager.image $kubeVersion -}} -{{- $imageForKubeVersion := get .Values.cloudControllerManager.image $kubeVersion -}} -{{- printf "%s:%s" $imageForKubeVersion.repository $imageForKubeVersion.tag -}} -{{- else -}} -{{- $supportedVersions := include "get_supported_k8s_versions" . -}} -{{- required (printf "unsupported Kubernetes version: %s (supported versions: %s)" $kubeVersion $supportedVersions) "" -}} -{{- end -}} -{{- end -}} - -{{- /* Return string of a comma separated list of the k8s version lines the chart supports in the `major.minor.x` format. */ -}} -{{- define "get_supported_k8s_versions" -}} -{{- $versions := list -}} -{{- range $k, $v := .Values.cloudControllerManager.image -}} -{{- $versions = append $versions (printf "%s.x" $k) -}} -{{- end -}} -{{- join ", " $versions -}} -{{- end -}} diff --git a/packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/configmap.yaml b/packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/configmap.yaml deleted file mode 100644 index 10238783f..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/configmap.yaml +++ /dev/null @@ -1,19 +0,0 @@ -# Source: https://github.com/kubernetes/cloud-provider-vsphere -apiVersion: v1 -kind: ConfigMap -metadata: - name: vsphere-cloud-config - labels: - vsphere-cpi-infra: config - component: {{ .Chart.Name }}-cloud-controller-manager - namespace: {{ .Release.Namespace }} -data: - vsphere.conf: | - [Global] - secret-name = {{ .Values.vCenter.credentialsSecret.name | quote }} - secret-namespace = {{ .Release.Namespace | quote }} - port = {{ .Values.vCenter.port | quote }} - insecure-flag = {{ .Values.vCenter.insecureFlag | quote }} - - [VirtualCenter {{ .Values.vCenter.host | quote }}] - datacenters = {{ .Values.vCenter.datacenters | quote }} diff --git a/packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/daemonset.yaml b/packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/daemonset.yaml deleted file mode 100644 index 944982883..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/daemonset.yaml +++ /dev/null @@ -1,96 +0,0 @@ -# Source: https://github.com/kubernetes/cloud-provider-vsphere -apiVersion: apps/v1 -kind: DaemonSet -metadata: - name: {{ .Chart.Name }}-cloud-controller-manager - labels: - component: {{ .Chart.Name }}-cloud-controller-manager - tier: control-plane - namespace: {{ .Release.Namespace }} - annotations: - scheduler.alpha.kubernetes.io/critical-pod: "" -spec: - selector: - matchLabels: - name: {{ .Chart.Name }}-cloud-controller-manager - updateStrategy: - type: RollingUpdate - template: - metadata: - labels: - name: {{ .Chart.Name }}-cloud-controller-manager - component: {{ .Chart.Name }}-cloud-controller-manager - tier: control-plane - spec: - {{- if .Values.cloudControllerManager.nodeSelector }} - nodeSelector: - {{- with .Values.cloudControllerManager.nodeSelector }} - {{- toYaml . | nindent 8 }} - {{- end }} - {{- else }} - affinity: - nodeAffinity: - requiredDuringSchedulingIgnoredDuringExecution: - nodeSelectorTerms: - - matchExpressions: - # RKE node selector label - - key: node-role.kubernetes.io/controlplane - operator: In - values: - - "true" - - matchExpressions: - # RKE2 node selector label - - key: node-role.kubernetes.io/control-plane - operator: In - values: - - "true" - {{- end }} - {{- if .Values.cloudControllerManager.tolerations }} - tolerations: - {{- with .Values.cloudControllerManager.tolerations }} - {{- toYaml . | nindent 8 }} - {{- end }} - {{- else }} - tolerations: - - key: node.cloudprovider.kubernetes.io/uninitialized - value: "true" - effect: NoSchedule - - key: node-role.kubernetes.io/master - effect: NoSchedule - operator: Exists - - key: node.kubernetes.io/not-ready - effect: NoSchedule - operator: Exists - # Rancher specific change: These tolerations are added to account for RKE1 and RKE2 taints - - key: node-role.kubernetes.io/controlplane - effect: NoSchedule - value: "true" - - key: node-role.kubernetes.io/control-plane - effect: NoSchedule - value: "true" - - key: node-role.kubernetes.io/etcd - effect: NoSchedule - value: "true" - {{- end }} - securityContext: - runAsUser: 1001 - serviceAccountName: {{ .Chart.Name }}-cloud-controller-manager - containers: - - name: {{ .Chart.Name }}-cloud-controller-manager - image: "{{ template "system_default_registry" . }}{{ default (include "get_image" . ) (include "get_image_override" . ) }}" - args: - - --cloud-provider=vsphere - - --v=2 - - --cloud-config=/etc/cloud/vsphere.conf - volumeMounts: - - mountPath: /etc/cloud - name: vsphere-config-volume - readOnly: true - resources: - requests: - cpu: 200m - hostNetwork: true - volumes: - - name: vsphere-config-volume - configMap: - name: vsphere-cloud-config diff --git a/packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/role-binding.yaml b/packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/role-binding.yaml deleted file mode 100644 index ef930c5e1..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/role-binding.yaml +++ /dev/null @@ -1,44 +0,0 @@ -{{- if .Values.cloudControllerManager.rbac.enabled -}} -# Source: https://github.com/kubernetes/cloud-provider-vsphere -apiVersion: v1 -kind: List -metadata: {} -items: -- apiVersion: rbac.authorization.k8s.io/v1 - kind: RoleBinding - metadata: - name: servicecatalog.k8s.io:apiserver-authentication-reader - labels: - vsphere-cpi-infra: role-binding - component: {{ .Chart.Name }}-cloud-controller-manager - namespace: {{ .Release.Namespace }} - roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: extension-apiserver-authentication-reader - subjects: - - apiGroup: "" - kind: ServiceAccount - name: {{ .Chart.Name }}-cloud-controller-manager - namespace: {{ .Release.Namespace }} - - apiGroup: "" - kind: User - name: {{ .Chart.Name }}-cloud-controller-manager -- apiVersion: rbac.authorization.k8s.io/v1 - kind: ClusterRoleBinding - metadata: - name: system:{{ .Chart.Name }}-cloud-controller-manager - labels: - vsphere-cpi-infra: cluster-role-binding - component: {{ .Chart.Name }}-cloud-controller-manager - roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: system:{{ .Chart.Name }}-cloud-controller-manager - subjects: - - kind: ServiceAccount - name: {{ .Chart.Name }}-cloud-controller-manager - namespace: {{ .Release.Namespace }} - - kind: User - name: {{ .Chart.Name }}-cloud-controller-manager -{{- end -}} diff --git a/packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/role.yaml b/packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/role.yaml deleted file mode 100644 index 073c8a7e9..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/role.yaml +++ /dev/null @@ -1,93 +0,0 @@ -{{- if .Values.cloudControllerManager.rbac.enabled -}} -# Source: https://github.com/kubernetes/cloud-provider-vsphere -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: system:{{ .Chart.Name }}-cloud-controller-manager - labels: - vsphere-cpi-infra: role - component: {{ .Chart.Name }}-cloud-controller-manager -rules: -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch - - update -- apiGroups: - - "" - resources: - - nodes - verbs: - - "*" -- apiGroups: - - "" - resources: - - nodes/status - verbs: - - patch -- apiGroups: - - "" - resources: - - services - verbs: - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - services/status - verbs: - - patch -- apiGroups: - - "" - resources: - - serviceaccounts - verbs: - - create - - get - - list - - watch - - update -- apiGroups: - - "" - resources: - - persistentvolumes - verbs: - - get - - list - - update - - watch -- apiGroups: - - "" - resources: - - endpoints - verbs: - - create - - get - - list - - watch - - update -- apiGroups: - - "" - resources: - - secrets - verbs: - - get - - list - - watch -- apiGroups: - - "coordination.k8s.io" - resources: - - leases - verbs: - - create - - get - - list - - watch - - update -{{- end -}} diff --git a/packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/secret.yaml b/packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/secret.yaml deleted file mode 100644 index 5ab05b9c0..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/secret.yaml +++ /dev/null @@ -1,14 +0,0 @@ -{{- if .Values.vCenter.credentialsSecret.generate -}} -# Source: https://github.com/kubernetes/cloud-provider-vsphere -apiVersion: v1 -kind: Secret -metadata: - name: {{ .Values.vCenter.credentialsSecret.name }} - labels: - vsphere-cpi-infra: secret - component: {{ .Chart.Name }}-cloud-controller-manager - namespace: {{ .Release.Namespace }} -data: - {{ .Values.vCenter.host }}.username: {{ .Values.vCenter.username | b64enc | quote }} - {{ .Values.vCenter.host }}.password: {{ .Values.vCenter.password | b64enc | quote }} -{{- end -}} diff --git a/packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/service-account.yaml b/packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/service-account.yaml deleted file mode 100644 index 1216ac6b2..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/service-account.yaml +++ /dev/null @@ -1,11 +0,0 @@ -{{- if .Values.cloudControllerManager.rbac.enabled -}} -# Source: https://github.com/kubernetes/cloud-provider-vsphere -apiVersion: v1 -kind: ServiceAccount -metadata: - name: {{ .Chart.Name }}-cloud-controller-manager - labels: - vsphere-cpi-infra: service-account - component: {{ .Chart.Name }}-cloud-controller-manager - namespace: {{ .Release.Namespace }} -{{- end -}} diff --git a/packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/service.yaml b/packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/service.yaml deleted file mode 100644 index 155322f2e..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-cpi/charts/templates/service.yaml +++ /dev/null @@ -1,16 +0,0 @@ -# Source: https://github.com/kubernetes/cloud-provider-vsphere -apiVersion: v1 -kind: Service -metadata: - labels: - component: {{ .Chart.Name }}-cloud-controller-manager - name: {{ .Chart.Name }}-cloud-controller-manager - namespace: {{ .Release.Namespace }} -spec: - type: NodePort - ports: - - port: 43001 - protocol: TCP - targetPort: 43001 - selector: - component: {{ .Chart.Name }}-cloud-controller-manager diff --git a/packages/rancher-vsphere/rancher-vsphere-cpi/charts/values.yaml b/packages/rancher-vsphere/rancher-vsphere-cpi/charts/values.yaml deleted file mode 100644 index 475181556..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-cpi/charts/values.yaml +++ /dev/null @@ -1,33 +0,0 @@ -vCenter: - host: "" - port: 443 - insecureFlag: "1" - datacenters: "" - username: "" - password: "" - credentialsSecret: - name: "vsphere-cpi-creds" - generate: true - -cloudControllerManager: - image: - "1.21": - repository: rancher/mirrored-cloud-provider-vsphere-cpi-release-manager - tag: v1.21.0 - "1.20": - repository: rancher/mirrored-cloud-provider-vsphere-cpi-release-manager - tag: v1.20.0 - "1.19": - repository: rancher/mirrored-cloud-provider-vsphere-cpi-release-manager - tag: v1.19.0 - "1.18": - repository: rancher/mirrored-cloud-provider-vsphere-cpi-release-manager - tag: v1.18.0 - nodeSelector: {} - tolerations: {} - rbac: - enabled: true - -global: - cattle: - systemDefaultRegistry: "" diff --git a/packages/rancher-vsphere/rancher-vsphere-cpi/package.yaml b/packages/rancher-vsphere/rancher-vsphere-cpi/package.yaml index 3dea8820f..16de2d431 100644 --- a/packages/rancher-vsphere/rancher-vsphere-cpi/package.yaml +++ b/packages/rancher-vsphere/rancher-vsphere-cpi/package.yaml @@ -1,2 +1,4 @@ -url: local -version: 100.1.0+up1.0.100 +url: https://github.com/rancher/vsphere-charts.git +subdirectory: charts/rancher-vsphere-cpi +commit: 27242a6495e33d34286d557459eb3cab785e26dd +version: 100.1.1 diff --git a/packages/rancher-vsphere/rancher-vsphere-csi/charts/Chart.yaml b/packages/rancher-vsphere/rancher-vsphere-csi/charts/Chart.yaml deleted file mode 100644 index bfe7975c6..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-csi/charts/Chart.yaml +++ /dev/null @@ -1,21 +0,0 @@ -annotations: - catalog.cattle.io/certified: rancher - catalog.cattle.io/display-name: vSphere CSI - catalog.cattle.io/namespace: kube-system - catalog.cattle.io/os: linux - catalog.cattle.io/rancher-version: '>= 2.6.0-0 <= 2.6.99-0' - catalog.cattle.io/release-name: vsphere-csi -apiVersion: v1 -appVersion: 2.3.0 -description: vSphere Cloud Storage Interface (CSI) -icon: https://charts.rancher.io/assets/logos/vsphere-csi.svg -keywords: -- infrastructure -kubeVersion: 1.19 - 1.21 -maintainers: -- email: caleb@rancher.com - name: Rancher -name: rancher-vsphere-csi -sources: -- https://github.com/kubernetes-sigs/vsphere-csi-driver -version: 2.3.0 diff --git a/packages/rancher-vsphere/rancher-vsphere-csi/charts/README.md b/packages/rancher-vsphere/rancher-vsphere-csi/charts/README.md deleted file mode 100644 index 4a749e8ac..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-csi/charts/README.md +++ /dev/null @@ -1,73 +0,0 @@ -# vSphere Container Storage Interface (CSI) - -[vSphere Container Storage Interface (CSI)](https://github.com/kubernetes-sigs/vsphere-csi-driver/tree/release-2.1/manifests/v2.1.0/vsphere-7.0u1/) is a specification designed to enable persistent storage volume management on Container Orchestrators (COs) such as Kubernetes. The specification allows storage systems to integrate with containerized workloads running on Kubernetes. Using CSI, storage providers, such as VMware, can write and deploy plugins for storage systems in Kubernetes without a need to modify any core Kubernetes code. - -CSI allows volume plugins to be installed on Kubernetes clusters as extensions. Once a CSI compatible volume driver is deployed on a Kubernetes cluster, users can use the CSI to provision, attach, mount, and format the volumes exposed by the CSI driver. - -The CSI driver for vSphere is `csi.vsphere.vmware.com`. - -## Prerequisites - -- vSphere 6.7 U3+ -- Kubernetes v1.14+ -- Out-of-tree vSphere Cloud Provider Interface (CPI) -- A Secret on your Kubernetes cluster that contains vSphere CSI configuration and credentials - -## Installation - -This chart requires a Secret in your Kubernetes cluster that contains the CSI configuration and credentials to connect to the vCenter. You can have the chart generate it for you, or create it yourself and provide the name of the Secret during installation. - -Warning: When the option to generate the Secret is enabled, the credentials are visible in the API to authorized users. If you create the Secret yourself they will not be visible. - -You can create a Secret in one of the following ways: - -### Option 1: Create a Secret using the Rancher UI - -Go to your cluster's project (Same project you will be installing the chart) > Resources > Secrets > Add Secret. -```yaml -# Example of data required in the Secret -# The csi-vsphere.conf key name is required, otherwise the installation will fail -csi-vsphere.conf: | - [Global] - cluster-id = "" - user = "" - password = "" - port = "" - insecure-flag = "" - - [VirtualCenter ""] - datacenters = ", , ..." -``` -More information on CSI vSphere configuration [here](https://vsphere-csi-driver.sigs.k8s.io/driver-deployment/installation.html#create_k8s_secret). - -### Option 2: Create a Secret using kubectl - -Replace placeholders with actual values, and execute the following: -```bash -# The csi-vsphere.conf key name is required, otherwise the installation will fail -cat < - namespace: -stringData: - csi-vsphere.conf: | - [Global] - cluster-id = "" - user = "" - password = "" - port = "" - insecure-flag = "" - - [VirtualCenter ""] - datacenters = ", , ..." -EOF -``` - -More information on managing Secrets using kubectl [here](https://kubernetes.io/docs/tasks/configmap-secret/managing-secret-using-kubectl/). - -## Migration - -The CSI migration feature is only available for vSphere 7.0 U1. diff --git a/packages/rancher-vsphere/rancher-vsphere-csi/charts/app-readme.md b/packages/rancher-vsphere/rancher-vsphere-csi/charts/app-readme.md deleted file mode 100644 index bae1876f0..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-csi/charts/app-readme.md +++ /dev/null @@ -1,14 +0,0 @@ -# vSphere Container Storage Interface (CSI) - -[vSphere Container Storage Interface (CSI)](https://github.com/kubernetes-sigs/vsphere-csi-driver) is a specification designed to enable persistent storage volume management on Container Orchestrators (COs) such as Kubernetes. The specification allows storage systems to integrate with containerized workloads running on Kubernetes. Using CSI, storage providers, such as VMware, can write and deploy plugins for storage systems in Kubernetes without a need to modify any core Kubernetes code. - -CSI allows volume plugins to be installed on Kubernetes clusters as extensions. Once a CSI compatible volume driver is deployed on a Kubernetes cluster, users can use the CSI to provision, attach, mount, and format the volumes exposed by the CSI driver. - -The CSI driver for vSphere is `csi.vsphere.vmware.com`. - -## Prerequisites - -- vSphere 6.7 U3+ -- Kubernetes v1.14+ -- Out-of-tree vSphere Cloud Provider Interface (CPI) -- A Secret on your Kubernetes cluster that contains vSphere CSI configuration and credentials (Refer to `README` or `Detailed Descriptions`) diff --git a/packages/rancher-vsphere/rancher-vsphere-csi/charts/questions.yaml b/packages/rancher-vsphere/rancher-vsphere-csi/charts/questions.yaml deleted file mode 100644 index 7582a7ff3..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-csi/charts/questions.yaml +++ /dev/null @@ -1,134 +0,0 @@ -questions: - - variable: vCenter.configSecret.generate - label: Generate CSI vSphere Config Secret - description: Generates a Secret that contains a CSI vSphere config and credentials (If the option to generate it is enabled, credentials will be visible in the API to authorized users) - type: boolean - default: true - required: true - group: vCenter Configuration - show_subquestion_if: true - subquestions: - - variable: vCenter.host - label: vCenter Host - description: IP address or FQDN of the vCenter - type: string - - - variable: vCenter.datacenters - description: Comma-separated list of paths to data centers. E.g ", , ..." - label: Data Centers - type: string - - - variable: vCenter.username - label: Username - description: Username for vCenter - type: string - - - variable: vCenter.password - label: Password - description: Password for vCenter - type: password - - - variable: vCenter.configSecret.name - label: CSI vSphere Config Secret Name - description: Name of the Secret that contains a CSI vSphere config and credentials (Will not be visible in the API. More info in the README) - type: string - group: vCenter Configuration - show_if: "vCenter.configSecret.generate=false" - - - variable: csiMigration.enabled - label: Enable CSI Migration - description: Enable migration of volumes provisioned by in-tree vSphere provider to CSI (Available for vSphere 7.0 U1+ only) - type: boolean - default: false - group: Driver Configuration - - - variable: csiAuthCheck.enabled - label: Enable authorization checks on operations involving datastores - type: boolean - default: false - group: Driver Configuration - - - variable: onlineVolumeExtend.enabled - label: Enable Online Volume Extend - description: Enable expansion of PVCs that are in use by a Pod or mounted in a Node (Available for vSphere 7.0 U2+ only) - type: boolean - default: false - group: Driver Configuration - - - variable: triggerCsiFullsync.enabled - label: Enable CSI Full Sync - description: Keeps CNS up to date with Kubernetes volume metadata information (such as PVs, PVCs, pods, and so on) - type: boolean - default: false - group: Driver Configuration - - - variable: asyncQueryVolume.enabled - label: Enable Async Query Volume - description: Improves retrieval of volume information - type: boolean - default: false - group: Driver Configuration - - - variable: improvedCsiIdempotency.enabled - label: Enable Improved CSI Idempotency - description: Enhances driver to ensure volume operations are idempotent - type: boolean - default: false - group: Driver Configuration - - - variable: improvedVolumeTopology.enabled - label: Enable Improved Volume Topology - description: Allows using the topology feature without the need to mount vSphere credentials in the CSI node daemonset - type: boolean - default: false - group: Driver Configuration - - - variable: csiController.csiResizer.enabled - label: Enable CSI Volume Resizer - description: This feature is available for vSphere 7.0 U1+ only - type: boolean - default: false - group: Storage - - - variable: storageClass.enabled - default: true - label: Create Storage Class - description: Create a storageClass with the vSphere CSI provisioner - type: boolean - required: true - show_subquestion_if: true - group: Storage - subquestions: - - variable: storageClass.name - label: Storage Class Name - default: "vsphere-csi-sc" - type: string - - - variable: storageClass.isDefault - label: Default Storage Class - description: Set the Storage Class as the default - default: true - type: boolean - - - variable: storageClass.allowVolumeExpansion - label: Allow Volume Expansion - description: Allows resizing the volume by editing the corresponding PVC object (Available for vSphere 7.0+ only) - default: false - type: boolean - - - variable: storageClass.storagePolicyName - label: Storage Policy Name - description: Name of the Storage Policy created in vCenter - type: string - - - variable: storageClass.datastoreURL - label: Data Store URL - description: URL of the data store to use for new volumes (If unspecified, any data store that matches the request will be selected). - type: string - - - variable: csiNode.prefixPath - label: Prefix Path for `/var/lib/kubelet` - description: For some operating systems including RancherOS, RKE prefixes `/var/lib/kubelet` with `/opt/rke`. Add the prefix path of the location of /var/lib/kubelet - type: string - default: "" - group: Node Configuration diff --git a/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/_helpers.tpl b/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/_helpers.tpl deleted file mode 100644 index 7a6c36abe..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "system_default_registry" -}} -{{- if .Values.global.cattle.systemDefaultRegistry -}} -{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}} -{{- else -}} -{{- "" -}} -{{- end -}} -{{- end -}} diff --git a/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/configmap.yaml b/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/configmap.yaml deleted file mode 100644 index b7f9207ac..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/configmap.yaml +++ /dev/null @@ -1,14 +0,0 @@ -# Source: https://github.com/kubernetes-sigs/vsphere-csi-driver -apiVersion: v1 -data: - "csi-migration": {{ .Values.csiMigration.enabled | quote }} - "csi-auth-check": {{ .Values.csiAuthCheck.enabled | quote }} - "online-volume-extend": {{ .Values.onlineVolumeExtend.enabled | quote }} - "trigger-csi-fullsync": {{ .Values.triggerCsiFullsync.enabled | quote }} - "async-query-volume": {{ .Values.asyncQueryVolume.enabled | quote }} - "improved-csi-idempotency": {{ .Values.improvedCsiIdempotency.enabled | quote }} - "improved-volume-topology": {{ .Values.improvedVolumeTopology.enabled | quote }} -kind: ConfigMap -metadata: - name: internal-feature-states.csi.vsphere.vmware.com - namespace: {{ .Release.Namespace }} diff --git a/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/controller/deployment.yaml b/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/controller/deployment.yaml deleted file mode 100644 index a20eadffd..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/controller/deployment.yaml +++ /dev/null @@ -1,208 +0,0 @@ -# Source: https://github.com/kubernetes-sigs/vsphere-csi-driver -kind: Deployment -apiVersion: apps/v1 -metadata: - name: vsphere-csi-controller - namespace: {{ .Release.Namespace }} -spec: - replicas: 1 - selector: - matchLabels: - app: vsphere-csi-controller - template: - metadata: - labels: - app: vsphere-csi-controller - role: vsphere-csi - spec: - serviceAccountName: vsphere-csi-controller - {{- if .Values.csiController.nodeSelector }} - nodeSelector: - {{- with .Values.csiController.nodeSelector }} - {{- toYaml . | nindent 8 }} - {{- end }} - {{- else }} - affinity: - nodeAffinity: - requiredDuringSchedulingIgnoredDuringExecution: - nodeSelectorTerms: - - matchExpressions: - # RKE node selector label - - key: node-role.kubernetes.io/controlplane - operator: In - values: - - "true" - - matchExpressions: - # RKE2 node selector label - - key: node-role.kubernetes.io/control-plane - operator: In - values: - - "true" - {{- end }} - {{- if .Values.csiController.tolerations }} - tolerations: - {{- with .Values.csiController.tolerations }} - {{- toYaml . | nindent 8 }} - {{- end }} - {{- else }} - tolerations: - - key: node-role.kubernetes.io/master - operator: Exists - effect: NoSchedule - # Rancher specific change: These tolerations are added to account for RKE1 and RKE2 taints - - key: node-role.kubernetes.io/controlplane - effect: NoSchedule - value: "true" - - key: node-role.kubernetes.io/control-plane - effect: NoSchedule - value: "true" - - key: node-role.kubernetes.io/etcd - effect: NoSchedule - value: "true" - {{- end }} - dnsPolicy: "Default" - containers: - - name: csi-attacher - image: "{{ template "system_default_registry" . }}{{ .Values.csiController.image.csiAttacher.repository }}:{{ .Values.csiController.image.csiAttacher.tag }}" - args: - - "--v=4" - - "--timeout=300s" - - "--csi-address=$(ADDRESS)" - - "--leader-election" - - "--kube-api-qps=100" - - "--kube-api-burst=100" - env: - - name: ADDRESS - value: /csi/csi.sock - volumeMounts: - - mountPath: /csi - name: socket-dir -{{- if .Values.csiController.csiResizer.enabled }} - - name: csi-resizer - image: "{{ template "system_default_registry" . }}{{ .Values.csiController.image.csiResizer.repository }}:{{ .Values.csiController.image.csiResizer.tag }}" - args: - - "--v=4" - - "--timeout=300s" - - "--handle-volume-inuse-error=false" - - "--csi-address=$(ADDRESS)" - - "--kube-api-qps=100" - - "--kube-api-burst=100" - - "--leader-election" - env: - - name: ADDRESS - value: /csi/csi.sock - volumeMounts: - - mountPath: /csi - name: socket-dir -{{- end }} - - name: vsphere-csi-controller - image: "{{ template "system_default_registry" . }}{{ .Values.csiController.image.repository }}:{{ .Values.csiController.image.tag }}" - args: - - "--fss-name=internal-feature-states.csi.vsphere.vmware.com" - - "--fss-namespace=$(CSI_NAMESPACE)" - imagePullPolicy: "Always" - env: - - name: CSI_ENDPOINT - value: unix:///csi/csi.sock - - name: X_CSI_MODE - value: "controller" - - name: X_CSI_SPEC_DISABLE_LEN_CHECK - value: "true" - - name: X_CSI_SERIAL_VOL_ACCESS_TIMEOUT - value: 3m - - name: VSPHERE_CSI_CONFIG - value: "/etc/cloud/csi-vsphere.conf" - - name: LOGGER_LEVEL - value: "PRODUCTION" # Options: DEVELOPMENT, PRODUCTION - - name: INCLUSTER_CLIENT_QPS - value: "100" - - name: INCLUSTER_CLIENT_BURST - value: "100" - - name: CSI_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - volumeMounts: - - mountPath: /etc/cloud - name: vsphere-config-volume - readOnly: true - - mountPath: /csi - name: socket-dir - ports: - - name: healthz - containerPort: 9808 - protocol: TCP - - name: prometheus - containerPort: 2112 - protocol: TCP - livenessProbe: - httpGet: - path: /healthz - port: healthz - initialDelaySeconds: 10 - timeoutSeconds: 3 - periodSeconds: 5 - failureThreshold: 3 - - name: liveness-probe - image: "{{ template "system_default_registry" . }}{{ .Values.csiController.image.livenessProbe.repository }}:{{ .Values.csiController.image.livenessProbe.tag }}" - args: - - "--v=4" - - "--csi-address=/csi/csi.sock" - volumeMounts: - - name: socket-dir - mountPath: /csi - - name: vsphere-syncer - image: "{{ template "system_default_registry" . }}{{ .Values.csiController.image.vsphereSyncer.repository }}:{{ .Values.csiController.image.vsphereSyncer.tag }}" - args: - - "--leader-election" - - "--fss-name=internal-feature-states.csi.vsphere.vmware.com" - - "--fss-namespace=$(CSI_NAMESPACE)" - imagePullPolicy: "Always" - ports: - - containerPort: 2113 - name: prometheus - protocol: TCP - env: - - name: FULL_SYNC_INTERVAL_MINUTES - value: "30" - - name: VSPHERE_CSI_CONFIG - value: "/etc/cloud/csi-vsphere.conf" - - name: LOGGER_LEVEL - value: "PRODUCTION" # Options: DEVELOPMENT, PRODUCTION - - name: INCLUSTER_CLIENT_QPS - value: "100" - - name: INCLUSTER_CLIENT_BURST - value: "100" - - name: CSI_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - volumeMounts: - - mountPath: /etc/cloud - name: vsphere-config-volume - readOnly: true - - name: csi-provisioner - image: "{{ template "system_default_registry" . }}{{ .Values.csiController.image.csiProvisioner.repository }}:{{ .Values.csiController.image.csiProvisioner.tag }}" - args: - - "--v=4" - - "--timeout=300s" - - "--csi-address=$(ADDRESS)" - - "--kube-api-qps=100" - - "--kube-api-burst=100" - - "--leader-election" - - "--default-fstype=ext4" - # needed only for topology aware setup - #- "--feature-gates=Topology=true" - #- "--strict-topology" - env: - - name: ADDRESS - value: /csi/csi.sock - volumeMounts: - - mountPath: /csi - name: socket-dir - volumes: - - name: vsphere-config-volume - secret: - secretName: {{ .Values.vCenter.configSecret.name }} - - name: socket-dir - emptyDir: {} diff --git a/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/controller/role-binding.yaml b/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/controller/role-binding.yaml deleted file mode 100644 index ee87bc2b8..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/controller/role-binding.yaml +++ /dev/null @@ -1,13 +0,0 @@ -# Source: https://github.com/kubernetes-sigs/vsphere-csi-driver -kind: ClusterRoleBinding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: vsphere-csi-controller-binding -subjects: - - kind: ServiceAccount - name: vsphere-csi-controller - namespace: {{ .Release.Namespace }} -roleRef: - kind: ClusterRole - name: vsphere-csi-controller-role - apiGroup: rbac.authorization.k8s.io diff --git a/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/controller/role.yaml b/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/controller/role.yaml deleted file mode 100644 index ad1757d1a..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/controller/role.yaml +++ /dev/null @@ -1,39 +0,0 @@ -# Source: https://github.com/kubernetes-sigs/vsphere-csi-driver -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: vsphere-csi-controller-role -rules: - - apiGroups: [""] - resources: ["nodes", "persistentvolumeclaims", "pods", "configmaps"] - verbs: ["get", "list", "watch"] - - apiGroups: [""] - resources: ["persistentvolumeclaims/status"] - verbs: ["patch"] - - apiGroups: [""] - resources: ["persistentvolumes"] - verbs: ["get", "list", "watch", "create", "update", "delete", "patch"] - - apiGroups: [""] - resources: ["events"] - verbs: ["get", "list", "watch", "create", "update", "patch"] - - apiGroups: ["coordination.k8s.io"] - resources: ["leases"] - verbs: ["get", "watch", "list", "delete", "update", "create"] - - apiGroups: ["storage.k8s.io"] - resources: ["storageclasses", "csinodes"] - verbs: ["get", "list", "watch"] - - apiGroups: ["storage.k8s.io"] - resources: ["volumeattachments"] - verbs: ["get", "list", "watch", "patch"] - - apiGroups: ["cns.vmware.com"] - resources: ["triggercsifullsyncs"] - verbs: ["create", "get", "update", "watch", "list"] - - apiGroups: ["cns.vmware.com"] - resources: ["cnsvspherevolumemigrations"] - verbs: ["create", "get", "list", "watch", "update", "delete"] - - apiGroups: ["apiextensions.k8s.io"] - resources: ["customresourcedefinitions"] - verbs: ["get", "create", "update"] - - apiGroups: ["storage.k8s.io"] - resources: ["volumeattachments/status"] - verbs: ["patch"] diff --git a/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/controller/service-account.yaml b/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/controller/service-account.yaml deleted file mode 100644 index 076edfd72..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/controller/service-account.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Source: https://github.com/kubernetes-sigs/vsphere-csi-driver -kind: ServiceAccount -apiVersion: v1 -metadata: - name: vsphere-csi-controller - namespace: {{ .Release.Namespace }} diff --git a/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/controller/service.yaml b/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/controller/service.yaml deleted file mode 100644 index fcd2edc5b..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/controller/service.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# Source: https://github.com/kubernetes-sigs/vsphere-csi-driver -apiVersion: v1 -kind: Service -metadata: - name: vsphere-csi-controller - namespace: {{ .Release.Namespace }} - labels: - app: vsphere-csi-controller -spec: - ports: - - name: ctlr - port: 2112 - targetPort: 2112 - protocol: TCP - - name: syncer - port: 2113 - targetPort: 2113 - protocol: TCP - selector: - app: vsphere-csi-controller diff --git a/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/csi-driver.yaml b/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/csi-driver.yaml deleted file mode 100644 index 9b6909e6a..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/csi-driver.yaml +++ /dev/null @@ -1,8 +0,0 @@ -# Source: https://github.com/kubernetes-sigs/vsphere-csi-driver -apiVersion: storage.k8s.io/v1 # For k8s 1.17 use storage.k8s.io/v1beta1 -kind: CSIDriver -metadata: - name: csi.vsphere.vmware.com -spec: - attachRequired: true - podInfoOnMount: false diff --git a/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/node/daemonset.yaml b/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/node/daemonset.yaml deleted file mode 100644 index ddec9e35c..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/node/daemonset.yaml +++ /dev/null @@ -1,156 +0,0 @@ -# Source: https://github.com/kubernetes-sigs/vsphere-csi-driver -kind: DaemonSet -apiVersion: apps/v1 -metadata: - name: vsphere-csi-node - namespace: {{ .Release.Namespace }} -spec: - selector: - matchLabels: - app: vsphere-csi-node - updateStrategy: - type: "RollingUpdate" - rollingUpdate: - maxUnavailable: 1 - template: - metadata: - labels: - app: vsphere-csi-node - role: vsphere-csi - spec: - serviceAccountName: vsphere-csi-node - hostNetwork: true - dnsPolicy: "ClusterFirstWithHostNet" - containers: - - name: node-driver-registrar - image: "{{ template "system_default_registry" . }}{{ .Values.csiNode.image.nodeDriverRegistrar.repository }}:{{ .Values.csiNode.image.nodeDriverRegistrar.tag }}" - args: - - "--v=5" - - "--csi-address=$(ADDRESS)" - - "--kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)" - - "--health-port=9809" - env: - - name: ADDRESS - value: /csi/csi.sock - - name: DRIVER_REG_SOCK_PATH - value: {{ .Values.csiNode.prefixPath }}/var/lib/kubelet/plugins/csi.vsphere.vmware.com/csi.sock - volumeMounts: - - name: plugin-dir - mountPath: /csi - - name: registration-dir - mountPath: /registration - ports: - - containerPort: 9809 - name: healthz - livenessProbe: - httpGet: - path: /healthz - port: healthz - initialDelaySeconds: 5 - timeoutSeconds: 5 - - name: vsphere-csi-node - image: "{{ template "system_default_registry" . }}{{ .Values.csiNode.image.repository }}:{{ .Values.csiNode.image.tag }}" - args: - - "--fss-name=internal-feature-states.csi.vsphere.vmware.com" - - "--fss-namespace=$(CSI_NAMESPACE)" - imagePullPolicy: "Always" - env: - - name: NODE_NAME - valueFrom: - fieldRef: - fieldPath: spec.nodeName - - name: CSI_ENDPOINT - value: unix:///csi/csi.sock - - name: MAX_VOLUMES_PER_NODE - value: "0" # Maximum number of volumes that controller can publish to the node. If value is not set or zero Kubernetes decide how many volumes can be published by the controller to the node. - - name: X_CSI_MODE - value: "node" - - name: X_CSI_SPEC_REQ_VALIDATION - value: "false" - - name: X_CSI_SPEC_DISABLE_LEN_CHECK - value: "true" - # needed only for topology aware setups - #- name: VSPHERE_CSI_CONFIG - # value: "/etc/cloud/csi-vsphere.conf" # here csi-vsphere.conf is the name of the file used for creating secret using "--from-file" flag - - name: LOGGER_LEVEL - value: "PRODUCTION" # Options: DEVELOPMENT, PRODUCTION - - name: CSI_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - securityContext: - privileged: true - capabilities: - add: ["SYS_ADMIN"] - allowPrivilegeEscalation: true - volumeMounts: - # needed only for topology aware setups - #- name: vsphere-config-volume - # mountPath: /etc/cloud - # readOnly: true - - name: plugin-dir - mountPath: /csi - - name: pods-mount-dir - mountPath: {{ .Values.csiNode.prefixPath }}/var/lib/kubelet - # needed so that any mounts setup inside this container are - # propagated back to the host machine. - mountPropagation: "Bidirectional" - - name: device-dir - mountPath: /dev - - name: blocks-dir - mountPath: /sys/block - - name: sys-devices-dir - mountPath: /sys/devices - ports: - - name: healthz - containerPort: 9808 - protocol: TCP - livenessProbe: - httpGet: - path: /healthz - port: healthz - initialDelaySeconds: 10 - timeoutSeconds: 5 - periodSeconds: 5 - failureThreshold: 3 - - name: liveness-probe - image: "{{ template "system_default_registry" . }}{{ .Values.csiNode.image.livenessProbe.repository }}:{{ .Values.csiNode.image.livenessProbe.tag }}" - args: - - "--v=4" - - "--csi-address=/csi/csi.sock" - volumeMounts: - - name: plugin-dir - mountPath: /csi - volumes: - # needed only for topology aware setups - #- name: vsphere-config-volume - # secret: - # secretName: vsphere-config-secret - - name: registration-dir - hostPath: - path: {{ .Values.csiNode.prefixPath }}/var/lib/kubelet/plugins_registry - type: Directory - - name: plugin-dir - hostPath: - path: {{ .Values.csiNode.prefixPath }}/var/lib/kubelet/plugins/csi.vsphere.vmware.com - type: DirectoryOrCreate - - name: pods-mount-dir - hostPath: - path: {{ .Values.csiNode.prefixPath }}/var/lib/kubelet - type: Directory - - name: device-dir - hostPath: - path: /dev - - name: blocks-dir - hostPath: - path: /sys/block - type: Directory - - name: sys-devices-dir - hostPath: - path: /sys/devices - type: Directory - tolerations: - - effect: NoExecute - operator: Exists - - effect: NoSchedule - operator: Exists diff --git a/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/node/role-binding.yaml b/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/node/role-binding.yaml deleted file mode 100644 index 5b829dd4e..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/node/role-binding.yaml +++ /dev/null @@ -1,14 +0,0 @@ -# Source: https://github.com/kubernetes-sigs/vsphere-csi-driver -kind: RoleBinding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: vsphere-csi-node-binding - namespace: {{ .Release.Namespace }} -subjects: - - kind: ServiceAccount - name: vsphere-csi-node - namespace: {{ .Release.Namespace }} -roleRef: - kind: Role - name: vsphere-csi-node-role - apiGroup: rbac.authorization.k8s.io diff --git a/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/node/role.yaml b/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/node/role.yaml deleted file mode 100644 index dfb392ce7..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/node/role.yaml +++ /dev/null @@ -1,10 +0,0 @@ -# Source: https://github.com/kubernetes-sigs/vsphere-csi-driver -kind: Role -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: vsphere-csi-node-role - namespace: {{ .Release.Namespace }} -rules: - - apiGroups: [""] - resources: ["configmaps"] - verbs: ["get", "list", "watch"] diff --git a/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/node/service-account.yaml b/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/node/service-account.yaml deleted file mode 100644 index 24628888c..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/node/service-account.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Source: https://github.com/kubernetes-sigs/vsphere-csi-driver -kind: ServiceAccount -apiVersion: v1 -metadata: - name: vsphere-csi-node - namespace: {{ .Release.Namespace }} diff --git a/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/secret.yaml b/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/secret.yaml deleted file mode 100644 index 2a8c53025..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/secret.yaml +++ /dev/null @@ -1,9 +0,0 @@ -{{- if .Values.vCenter.configSecret.generate -}} -apiVersion: v1 -kind: Secret -metadata: - name: {{ .Values.vCenter.configSecret.name }} - namespace: {{ .Release.Namespace }} -data: - csi-vsphere.conf: {{ tpl .Values.vCenter.configSecret.configTemplate . | b64enc | quote }} -{{- end -}} diff --git a/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/storageclass.yaml b/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/storageclass.yaml deleted file mode 100644 index 30dfbd46a..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-csi/charts/templates/storageclass.yaml +++ /dev/null @@ -1,17 +0,0 @@ -{{- if .Values.storageClass.enabled -}} -apiVersion: storage.k8s.io/v1 -kind: StorageClass -metadata: - name: {{ .Values.storageClass.name | quote }} - annotations: - storageclass.kubernetes.io/is-default-class: {{ .Values.storageClass.isDefault | quote }} -provisioner: csi.vsphere.vmware.com -allowVolumeExpansion: {{ .Values.storageClass.allowVolumeExpansion }} -parameters: - {{- if .Values.storageClass.datastoreURL }} - datastoreURL: {{ .Values.storageClass.datastoreURL | quote }} - {{- end }} - {{- if .Values.storageClass.storagePolicyName }} - storagepolicyname: {{ .Values.storageClass.storagePolicyName | quote }} - {{- end }} -{{- end -}} diff --git a/packages/rancher-vsphere/rancher-vsphere-csi/charts/values.yaml b/packages/rancher-vsphere/rancher-vsphere-csi/charts/values.yaml deleted file mode 100644 index ae370c8ab..000000000 --- a/packages/rancher-vsphere/rancher-vsphere-csi/charts/values.yaml +++ /dev/null @@ -1,95 +0,0 @@ -vCenter: - host: "" - port: 443 - insecureFlag: "1" - clusterId: "" - datacenters: "" - username: "" - password: "" - configSecret: - name: "vsphere-config-secret" - generate: true - configTemplate: | - [Global] - cluster-id = {{ required ".Values.vCenter.clusterId must be provided" (default .Values.vCenter.clusterId .Values.global.cattle.clusterId) | quote }} - user = {{ .Values.vCenter.username | quote }} - password = {{ .Values.vCenter.password | quote }} - port = {{ .Values.vCenter.port | quote }} - insecure-flag = {{ .Values.vCenter.insecureFlag | quote }} - - [VirtualCenter {{ .Values.vCenter.host | quote }}] - datacenters = {{ .Values.vCenter.datacenters | quote }} - -csiController: - csiResizer: - enabled: false - image: - repository: rancher/mirrored-cloud-provider-vsphere-csi-release-driver - tag: v2.3.0 - csiAttacher: - repository: rancher/mirrored-sig-storage-csi-attacher - tag: v3.2.0 - csiResizer: - repository: rancher/mirrored-k8scsi-csi-resizer - tag: v1.1.0 - livenessProbe: - repository: rancher/mirrored-k8scsi-livenessprobe - tag: v2.2.0 - vsphereSyncer: - repository: rancher/mirrored-cloud-provider-vsphere-csi-release-syncer - tag: v2.3.0 - csiProvisioner: - repository: rancher/mirrored-sig-storage-csi-provisioner - tag: v2.2.0 - nodeSelector: {} - # Uncomment below toleration if you need an aggressive pod eviction in case when - # node becomes not-ready or unreachable. Default is 300 seconds if not specified. - # tolerations: - # - key: node.kubernetes.io/not-ready - # operator: Exists - # effect: NoExecute - # tolerationSeconds: 30 - # - key: node.kubernetes.io/unreachable - # operator: Exists - # effect: NoExecute - # tolerationSeconds: 30 - -# Internal features -csiMigration: - enabled: false -csiAuthCheck: - enabled: false -onlineVolumeExtend: - enabled: false -triggerCsiFullsync: - enabled: false -asyncQueryVolume: - enabled: false -improvedCsiIdempotency: - enabled: false -improvedVolumeTopology: - enabled: false - -csiNode: - prefixPath: "" - image: - repository: rancher/mirrored-cloud-provider-vsphere-csi-release-driver - tag: v2.3.0 - nodeDriverRegistrar: - repository: rancher/mirrored-k8scsi-csi-node-driver-registrar - tag: v2.1.0 - livenessProbe: - repository: rancher/mirrored-k8scsi-livenessprobe - tag: v2.2.0 - -storageClass: - enabled: true - allowVolumeExpansion: false - name: "vsphere-csi-sc" - isDefault: true - storagePolicyName: "" - datastoreURL: "" - -global: - cattle: - systemDefaultRegistry: "" diff --git a/packages/rancher-vsphere/rancher-vsphere-csi/package.yaml b/packages/rancher-vsphere/rancher-vsphere-csi/package.yaml index 5cfaded49..8431a7f07 100644 --- a/packages/rancher-vsphere/rancher-vsphere-csi/package.yaml +++ b/packages/rancher-vsphere/rancher-vsphere-csi/package.yaml @@ -1,2 +1,4 @@ -url: local -version: 100.1.0+up2.3.0 +url: https://github.com/rancher/vsphere-charts.git +subdirectory: charts/rancher-vsphere-csi +commit: 27242a6495e33d34286d557459eb3cab785e26dd +version: 100.1.1 diff --git a/release.yaml b/release.yaml index dc7bd33d6..37ecddb1d 100644 --- a/release.yaml +++ b/release.yaml @@ -40,6 +40,9 @@ rancher-pushprox: - 100.0.2 rancher-vsphere-csi: - 2.3.1 +- 100.1.1+up2.3.0-rancher1 +rancher-vsphere-cpi: +- 100.1.1+up1.0.1 rancher-webhook: - 0.1.300+up0.1.3 - 1.0.4+up0.2.5-rc1