mirror of https://git.rancher.io/charts
Merge pull request #1853 from yaocw2020/bump-hcp-hcd
Bump harvester cloud provider and harvester csi driverpull/1888/head
commit
f31016130f
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,23 @@
|
||||||
|
# Patterns to ignore when building packages.
|
||||||
|
# This supports shell glob matching, relative path matching, and
|
||||||
|
# negation (prefixed with !). Only one pattern per line.
|
||||||
|
.DS_Store
|
||||||
|
# Common VCS dirs
|
||||||
|
.git/
|
||||||
|
.gitignore
|
||||||
|
.bzr/
|
||||||
|
.bzrignore
|
||||||
|
.hg/
|
||||||
|
.hgignore
|
||||||
|
.svn/
|
||||||
|
# Common backup files
|
||||||
|
*.swp
|
||||||
|
*.bak
|
||||||
|
*.tmp
|
||||||
|
*.orig
|
||||||
|
*~
|
||||||
|
# Various IDEs
|
||||||
|
.project
|
||||||
|
.idea/
|
||||||
|
*.tmproj
|
||||||
|
.vscode/
|
|
@ -0,0 +1,22 @@
|
||||||
|
annotations:
|
||||||
|
catalog.cattle.io/certified: rancher
|
||||||
|
catalog.cattle.io/display-name: Harvester Cloud Provider
|
||||||
|
catalog.cattle.io/kube-version: '>= 1.18'
|
||||||
|
catalog.cattle.io/namespace: kube-system
|
||||||
|
catalog.cattle.io/os: linux
|
||||||
|
catalog.cattle.io/permits-os: linux,windows
|
||||||
|
catalog.cattle.io/rancher-version: '>= 2.6.1-0 <= 2.6.99-0'
|
||||||
|
catalog.cattle.io/release-name: harvester-cloud-provider
|
||||||
|
catalog.cattle.io/ui-component: harvester-cloud-provider
|
||||||
|
catalog.cattle.io/upstream-version: 0.1.8
|
||||||
|
apiVersion: v2
|
||||||
|
appVersion: v0.1.3
|
||||||
|
description: A Helm chart for Harvester Cloud Provider
|
||||||
|
keywords:
|
||||||
|
- infrastructure
|
||||||
|
- harvester
|
||||||
|
maintainers:
|
||||||
|
- name: harvester
|
||||||
|
name: harvester-cloud-provider
|
||||||
|
type: application
|
||||||
|
version: 100.0.2+up0.1.12
|
|
@ -0,0 +1,3 @@
|
||||||
|
replicasCount: 1
|
||||||
|
# It's an existent but invalid kubeconfig, just for helm installation testing in kind
|
||||||
|
cloudConfigPath: "/etc/kubernetes/admin.conf"
|
|
@ -0,0 +1,11 @@
|
||||||
|
categories:
|
||||||
|
- infrastructure
|
||||||
|
- harvester
|
||||||
|
namespace: kube-system
|
||||||
|
questions:
|
||||||
|
- variable: cloudConfigPath
|
||||||
|
label: Cloud config file path
|
||||||
|
description: "Specify the path of the cloud config."
|
||||||
|
group: "Default"
|
||||||
|
type: string
|
||||||
|
default: "/etc/kubernetes/cloud-config"
|
|
@ -0,0 +1,69 @@
|
||||||
|
{{/* vim: set filetype=mustache: */}}
|
||||||
|
{{/*
|
||||||
|
Expand the name of the chart.
|
||||||
|
*/}}
|
||||||
|
{{- define "harvester-cloud-provider.name" -}}
|
||||||
|
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create a default fully qualified app name.
|
||||||
|
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||||
|
If release name contains chart name it will be used as a full name.
|
||||||
|
*/}}
|
||||||
|
{{- define "harvester-cloud-provider.fullname" -}}
|
||||||
|
{{- if .Values.fullnameOverride }}
|
||||||
|
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- else }}
|
||||||
|
{{- $name := default .Chart.Name .Values.nameOverride }}
|
||||||
|
{{- if contains $name .Release.Name }}
|
||||||
|
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- else }}
|
||||||
|
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create chart name and version as used by the chart label.
|
||||||
|
*/}}
|
||||||
|
{{- define "harvester-cloud-provider.chart" -}}
|
||||||
|
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Common labels
|
||||||
|
*/}}
|
||||||
|
{{- define "harvester-cloud-provider.labels" -}}
|
||||||
|
helm.sh/chart: {{ include "harvester-cloud-provider.chart" . }}
|
||||||
|
{{ include "harvester-cloud-provider.selectorLabels" . }}
|
||||||
|
{{- if .Chart.AppVersion }}
|
||||||
|
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Selector labels
|
||||||
|
*/}}
|
||||||
|
{{- define "harvester-cloud-provider.selectorLabels" -}}
|
||||||
|
app.kubernetes.io/name: {{ include "harvester-cloud-provider.name" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create the name of the service account to use
|
||||||
|
*/}}
|
||||||
|
{{- define "harvester-cloud-provider.serviceAccountName" -}}
|
||||||
|
{{- default (include "harvester-cloud-provider.fullname" .) .Values.serviceAccount.name }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Global system default registry
|
||||||
|
*/}}
|
||||||
|
{{- define "system_default_registry" -}}
|
||||||
|
{{- if .Values.global.cattle.systemDefaultRegistry -}}
|
||||||
|
{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}}
|
||||||
|
{{- else -}}
|
||||||
|
{{- "" -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
|
@ -0,0 +1,53 @@
|
||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
{{- include "harvester-cloud-provider.labels" . | nindent 4 }}
|
||||||
|
name: {{ include "harvester-cloud-provider.name" . }}
|
||||||
|
spec:
|
||||||
|
replicas: {{ .Values.replicasCount}}
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "harvester-cloud-provider.selectorLabels" . | nindent 6 }}
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
{{- include "harvester-cloud-provider.selectorLabels" . | nindent 8 }}
|
||||||
|
spec:
|
||||||
|
serviceAccountName: {{ include "harvester-cloud-provider.name" . }}
|
||||||
|
hostNetwork: true
|
||||||
|
containers:
|
||||||
|
- name: {{ include "harvester-cloud-provider.name" . }}
|
||||||
|
image: {{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||||
|
args:
|
||||||
|
- --cloud-config=/etc/kubernetes/cloud-config
|
||||||
|
{{- if ne .Values.global.cattle.clusterName "" }}
|
||||||
|
- --cluster-name={{ .Values.global.cattle.clusterName }}
|
||||||
|
{{- end }}
|
||||||
|
command:
|
||||||
|
- harvester-cloud-provider
|
||||||
|
resources:
|
||||||
|
{{- toYaml .Values.resources | nindent 12 }}
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /etc/kubernetes/cloud-config
|
||||||
|
name: cloud-config
|
||||||
|
{{- with .Values.nodeSelector }}
|
||||||
|
nodeSelector:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.affinity }}
|
||||||
|
affinity:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.tolerations }}
|
||||||
|
tolerations:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
volumes:
|
||||||
|
- name: cloud-config
|
||||||
|
hostPath:
|
||||||
|
path: {{ required "A valid cloudConfigPath is required!" .Values.cloudConfigPath }}
|
||||||
|
type: File
|
|
@ -0,0 +1,37 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: {{ include "harvester-cloud-provider.name" . }}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
{{- include "harvester-cloud-provider.labels" . | nindent 4 }}
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRole
|
||||||
|
metadata:
|
||||||
|
name: {{ include "harvester-cloud-provider.name" . }}
|
||||||
|
rules:
|
||||||
|
- apiGroups: [ "" ]
|
||||||
|
resources: [ "services", "nodes", "events" ]
|
||||||
|
verbs: [ "get", "watch", "list", "update", "create", "patch" ]
|
||||||
|
- apiGroups: [ "" ]
|
||||||
|
resources: [ "nodes/status", "services/status" ]
|
||||||
|
verbs: [ "update", "patch" ]
|
||||||
|
- apiGroups: [ "coordination.k8s.io" ]
|
||||||
|
resources: [ "leases" ]
|
||||||
|
verbs: [ "get", "update", "create" ]
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
metadata:
|
||||||
|
name: {{ include "harvester-cloud-provider.name" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "harvester-cloud-provider.labels" . | nindent 4 }}
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: ClusterRole
|
||||||
|
name: {{ include "harvester-cloud-provider.name" . }}
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: {{ include "harvester-cloud-provider.name" . }}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
|
@ -0,0 +1,71 @@
|
||||||
|
# Default values for harvester-cloud-provider.
|
||||||
|
# This is a YAML-formatted file.
|
||||||
|
# Declare variables to be passed into your templates.
|
||||||
|
|
||||||
|
replicasCount: 1
|
||||||
|
|
||||||
|
image:
|
||||||
|
repository: rancher/harvester-cloud-provider
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
# Overrides the image tag whose default is the chart appVersion.
|
||||||
|
tag: v0.1.3
|
||||||
|
|
||||||
|
cloudConfigPath: "/etc/kubernetes/cloud-config"
|
||||||
|
|
||||||
|
imagePullSecrets: []
|
||||||
|
nameOverride: ""
|
||||||
|
fullnameOverride: ""
|
||||||
|
|
||||||
|
serviceAccount:
|
||||||
|
# Annotations to add to the service account
|
||||||
|
annotations: {}
|
||||||
|
# The name of the service account to use.
|
||||||
|
# If not set and create is true, a name is generated using the fullname template
|
||||||
|
name: ""
|
||||||
|
|
||||||
|
resources: {}
|
||||||
|
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||||
|
# choice for the user. This also increases chances charts run on environments with little
|
||||||
|
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||||
|
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||||
|
# limits:
|
||||||
|
# cpu: 100m
|
||||||
|
# memory: 128Mi
|
||||||
|
# requests:
|
||||||
|
# cpu: 100m
|
||||||
|
# memory: 128Mi
|
||||||
|
|
||||||
|
nodeSelector:
|
||||||
|
kubernetes.io/os: linux
|
||||||
|
|
||||||
|
tolerations:
|
||||||
|
- effect: NoSchedule
|
||||||
|
key: node.cloudprovider.kubernetes.io/uninitialized
|
||||||
|
operator: Equal
|
||||||
|
value: "true"
|
||||||
|
- effect: NoSchedule
|
||||||
|
key: node-role.kubernetes.io/control-plane
|
||||||
|
operator: Equal
|
||||||
|
- effect: NoExecute
|
||||||
|
key: node-role.kubernetes.io/etcd
|
||||||
|
operator: Equal
|
||||||
|
- key: cattle.io/os
|
||||||
|
operator: Equal
|
||||||
|
value: "linux"
|
||||||
|
effect: NoSchedule
|
||||||
|
|
||||||
|
affinity:
|
||||||
|
podAntiAffinity:
|
||||||
|
requiredDuringSchedulingIgnoredDuringExecution:
|
||||||
|
- labelSelector:
|
||||||
|
matchExpressions:
|
||||||
|
- key: app.kubernetes.io/name
|
||||||
|
operator: In
|
||||||
|
values:
|
||||||
|
- harvester-cloud-provider
|
||||||
|
topologyKey: kubernetes.io/hostname
|
||||||
|
|
||||||
|
global:
|
||||||
|
cattle:
|
||||||
|
systemDefaultRegistry: ""
|
||||||
|
clusterName: ""
|
|
@ -0,0 +1,23 @@
|
||||||
|
# Patterns to ignore when building packages.
|
||||||
|
# This supports shell glob matching, relative path matching, and
|
||||||
|
# negation (prefixed with !). Only one pattern per line.
|
||||||
|
.DS_Store
|
||||||
|
# Common VCS dirs
|
||||||
|
.git/
|
||||||
|
.gitignore
|
||||||
|
.bzr/
|
||||||
|
.bzrignore
|
||||||
|
.hg/
|
||||||
|
.hgignore
|
||||||
|
.svn/
|
||||||
|
# Common backup files
|
||||||
|
*.swp
|
||||||
|
*.bak
|
||||||
|
*.tmp
|
||||||
|
*.orig
|
||||||
|
*~
|
||||||
|
# Various IDEs
|
||||||
|
.project
|
||||||
|
.idea/
|
||||||
|
*.tmproj
|
||||||
|
.vscode/
|
|
@ -0,0 +1,22 @@
|
||||||
|
annotations:
|
||||||
|
catalog.cattle.io/certified: rancher
|
||||||
|
catalog.cattle.io/display-name: Harvester CSI Driver
|
||||||
|
catalog.cattle.io/kube-version: '>= 1.18'
|
||||||
|
catalog.cattle.io/namespace: kube-system
|
||||||
|
catalog.cattle.io/os: linux
|
||||||
|
catalog.cattle.io/permits-os: linux,windows
|
||||||
|
catalog.cattle.io/rancher-version: '>= 2.6.1-0 <= 2.6.99-0'
|
||||||
|
catalog.cattle.io/release-name: harvester-csi-driver
|
||||||
|
catalog.cattle.io/ui-component: harvester-csi-driver
|
||||||
|
catalog.cattle.io/upstream-version: 0.1.9
|
||||||
|
apiVersion: v2
|
||||||
|
appVersion: v0.1.3
|
||||||
|
description: A Helm chart for Harvester CSI driver
|
||||||
|
keywords:
|
||||||
|
- infrastructure
|
||||||
|
- harvester
|
||||||
|
maintainers:
|
||||||
|
- name: harvester
|
||||||
|
name: harvester-csi-driver
|
||||||
|
type: application
|
||||||
|
version: 100.0.2+up0.1.11
|
|
@ -0,0 +1,11 @@
|
||||||
|
categories:
|
||||||
|
- infrastructure
|
||||||
|
- harvester
|
||||||
|
namespace: kube-system
|
||||||
|
questions:
|
||||||
|
- variable: cloudConfig.hostPath
|
||||||
|
label: Cloud config file path
|
||||||
|
description: "Specify the path of the cloud config."
|
||||||
|
group: "Default"
|
||||||
|
type: string
|
||||||
|
default: "/etc/kubernetes/cloud-config"
|
|
@ -0,0 +1 @@
|
||||||
|
Successfully deployed Harvester CSI driver to the {{ .Release.Namespace }} namespace.
|
|
@ -0,0 +1,62 @@
|
||||||
|
{{/* vim: set filetype=mustache: */}}
|
||||||
|
{{/*
|
||||||
|
Expand the name of the chart.
|
||||||
|
*/}}
|
||||||
|
{{- define "harvester-csi-driver.name" -}}
|
||||||
|
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create a default fully qualified app name.
|
||||||
|
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||||
|
If release name contains chart name it will be used as a full name.
|
||||||
|
*/}}
|
||||||
|
{{- define "harvester-csi-driver.fullname" -}}
|
||||||
|
{{- if .Values.fullnameOverride }}
|
||||||
|
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- else }}
|
||||||
|
{{- $name := default .Chart.Name .Values.nameOverride }}
|
||||||
|
{{- if contains $name .Release.Name }}
|
||||||
|
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- else }}
|
||||||
|
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create chart name and version as used by the chart label.
|
||||||
|
*/}}
|
||||||
|
{{- define "harvester-csi-driver.chart" -}}
|
||||||
|
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Common labels
|
||||||
|
*/}}
|
||||||
|
{{- define "harvester-csi-driver.labels" -}}
|
||||||
|
helm.sh/chart: {{ include "harvester-csi-driver.chart" . }}
|
||||||
|
{{ include "harvester-csi-driver.selectorLabels" . }}
|
||||||
|
{{- if .Chart.AppVersion }}
|
||||||
|
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Selector labels
|
||||||
|
*/}}
|
||||||
|
{{- define "harvester-csi-driver.selectorLabels" -}}
|
||||||
|
app.kubernetes.io/name: {{ include "harvester-csi-driver.name" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Global system default registry
|
||||||
|
*/}}
|
||||||
|
{{- define "system_default_registry" -}}
|
||||||
|
{{- if .Values.global.cattle.systemDefaultRegistry -}}
|
||||||
|
{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}}
|
||||||
|
{{- else -}}
|
||||||
|
{{- "" -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
|
@ -0,0 +1,10 @@
|
||||||
|
apiVersion: storage.k8s.io/v1
|
||||||
|
kind: CSIDriver
|
||||||
|
metadata:
|
||||||
|
name: driver.harvesterhci.io
|
||||||
|
spec:
|
||||||
|
attachRequired: true
|
||||||
|
fsGroupPolicy: ReadWriteOnceWithFSType
|
||||||
|
podInfoOnMount: true
|
||||||
|
volumeLifecycleModes:
|
||||||
|
- Persistent
|
|
@ -0,0 +1,149 @@
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: DaemonSet
|
||||||
|
metadata:
|
||||||
|
name: {{ include "harvester-csi-driver.name" . }}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
{{- include "harvester-csi-driver.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
component: csi-driver
|
||||||
|
{{- include "harvester-csi-driver.selectorLabels" . | nindent 6 }}
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
component: csi-driver
|
||||||
|
{{- include "harvester-csi-driver.selectorLabels" . | nindent 8 }}
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- args:
|
||||||
|
- --v=5
|
||||||
|
- --csi-address=$(ADDRESS)
|
||||||
|
- --kubelet-registration-path={{ .Values.kubeletRootDir }}/harvester-plugins/driver.harvesterhci.io/csi.sock
|
||||||
|
env:
|
||||||
|
- name: ADDRESS
|
||||||
|
value: /csi/csi.sock
|
||||||
|
image: {{ template "system_default_registry" . }}{{ .Values.image.csi.nodeDriverRegistrar.repository }}:{{ .Values.image.csi.nodeDriverRegistrar.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||||
|
lifecycle:
|
||||||
|
preStop:
|
||||||
|
exec:
|
||||||
|
command:
|
||||||
|
- /bin/sh
|
||||||
|
- -c
|
||||||
|
- rm -rf /registration/driver.harvesterhci.io-reg.sock
|
||||||
|
/csi//*
|
||||||
|
name: node-driver-registrar
|
||||||
|
securityContext:
|
||||||
|
privileged: true
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /csi/
|
||||||
|
name: socket-dir
|
||||||
|
- mountPath: /registration
|
||||||
|
name: registration-dir
|
||||||
|
- args:
|
||||||
|
- --nodeid=$(NODE_ID)
|
||||||
|
- --endpoint=$(CSI_ENDPOINT)
|
||||||
|
- --kubeconfig=/var/lib/harvester/cloud-provider-config
|
||||||
|
env:
|
||||||
|
- name: NODE_ID
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
apiVersion: v1
|
||||||
|
fieldPath: spec.nodeName
|
||||||
|
- name: CSI_ENDPOINT
|
||||||
|
value: unix:///csi/csi.sock
|
||||||
|
image: {{ template "system_default_registry" . }}{{ .Values.image.harvester.csiDriver.repository }}:{{ .Values.image.harvester.csiDriver.tag | default .Chart.AppVersion }}
|
||||||
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||||
|
lifecycle:
|
||||||
|
preStop:
|
||||||
|
exec:
|
||||||
|
command:
|
||||||
|
- /bin/sh
|
||||||
|
- -c
|
||||||
|
- rm -f /csi//*
|
||||||
|
name: harvester-csi-driver
|
||||||
|
securityContext:
|
||||||
|
allowPrivilegeEscalation: true
|
||||||
|
capabilities:
|
||||||
|
add:
|
||||||
|
- SYS_ADMIN
|
||||||
|
privileged: true
|
||||||
|
volumeMounts:
|
||||||
|
- name: cloud-config
|
||||||
|
readOnly: true
|
||||||
|
mountPath: /var/lib/harvester
|
||||||
|
- name: kubernetes
|
||||||
|
readOnly: true
|
||||||
|
mountPath: /etc/kubernetes
|
||||||
|
- mountPath: {{ .Values.kubeletRootDir }}/plugins/kubernetes.io/csi
|
||||||
|
mountPropagation: Bidirectional
|
||||||
|
name: kubernetes-csi-dir
|
||||||
|
- mountPath: /csi/
|
||||||
|
name: socket-dir
|
||||||
|
- mountPath: {{ .Values.kubeletRootDir }}/pods
|
||||||
|
mountPropagation: Bidirectional
|
||||||
|
name: pods-mount-dir
|
||||||
|
- mountPath: /dev
|
||||||
|
name: host-dev
|
||||||
|
- mountPath: /sys
|
||||||
|
name: host-sys
|
||||||
|
- mountPath: /rootfs
|
||||||
|
mountPropagation: Bidirectional
|
||||||
|
name: host
|
||||||
|
- mountPath: /lib/modules
|
||||||
|
name: lib-modules
|
||||||
|
readOnly: true
|
||||||
|
hostPID: true
|
||||||
|
serviceAccountName: {{ include "harvester-csi-driver.name" . }}
|
||||||
|
{{- with .Values.nodeSelector }}
|
||||||
|
nodeSelector:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.tolerations }}
|
||||||
|
tolerations:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
volumes:
|
||||||
|
- name: cloud-config
|
||||||
|
{{- if .Values.cloudConfig.secretName }}
|
||||||
|
secret:
|
||||||
|
secretName: {{ .Values.cloudConfig.secretName }}
|
||||||
|
{{- else }}
|
||||||
|
hostPath:
|
||||||
|
path: {{ .Values.cloudConfig.hostPath }}
|
||||||
|
type: DirectoryOrCreate
|
||||||
|
{{- end }}
|
||||||
|
- hostPath:
|
||||||
|
path: /etc/kubernetes
|
||||||
|
type: DirectoryOrCreate
|
||||||
|
name: kubernetes
|
||||||
|
- hostPath:
|
||||||
|
path: {{ .Values.kubeletRootDir }}/plugins/kubernetes.io/csi
|
||||||
|
type: DirectoryOrCreate
|
||||||
|
name: kubernetes-csi-dir
|
||||||
|
- hostPath:
|
||||||
|
path: {{ .Values.kubeletRootDir }}/plugins_registry
|
||||||
|
type: Directory
|
||||||
|
name: registration-dir
|
||||||
|
- hostPath:
|
||||||
|
path: {{ .Values.kubeletRootDir }}/harvester-plugins/driver.harvesterhci.io
|
||||||
|
type: DirectoryOrCreate
|
||||||
|
name: socket-dir
|
||||||
|
- hostPath:
|
||||||
|
path: {{ .Values.kubeletRootDir }}/pods
|
||||||
|
type: DirectoryOrCreate
|
||||||
|
name: pods-mount-dir
|
||||||
|
- hostPath:
|
||||||
|
path: /dev
|
||||||
|
name: host-dev
|
||||||
|
- hostPath:
|
||||||
|
path: /sys
|
||||||
|
name: host-sys
|
||||||
|
- hostPath:
|
||||||
|
path: /
|
||||||
|
name: host
|
||||||
|
- hostPath:
|
||||||
|
path: /lib/modules
|
||||||
|
name: lib-modules
|
|
@ -0,0 +1,95 @@
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: {{ include "harvester-csi-driver.name" . }}-controllers
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
{{- include "harvester-csi-driver.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
replicas: {{ .Values.replicasCount }}
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
component: csi-controllers
|
||||||
|
{{- include "harvester-csi-driver.selectorLabels" . | nindent 6 }}
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
component: csi-controllers
|
||||||
|
{{- include "harvester-csi-driver.selectorLabels" . | nindent 8 }}
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- args:
|
||||||
|
- --v=5
|
||||||
|
- --csi-address=$(ADDRESS)
|
||||||
|
- --timeout=1m50s
|
||||||
|
- --leader-election
|
||||||
|
- --leader-election-namespace=$(POD_NAMESPACE)
|
||||||
|
env:
|
||||||
|
- name: ADDRESS
|
||||||
|
value: /csi/csi.sock
|
||||||
|
- name: POD_NAMESPACE
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
apiVersion: v1
|
||||||
|
fieldPath: metadata.namespace
|
||||||
|
image: {{ template "system_default_registry" . }}{{ .Values.image.csi.resizer.repository }}:{{ .Values.image.csi.resizer.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||||
|
name: csi-resizer
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /csi/
|
||||||
|
name: socket-dir
|
||||||
|
- args:
|
||||||
|
- --v=5
|
||||||
|
- --csi-address=$(ADDRESS)
|
||||||
|
- --timeout=1m50s
|
||||||
|
- --leader-election
|
||||||
|
- --leader-election-namespace=$(POD_NAMESPACE)
|
||||||
|
- --default-fstype=ext4
|
||||||
|
env:
|
||||||
|
- name: ADDRESS
|
||||||
|
value: /csi/csi.sock
|
||||||
|
- name: POD_NAMESPACE
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
apiVersion: v1
|
||||||
|
fieldPath: metadata.namespace
|
||||||
|
image: {{ template "system_default_registry" . }}{{ .Values.image.csi.provisioner.repository }}:{{ .Values.image.csi.provisioner.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||||
|
name: csi-provisioner
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /csi/
|
||||||
|
name: socket-dir
|
||||||
|
- args:
|
||||||
|
- --v=5
|
||||||
|
- --csi-address=$(ADDRESS)
|
||||||
|
- --timeout=1m50s
|
||||||
|
- --leader-election
|
||||||
|
- --leader-election-namespace=$(POD_NAMESPACE)
|
||||||
|
env:
|
||||||
|
- name: ADDRESS
|
||||||
|
value: /csi/csi.sock
|
||||||
|
- name: POD_NAMESPACE
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
apiVersion: v1
|
||||||
|
fieldPath: metadata.namespace
|
||||||
|
image: {{ template "system_default_registry" . }}{{ .Values.image.csi.attacher.repository }}:{{ .Values.image.csi.attacher.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||||
|
name: csi-attacher
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /csi/
|
||||||
|
name: socket-dir
|
||||||
|
serviceAccountName: {{ include "harvester-csi-driver.name" . }}
|
||||||
|
{{- with .Values.nodeSelector }}
|
||||||
|
nodeSelector:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.tolerations }}
|
||||||
|
tolerations:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
volumes:
|
||||||
|
- hostPath:
|
||||||
|
path: {{ .Values.kubeletRootDir }}/harvester-plugins/driver.harvesterhci.io
|
||||||
|
type: DirectoryOrCreate
|
||||||
|
name: socket-dir
|
|
@ -0,0 +1,75 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: {{ include "harvester-csi-driver.name" . }}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
{{- include "harvester-csi-driver.labels" . | nindent 4 }}
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
metadata:
|
||||||
|
name: {{ include "harvester-csi-driver.name" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "harvester-csi-driver.labels" . | nindent 4 }}
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: ClusterRole
|
||||||
|
name: {{ include "harvester-csi-driver.name" . }}
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: {{ include "harvester-csi-driver.name" . }}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRole
|
||||||
|
metadata:
|
||||||
|
name: {{ include "harvester-csi-driver.name" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "harvester-csi-driver.labels" . | nindent 4 }}
|
||||||
|
rules:
|
||||||
|
- apiGroups: [ "coordination.k8s.io" ]
|
||||||
|
resources: [ "leases" ]
|
||||||
|
verbs: [ "get", "watch", "list", "delete", "update", "create" ]
|
||||||
|
- apiGroups: [ "storage.k8s.io" ]
|
||||||
|
resources: [ "csistoragecapacities" ]
|
||||||
|
verbs: [ "get", "list", "watch", "create", "update", "patch", "delete" ]
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["persistentvolumes"]
|
||||||
|
verbs: [ "get", "list", "watch", "create","update", "patch", "delete" ]
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["persistentvolumeclaims"]
|
||||||
|
verbs: ["get", "list", "watch", "create","update", "patch", "delete" ]
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["persistentvolumeclaims/status"]
|
||||||
|
verbs: ["patch"]
|
||||||
|
- apiGroups: ["storage.k8s.io"]
|
||||||
|
resources: ["storageclasses"]
|
||||||
|
verbs: ["get", "list", "watch"]
|
||||||
|
- apiGroups: ["snapshot.storage.k8s.io"]
|
||||||
|
resources: ["volumesnapshots"]
|
||||||
|
verbs: ["get", "list"]
|
||||||
|
- apiGroups: ["snapshot.storage.k8s.io"]
|
||||||
|
resources: ["volumesnapshotcontents"]
|
||||||
|
verbs: ["get", "list"]
|
||||||
|
- apiGroups: [ "storage.k8s.io" ]
|
||||||
|
resources: [ "csinodes" ]
|
||||||
|
verbs: [ "get", "list", "watch" ]
|
||||||
|
- apiGroups: [ "" ]
|
||||||
|
resources: [ "events" ]
|
||||||
|
verbs: [ "list", "watch", "create", "update", "patch" ]
|
||||||
|
- apiGroups: [ "" ]
|
||||||
|
resources: [ "pods" ]
|
||||||
|
verbs: [ "get", "list", "watch" ]
|
||||||
|
- apiGroups: [ "apps" ]
|
||||||
|
resources: [ "replicasets" ]
|
||||||
|
verbs: [ "get" ]
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["nodes"]
|
||||||
|
verbs: ["get", "list", "watch"]
|
||||||
|
- apiGroups: ["storage.k8s.io"]
|
||||||
|
resources: ["volumeattachments"]
|
||||||
|
verbs: ["get", "list", "watch", "patch"]
|
||||||
|
- apiGroups: [ "storage.k8s.io" ]
|
||||||
|
resources: [ "volumeattachments/status" ]
|
||||||
|
verbs: [ "patch" ]
|
|
@ -0,0 +1,10 @@
|
||||||
|
apiVersion: storage.k8s.io/v1
|
||||||
|
kind: StorageClass
|
||||||
|
metadata:
|
||||||
|
name: harvester
|
||||||
|
annotations:
|
||||||
|
storageclass.kubernetes.io/is-default-class: "true"
|
||||||
|
allowVolumeExpansion: true
|
||||||
|
provisioner: driver.harvesterhci.io
|
||||||
|
reclaimPolicy: Delete
|
||||||
|
volumeBindingMode: Immediate
|
|
@ -0,0 +1,54 @@
|
||||||
|
# Default values for harvester-csi-driver.
|
||||||
|
|
||||||
|
replicasCount: 3
|
||||||
|
|
||||||
|
image:
|
||||||
|
harvester:
|
||||||
|
csiDriver:
|
||||||
|
repository: rancher/harvester-csi-driver
|
||||||
|
# Overrides the image tag whose default is the chart appVersion.
|
||||||
|
tag: ""
|
||||||
|
csi:
|
||||||
|
nodeDriverRegistrar:
|
||||||
|
repository: rancher/mirrored-longhornio-csi-node-driver-registrar
|
||||||
|
tag: v2.3.0
|
||||||
|
resizer:
|
||||||
|
repository: rancher/mirrored-longhornio-csi-resizer
|
||||||
|
tag: v1.2.0
|
||||||
|
provisioner:
|
||||||
|
repository: rancher/mirrored-longhornio-csi-provisioner
|
||||||
|
tag: v2.1.2
|
||||||
|
attacher:
|
||||||
|
repository: rancher/mirrored-longhornio-csi-attacher
|
||||||
|
tag: v3.2.1
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
|
||||||
|
nameOverride: ""
|
||||||
|
fullnameOverride: ""
|
||||||
|
|
||||||
|
kubeletRootDir: /var/lib/kubelet
|
||||||
|
cloudConfig:
|
||||||
|
secretName: ""
|
||||||
|
hostPath: "/var/lib/rancher/rke2/etc/config-files/"
|
||||||
|
|
||||||
|
nodeSelector:
|
||||||
|
kubernetes.io/os: linux
|
||||||
|
|
||||||
|
tolerations:
|
||||||
|
- effect: NoSchedule
|
||||||
|
key: kubevirt.io/drain
|
||||||
|
operator: Exists
|
||||||
|
- effect: NoSchedule
|
||||||
|
key: node-role.kubernetes.io/control-plane
|
||||||
|
operator: Equal
|
||||||
|
- effect: NoExecute
|
||||||
|
key: node-role.kubernetes.io/etcd
|
||||||
|
operator: Equal
|
||||||
|
- key: cattle.io/os
|
||||||
|
operator: Equal
|
||||||
|
value: "linux"
|
||||||
|
effect: NoSchedule
|
||||||
|
|
||||||
|
global:
|
||||||
|
cattle:
|
||||||
|
systemDefaultRegistry: ""
|
52
index.yaml
52
index.yaml
|
@ -531,6 +531,32 @@ entries:
|
||||||
- assets/fleet-crd/fleet-crd-0.3.000.tgz
|
- assets/fleet-crd/fleet-crd-0.3.000.tgz
|
||||||
version: 0.3.000
|
version: 0.3.000
|
||||||
harvester-cloud-provider:
|
harvester-cloud-provider:
|
||||||
|
- annotations:
|
||||||
|
catalog.cattle.io/certified: rancher
|
||||||
|
catalog.cattle.io/display-name: Harvester Cloud Provider
|
||||||
|
catalog.cattle.io/kube-version: '>= 1.18'
|
||||||
|
catalog.cattle.io/namespace: kube-system
|
||||||
|
catalog.cattle.io/os: linux
|
||||||
|
catalog.cattle.io/permits-os: linux,windows
|
||||||
|
catalog.cattle.io/rancher-version: '>= 2.6.1-0 <= 2.6.99-0'
|
||||||
|
catalog.cattle.io/release-name: harvester-cloud-provider
|
||||||
|
catalog.cattle.io/ui-component: harvester-cloud-provider
|
||||||
|
catalog.cattle.io/upstream-version: 0.1.8
|
||||||
|
apiVersion: v2
|
||||||
|
appVersion: v0.1.3
|
||||||
|
created: "2022-04-27T16:34:47.581379+08:00"
|
||||||
|
description: A Helm chart for Harvester Cloud Provider
|
||||||
|
digest: 5210d68f8e599bd39d7e360ce529d4d0ba753e4782c35c5d305d92384d8c5728
|
||||||
|
keywords:
|
||||||
|
- infrastructure
|
||||||
|
- harvester
|
||||||
|
maintainers:
|
||||||
|
- name: harvester
|
||||||
|
name: harvester-cloud-provider
|
||||||
|
type: application
|
||||||
|
urls:
|
||||||
|
- assets/harvester-cloud-provider/harvester-cloud-provider-100.0.2+up0.1.12.tgz
|
||||||
|
version: 100.0.2+up0.1.12
|
||||||
- annotations:
|
- annotations:
|
||||||
catalog.cattle.io/certified: rancher
|
catalog.cattle.io/certified: rancher
|
||||||
catalog.cattle.io/display-name: Harvester Cloud Provider
|
catalog.cattle.io/display-name: Harvester Cloud Provider
|
||||||
|
@ -583,6 +609,32 @@ entries:
|
||||||
- assets/harvester-cloud-provider/harvester-cloud-provider-100.0.0+up0.1.8.tgz
|
- assets/harvester-cloud-provider/harvester-cloud-provider-100.0.0+up0.1.8.tgz
|
||||||
version: 100.0.0+up0.1.8
|
version: 100.0.0+up0.1.8
|
||||||
harvester-csi-driver:
|
harvester-csi-driver:
|
||||||
|
- annotations:
|
||||||
|
catalog.cattle.io/certified: rancher
|
||||||
|
catalog.cattle.io/display-name: Harvester CSI Driver
|
||||||
|
catalog.cattle.io/kube-version: '>= 1.18'
|
||||||
|
catalog.cattle.io/namespace: kube-system
|
||||||
|
catalog.cattle.io/os: linux
|
||||||
|
catalog.cattle.io/permits-os: linux,windows
|
||||||
|
catalog.cattle.io/rancher-version: '>= 2.6.1-0 <= 2.6.99-0'
|
||||||
|
catalog.cattle.io/release-name: harvester-csi-driver
|
||||||
|
catalog.cattle.io/ui-component: harvester-csi-driver
|
||||||
|
catalog.cattle.io/upstream-version: 0.1.9
|
||||||
|
apiVersion: v2
|
||||||
|
appVersion: v0.1.3
|
||||||
|
created: "2022-04-27T16:33:57.114654+08:00"
|
||||||
|
description: A Helm chart for Harvester CSI driver
|
||||||
|
digest: 59fc509abb5e5c8a4ba49939dc1da032d3a632b4f2e2521030a92c62330e9472
|
||||||
|
keywords:
|
||||||
|
- infrastructure
|
||||||
|
- harvester
|
||||||
|
maintainers:
|
||||||
|
- name: harvester
|
||||||
|
name: harvester-csi-driver
|
||||||
|
type: application
|
||||||
|
urls:
|
||||||
|
- assets/harvester-csi-driver/harvester-csi-driver-100.0.2+up0.1.11.tgz
|
||||||
|
version: 100.0.2+up0.1.11
|
||||||
- annotations:
|
- annotations:
|
||||||
catalog.cattle.io/certified: rancher
|
catalog.cattle.io/certified: rancher
|
||||||
catalog.cattle.io/display-name: Harvester CSI Driver
|
catalog.cattle.io/display-name: Harvester CSI Driver
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
url: https://github.com/harvester/charts/releases/download/harvester-cloud-provider-0.1.8/harvester-cloud-provider-0.1.8.tgz
|
url: https://github.com/harvester/charts/releases/download/harvester-cloud-provider-0.1.12/harvester-cloud-provider-0.1.12.tgz
|
||||||
version: 100.0.1
|
version: 100.0.2
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
url: https://github.com/harvester/charts/releases/download/harvester-csi-driver-0.1.9/harvester-csi-driver-0.1.9.tgz
|
url: https://github.com/harvester/charts/releases/download/harvester-csi-driver-0.1.11/harvester-csi-driver-0.1.11.tgz
|
||||||
version: 100.0.1
|
version: 100.0.2
|
||||||
|
|
|
@ -32,3 +32,7 @@ rancher-cis-benchmark:
|
||||||
- 2.0.4-rc1
|
- 2.0.4-rc1
|
||||||
rancher-cis-benchmark-crd:
|
rancher-cis-benchmark-crd:
|
||||||
- 2.0.4-rc1
|
- 2.0.4-rc1
|
||||||
|
harvester-cloud-provider:
|
||||||
|
- 100.0.2+up0.1.12
|
||||||
|
harvester-csi-driver:
|
||||||
|
- 100.0.2+up0.1.11
|
||||||
|
|
Loading…
Reference in New Issue