Merge branch 'master' of github.com:kubernetes-sigs/nfs-subdir-external-provisioner into chart-labels-and-annotations
This commit is contained in:
commit
a3f57e1527
|
|
@ -1 +0,0 @@
|
||||||
./release-tools/cloudbuild.sh
|
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
# Copyright 2020 The Kubernetes Authors.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
|
||||||
|
: ${CSI_PROW_BUILD_PLATFORMS:="linux amd64; linux arm -arm; linux arm64 -arm64; linux ppc64le -ppc64le; linux s390x -s390x"}
|
||||||
|
|
||||||
|
# shellcheck disable=SC1091
|
||||||
|
. release-tools/cloudbuild.sh
|
||||||
|
|
@ -1,3 +1,9 @@
|
||||||
|
# v4.0.2
|
||||||
|
- Add arm7 (32bit) support (https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner/pull/58)
|
||||||
|
|
||||||
|
# v4.0.1
|
||||||
|
- Preserve name of the PV directory name during archiving (https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner/pull/59)
|
||||||
|
|
||||||
# v4.0.0
|
# v4.0.0
|
||||||
- Remove redundant field in the rbac.yaml (https://github.com/kubernetes-retired/external-storage/pull/970)
|
- Remove redundant field in the rbac.yaml (https://github.com/kubernetes-retired/external-storage/pull/970)
|
||||||
- Use `kubernetes-sigs/sig-storage-lib-external-provisioner` instead of `incubator/external-storage/lib` (https://github.com/kubernetes-retired/external-storage/pull/1026)
|
- Use `kubernetes-sigs/sig-storage-lib-external-provisioner` instead of `incubator/external-storage/lib` (https://github.com/kubernetes-retired/external-storage/pull/1026)
|
||||||
|
|
|
||||||
1
OWNERS
1
OWNERS
|
|
@ -6,3 +6,4 @@ approvers:
|
||||||
- kmova
|
- kmova
|
||||||
- jackielii
|
- jackielii
|
||||||
- ashishranjan738
|
- ashishranjan738
|
||||||
|
- yonatankahana
|
||||||
|
|
|
||||||
|
|
@ -90,7 +90,7 @@ spec:
|
||||||
serviceAccountName: nfs-client-provisioner
|
serviceAccountName: nfs-client-provisioner
|
||||||
containers:
|
containers:
|
||||||
- name: nfs-client-provisioner
|
- name: nfs-client-provisioner
|
||||||
image: gcr.io/k8s-staging-sig-storage/nfs-subdir-external-provisioner:v4.0.0
|
image: gcr.io/k8s-staging-sig-storage/nfs-subdir-external-provisioner:v4.0.2
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: nfs-client-root
|
- name: nfs-client-root
|
||||||
mountPath: /persistentvolumes
|
mountPath: /persistentvolumes
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
appVersion: 4.0.0
|
appVersion: 4.0.2
|
||||||
description: nfs-subdir-external-provisioner is an automatic provisioner that used your *already configured* NFS server, automatically creating Persistent Volumes.
|
description: nfs-subdir-external-provisioner is an automatic provisioner that used your *already configured* NFS server, automatically creating Persistent Volumes.
|
||||||
name: nfs-subdir-external-provisioner
|
name: nfs-subdir-external-provisioner
|
||||||
home: https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner
|
home: https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner
|
||||||
version: 4.0.5
|
version: 4.0.8
|
||||||
kubeVersion: ">=1.9.0-0"
|
kubeVersion: ">=1.9.0-0"
|
||||||
sources:
|
sources:
|
||||||
- https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner
|
- https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner
|
||||||
|
|
|
||||||
|
|
@ -48,36 +48,37 @@ The command removes all the Kubernetes components associated with the chart and
|
||||||
|
|
||||||
The following tables lists the configurable parameters of this chart and their default values.
|
The following tables lists the configurable parameters of this chart and their default values.
|
||||||
|
|
||||||
| Parameter | Description | Default |
|
| Parameter | Description | Default |
|
||||||
| ----------------------------------- | ----------------------------------------------------------- | ---------------------------------------------------------------- |
|
| ----------------------------------- | ----------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- |
|
||||||
| `replicaCount` | Number of provisioner instances to deployed | `1` |
|
| `replicaCount` | Number of provisioner instances to deployed | `1` |
|
||||||
| `strategyType` | Specifies the strategy used to replace old Pods by new ones | `Recreate` |
|
| `strategyType` | Specifies the strategy used to replace old Pods by new ones | `Recreate` |
|
||||||
| `image.repository` | Provisioner image | `gcr.io/k8s-staging-sig-storage/nfs-subdir-external-provisioner` |
|
| `image.repository` | Provisioner image | `gcr.io/k8s-staging-sig-storage/nfs-subdir-external-provisioner` |
|
||||||
| `image.tag` | Version of provisioner image | `v4.0.0` |
|
| `image.tag` | Version of provisioner image | `v4.0.2` |
|
||||||
| `image.pullPolicy` | Image pull policy | `IfNotPresent` |
|
| `image.pullPolicy` | Image pull policy | `IfNotPresent` |
|
||||||
| `imagePullSecrets` | Image pull secrets | `[]` |
|
| `imagePullSecrets` | Image pull secrets | `[]` |
|
||||||
| `storageClass.name` | Name of the storageClass | `nfs-client` |
|
| `storageClass.name` | Name of the storageClass | `nfs-client` |
|
||||||
| `storageClass.defaultClass` | Set as the default StorageClass | `false` |
|
| `storageClass.defaultClass` | Set as the default StorageClass | `false` |
|
||||||
| `storageClass.allowVolumeExpansion` | Allow expanding the volume | `true` |
|
| `storageClass.allowVolumeExpansion` | Allow expanding the volume | `true` |
|
||||||
| `storageClass.reclaimPolicy` | Method used to reclaim an obsoleted volume | `Delete` |
|
| `storageClass.reclaimPolicy` | Method used to reclaim an obsoleted volume | `Delete` |
|
||||||
| `storageClass.provisionerName` | Name of the provisionerName | null |
|
| `storageClass.provisionerName` | Name of the provisionerName | null |
|
||||||
| `storageClass.archiveOnDelete` | Archive pvc when deleting | `true` |
|
| `storageClass.archiveOnDelete` | Archive PVC when deleting | `true` |
|
||||||
| `storageClass.pathPattern` | Specifies a template for the directory name | null |
|
| `storageClass.onDelete` | Strategy on PVC deletion. Overrides archiveOnDelete when set to lowercase values 'delete' or 'retain' | null |
|
||||||
| `storageClass.accessModes` | Set access mode for PV | `ReadWriteOnce` |
|
| `storageClass.pathPattern` | Specifies a template for the directory name | null |
|
||||||
| `storageClass.annotations` | Set additional annotations for the StorageClass | `{}` |
|
| `storageClass.accessModes` | Set access mode for PV | `ReadWriteOnce` |
|
||||||
| `leaderElection.enabled` | Enables or disables leader election | `true` |
|
| `storageClass.annotations` | Set additional annotations for the StorageClass | `{}` |
|
||||||
| `nfs.server` | Hostname of the NFS server (required) | null (ip or hostname) |
|
| `leaderElection.enabled` | Enables or disables leader election | `true` |
|
||||||
| `nfs.path` | Basepath of the mount point to be used | `/nfs-storage` |
|
| `nfs.server` | Hostname of the NFS server (required) | null (ip or hostname) |
|
||||||
| `nfs.mountOptions` | Mount options (e.g. 'nfsvers=3') | null |
|
| `nfs.path` | Basepath of the mount point to be used | `/nfs-storage` |
|
||||||
| `resources` | Resources required (e.g. CPU, memory) | `{}` |
|
| `nfs.mountOptions` | Mount options (e.g. 'nfsvers=3') | null |
|
||||||
| `rbac.create` | Use Role-based Access Control | `true` |
|
| `resources` | Resources required (e.g. CPU, memory) | `{}` |
|
||||||
| `podSecurityPolicy.enabled` | Create & use Pod Security Policy resources | `false` |
|
| `rbac.create` | Use Role-based Access Control | `true` |
|
||||||
| `podAnnotations` | Additional annotations for the Pods | `{}` |
|
| `podSecurityPolicy.enabled` | Create & use Pod Security Policy resources | `false` |
|
||||||
| `priorityClassName` | Set pod priorityClassName | null |
|
| `podAnnotations` | Additional annotations for the Pods | `{}` |
|
||||||
| `serviceAccount.create` | Should we create a ServiceAccount | `true` |
|
| `priorityClassName` | Set pod priorityClassName | null |
|
||||||
| `serviceAccount.name` | Name of the ServiceAccount to use | null |
|
| `serviceAccount.create` | Should we create a ServiceAccount | `true` |
|
||||||
| `serviceAccount.annotations` | Additional annotations for the ServiceAccount | `{}` |
|
| `serviceAccount.name` | Name of the ServiceAccount to use | null |
|
||||||
| `nodeSelector` | Node labels for pod assignment | `{}` |
|
| `serviceAccount.annotations` | Additional annotations for the ServiceAccount | `{}` |
|
||||||
| `affinity` | Affinity settings | `{}` |
|
| `nodeSelector` | Node labels for pod assignment | `{}` |
|
||||||
| `tolerations` | List of node taints to tolerate | `[]` |
|
| `affinity` | Affinity settings | `{}` |
|
||||||
| `labels` | Additional labels for any resource created | `{}` |
|
| `tolerations` | List of node taints to tolerate | `[]` |
|
||||||
|
| `labels` | Additional labels for any resource created | `{}` |
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,9 @@ parameters:
|
||||||
{{- if .Values.storageClass.pathPattern }}
|
{{- if .Values.storageClass.pathPattern }}
|
||||||
pathPattern: "{{ .Values.storageClass.pathPattern }}"
|
pathPattern: "{{ .Values.storageClass.pathPattern }}"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- if .Values.storageClass.onDelete }}
|
||||||
|
onDelete: "{{ .Values.storageClass.onDelete }}"
|
||||||
|
{{- end }}
|
||||||
{{- if .Values.nfs.mountOptions }}
|
{{- if .Values.nfs.mountOptions }}
|
||||||
mountOptions:
|
mountOptions:
|
||||||
{{- range .Values.nfs.mountOptions }}
|
{{- range .Values.nfs.mountOptions }}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ strategyType: Recreate
|
||||||
|
|
||||||
image:
|
image:
|
||||||
repository: gcr.io/k8s-staging-sig-storage/nfs-subdir-external-provisioner
|
repository: gcr.io/k8s-staging-sig-storage/nfs-subdir-external-provisioner
|
||||||
tag: v4.0.0
|
tag: v4.0.2
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
imagePullSecrets: []
|
imagePullSecrets: []
|
||||||
|
|
||||||
|
|
@ -36,6 +36,11 @@ storageClass:
|
||||||
# When set to false your PVs will not be archived by the provisioner upon deletion of the PVC.
|
# When set to false your PVs will not be archived by the provisioner upon deletion of the PVC.
|
||||||
archiveOnDelete: true
|
archiveOnDelete: true
|
||||||
|
|
||||||
|
# If it exists and has 'delete' value, delete the directory. If it exists and has 'retain' value, save the directory.
|
||||||
|
# Overrides archiveOnDelete.
|
||||||
|
# Ignored if value not set.
|
||||||
|
onDelete:
|
||||||
|
|
||||||
# Specifies a template for creating a directory path via PVC metadata's such as labels, annotations, name or namespace.
|
# Specifies a template for creating a directory path via PVC metadata's such as labels, annotations, name or namespace.
|
||||||
# Ignored if value not set.
|
# Ignored if value not set.
|
||||||
pathPattern:
|
pathPattern:
|
||||||
|
|
|
||||||
|
|
@ -104,8 +104,10 @@ func (p *nfsProvisioner) Provision(ctx context.Context, options controller.Provi
|
||||||
pathPattern, exists := options.StorageClass.Parameters["pathPattern"]
|
pathPattern, exists := options.StorageClass.Parameters["pathPattern"]
|
||||||
if exists {
|
if exists {
|
||||||
customPath := metadata.stringParser(pathPattern)
|
customPath := metadata.stringParser(pathPattern)
|
||||||
path = filepath.Join(p.path, customPath)
|
if customPath != "" {
|
||||||
fullPath = filepath.Join(mountPath, customPath)
|
path = filepath.Join(p.path, customPath)
|
||||||
|
fullPath = filepath.Join(mountPath, customPath)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
glog.V(4).Infof("creating path %s", fullPath)
|
glog.V(4).Infof("creating path %s", fullPath)
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ spec:
|
||||||
serviceAccountName: nfs-client-provisioner
|
serviceAccountName: nfs-client-provisioner
|
||||||
containers:
|
containers:
|
||||||
- name: nfs-client-provisioner
|
- name: nfs-client-provisioner
|
||||||
image: gcr.io/k8s-staging-sig-storage/nfs-subdir-external-provisioner:v4.0.0
|
image: gcr.io/k8s-staging-sig-storage/nfs-subdir-external-provisioner:v4.0.2
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: nfs-client-root
|
- name: nfs-client-root
|
||||||
mountPath: /persistentvolumes
|
mountPath: /persistentvolumes
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ spec:
|
||||||
serviceAccountName: nfs-client-provisioner
|
serviceAccountName: nfs-client-provisioner
|
||||||
containers:
|
containers:
|
||||||
- name: nfs-client-provisioner
|
- name: nfs-client-provisioner
|
||||||
image: gcr.io/k8s-staging-sig-storage/nfs-subdir-external-provisioner:v4.0.0
|
image: gcr.io/k8s-staging-sig-storage/nfs-subdir-external-provisioner:v4.0.2
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: nfs-client-root
|
- name: nfs-client-root
|
||||||
mountPath: /persistentvolumes
|
mountPath: /persistentvolumes
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue