Skip to content

Commit e0ad13e

Browse files
authored
Merge pull request #388 from jennwah/enableWindowsDaemonSet
feat: add enableWindows as helm values for Windows DaemonSet creation
2 parents 8335a2a + 384652a commit e0ad13e

22 files changed

+41
-1972
lines changed

helm/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,7 @@ provisioner chart and their default values.
199199
| setPVOwnerRef | If set to true, PVs are set to be dependents of the owner Node. | bool | `false` |
200200
| mountDevVolume | If set to false, the node's `/dev` path will not be mounted into containers. | bool | `true` |
201201
| labelsForPV | Map of label key-value pairs to apply to the PVs created by the provisioner. | map | `-` |
202+
| enableWindows | If `true`, Windows DaemonSet will be created by the provisioner. | bool | `false` |
202203
| classes.[n].name | StorageClass name. | str | `-` |
203204
| classes.[n].hostDir | Path on the host where local volumes of this storage class are mounted under. | str | `-` |
204205
| classes.[n].mountDir | Optionally specify mount path of local volumes. By default, we use same path as hostDir in container. | str | `-` |
@@ -244,4 +245,4 @@ Here are a list of examples for various environments:
244245
* [examples/gce.yaml](examples/gce.yaml)
245246
* [examples/gke.yaml](examples/gke.yaml)
246247
* [examples/eks-nvme-ssd.yaml](example/eks-nvme-ssd.yaml)
247-
* [more...](examples/)
248+
* [more...](examples/)

helm/generated_examples/baremetal-affinity.yaml

Lines changed: 0 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -167,113 +167,3 @@ spec:
167167
- name: local-storage
168168
hostPath:
169169
path: /mnt/disks
170-
---
171-
# Source: local-static-provisioner/templates/daemonset_windows.yaml
172-
apiVersion: apps/v1
173-
kind: DaemonSet
174-
metadata:
175-
name: local-static-provisioner-win
176-
namespace: default
177-
labels:
178-
helm.sh/chart: local-static-provisioner-1.0.0
179-
app.kubernetes.io/name: local-static-provisioner
180-
app.kubernetes.io/managed-by: Helm
181-
app.kubernetes.io/instance: local-static-provisioner
182-
spec:
183-
selector:
184-
matchLabels:
185-
app.kubernetes.io/name: local-static-provisioner
186-
app.kubernetes.io/instance: local-static-provisioner
187-
template:
188-
metadata:
189-
labels:
190-
app.kubernetes.io/name: local-static-provisioner
191-
app.kubernetes.io/instance: local-static-provisioner
192-
annotations:
193-
checksum/config: 26ec1983f036e7702e8b97e6294f51995f9e78c8bb812e7ca5468a45a2df2a04
194-
spec:
195-
serviceAccountName: local-static-provisioner
196-
nodeSelector:
197-
kubernetes.io/os: windows
198-
tolerations:
199-
# an empty key operator Exists matches all keys, values and effects
200-
# which meants that this will tolerate everything
201-
- operator: "Exists"
202-
affinity:
203-
204-
nodeAffinity:
205-
requiredDuringSchedulingIgnoredDuringExecution:
206-
nodeSelectorTerms:
207-
- matchExpressions:
208-
- key: pool
209-
operator: In
210-
values:
211-
- localssd
212-
containers:
213-
- name: provisioner
214-
image: registry.k8s.io/sig-storage/local-volume-provisioner:v2.5.0
215-
env:
216-
- name: MY_NODE_NAME
217-
valueFrom:
218-
fieldRef:
219-
fieldPath: spec.nodeName
220-
- name: MY_NAMESPACE
221-
valueFrom:
222-
fieldRef:
223-
fieldPath: metadata.namespace
224-
- name: JOB_CONTAINER_IMAGE
225-
value: registry.k8s.io/sig-storage/local-volume-provisioner:v2.5.0
226-
ports:
227-
- name: metrics
228-
containerPort: 8080
229-
volumeMounts:
230-
- name: provisioner-config
231-
mountPath: /etc/provisioner/config
232-
readOnly: true
233-
- name: provisioner-dev
234-
mountPath: /dev
235-
- name: local-storage
236-
mountPath: /mnt/disks
237-
mountPropagation: HostToContainer
238-
- name: csi-proxy-volume-v1
239-
mountPath: \\.\pipe\csi-proxy-volume-v1
240-
- name: csi-proxy-filesystem-v1
241-
mountPath: \\.\pipe\csi-proxy-filesystem-v1
242-
# these csi-proxy paths are still included for compatibility, they're used
243-
# only if the node has still the beta version of the CSI proxy
244-
- name: csi-proxy-volume-v1beta2
245-
mountPath: \\.\pipe\csi-proxy-volume-v1beta2
246-
- name: csi-proxy-filesystem-v1beta2
247-
mountPath: \\.\pipe\csi-proxy-filesystem-v1beta2
248-
volumes:
249-
- name: csi-proxy-volume-v1
250-
hostPath:
251-
path: \\.\pipe\csi-proxy-volume-v1
252-
type: ""
253-
- name: csi-proxy-filesystem-v1
254-
hostPath:
255-
path: \\.\pipe\csi-proxy-filesystem-v1
256-
type: ""
257-
# these csi-proxy paths are still included for compatibility, they're used
258-
# only if the node has still the beta version of the CSI proxy
259-
- name: csi-proxy-volume-v1beta2
260-
hostPath:
261-
path: \\.\pipe\csi-proxy-volume-v1beta2
262-
type: ""
263-
- name: csi-proxy-filesystem-v1beta2
264-
hostPath:
265-
path: \\.\pipe\csi-proxy-filesystem-v1beta2
266-
type: ""
267-
- name: provisioner-config
268-
configMap:
269-
name: local-static-provisioner-config
270-
- name: provisioner-dev
271-
hostPath:
272-
path: "C:\\dev"
273-
# If nothing exists at the given path, an empty directory will be
274-
# created there as needed with permission set to 0755,
275-
# having the same group and ownership with Kubelet.
276-
type: DirectoryOrCreate
277-
- name: local-storage
278-
hostPath:
279-
path: /mnt/disks

helm/generated_examples/baremetal-cleanbyjobs.yaml

Lines changed: 0 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -196,103 +196,3 @@ spec:
196196
- name: local-storage
197197
hostPath:
198198
path: /mnt/disks
199-
---
200-
# Source: local-static-provisioner/templates/daemonset_windows.yaml
201-
apiVersion: apps/v1
202-
kind: DaemonSet
203-
metadata:
204-
name: local-static-provisioner-win
205-
namespace: default
206-
labels:
207-
helm.sh/chart: local-static-provisioner-1.0.0
208-
app.kubernetes.io/name: local-static-provisioner
209-
app.kubernetes.io/managed-by: Helm
210-
app.kubernetes.io/instance: local-static-provisioner
211-
spec:
212-
selector:
213-
matchLabels:
214-
app.kubernetes.io/name: local-static-provisioner
215-
app.kubernetes.io/instance: local-static-provisioner
216-
template:
217-
metadata:
218-
labels:
219-
app.kubernetes.io/name: local-static-provisioner
220-
app.kubernetes.io/instance: local-static-provisioner
221-
annotations:
222-
checksum/config: 9459f3c42d71e4ea6b92cddee0dd3ce4d1561a193fe1507aca334ee140ce039f
223-
spec:
224-
serviceAccountName: local-static-provisioner
225-
nodeSelector:
226-
kubernetes.io/os: windows
227-
tolerations:
228-
# an empty key operator Exists matches all keys, values and effects
229-
# which meants that this will tolerate everything
230-
- operator: "Exists"
231-
containers:
232-
- name: provisioner
233-
image: registry.k8s.io/sig-storage/local-volume-provisioner:v2.5.0
234-
env:
235-
- name: MY_NODE_NAME
236-
valueFrom:
237-
fieldRef:
238-
fieldPath: spec.nodeName
239-
- name: MY_NAMESPACE
240-
valueFrom:
241-
fieldRef:
242-
fieldPath: metadata.namespace
243-
- name: JOB_CONTAINER_IMAGE
244-
value: registry.k8s.io/sig-storage/local-volume-provisioner:v2.5.0
245-
ports:
246-
- name: metrics
247-
containerPort: 8080
248-
volumeMounts:
249-
- name: provisioner-config
250-
mountPath: /etc/provisioner/config
251-
readOnly: true
252-
- name: provisioner-dev
253-
mountPath: /dev
254-
- name: local-storage
255-
mountPath: /mnt/disks
256-
mountPropagation: HostToContainer
257-
- name: csi-proxy-volume-v1
258-
mountPath: \\.\pipe\csi-proxy-volume-v1
259-
- name: csi-proxy-filesystem-v1
260-
mountPath: \\.\pipe\csi-proxy-filesystem-v1
261-
# these csi-proxy paths are still included for compatibility, they're used
262-
# only if the node has still the beta version of the CSI proxy
263-
- name: csi-proxy-volume-v1beta2
264-
mountPath: \\.\pipe\csi-proxy-volume-v1beta2
265-
- name: csi-proxy-filesystem-v1beta2
266-
mountPath: \\.\pipe\csi-proxy-filesystem-v1beta2
267-
volumes:
268-
- name: csi-proxy-volume-v1
269-
hostPath:
270-
path: \\.\pipe\csi-proxy-volume-v1
271-
type: ""
272-
- name: csi-proxy-filesystem-v1
273-
hostPath:
274-
path: \\.\pipe\csi-proxy-filesystem-v1
275-
type: ""
276-
# these csi-proxy paths are still included for compatibility, they're used
277-
# only if the node has still the beta version of the CSI proxy
278-
- name: csi-proxy-volume-v1beta2
279-
hostPath:
280-
path: \\.\pipe\csi-proxy-volume-v1beta2
281-
type: ""
282-
- name: csi-proxy-filesystem-v1beta2
283-
hostPath:
284-
path: \\.\pipe\csi-proxy-filesystem-v1beta2
285-
type: ""
286-
- name: provisioner-config
287-
configMap:
288-
name: local-static-provisioner-config
289-
- name: provisioner-dev
290-
hostPath:
291-
path: "C:\\dev"
292-
# If nothing exists at the given path, an empty directory will be
293-
# created there as needed with permission set to 0755,
294-
# having the same group and ownership with Kubelet.
295-
type: DirectoryOrCreate
296-
- name: local-storage
297-
hostPath:
298-
path: /mnt/disks

helm/generated_examples/baremetal-default-storage.yaml

Lines changed: 0 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -156,103 +156,3 @@ spec:
156156
- name: local-storage
157157
hostPath:
158158
path: /mnt/disks
159-
---
160-
# Source: local-static-provisioner/templates/daemonset_windows.yaml
161-
apiVersion: apps/v1
162-
kind: DaemonSet
163-
metadata:
164-
name: local-static-provisioner-win
165-
namespace: default
166-
labels:
167-
helm.sh/chart: local-static-provisioner-1.0.0
168-
app.kubernetes.io/name: local-static-provisioner
169-
app.kubernetes.io/managed-by: Helm
170-
app.kubernetes.io/instance: local-static-provisioner
171-
spec:
172-
selector:
173-
matchLabels:
174-
app.kubernetes.io/name: local-static-provisioner
175-
app.kubernetes.io/instance: local-static-provisioner
176-
template:
177-
metadata:
178-
labels:
179-
app.kubernetes.io/name: local-static-provisioner
180-
app.kubernetes.io/instance: local-static-provisioner
181-
annotations:
182-
checksum/config: cb0fc70b6e2eaef88fca39b5e683f694ab36804c670e82409834a2b7c9723663
183-
spec:
184-
serviceAccountName: local-static-provisioner
185-
nodeSelector:
186-
kubernetes.io/os: windows
187-
tolerations:
188-
# an empty key operator Exists matches all keys, values and effects
189-
# which meants that this will tolerate everything
190-
- operator: "Exists"
191-
containers:
192-
- name: provisioner
193-
image: registry.k8s.io/sig-storage/local-volume-provisioner:v2.5.0
194-
env:
195-
- name: MY_NODE_NAME
196-
valueFrom:
197-
fieldRef:
198-
fieldPath: spec.nodeName
199-
- name: MY_NAMESPACE
200-
valueFrom:
201-
fieldRef:
202-
fieldPath: metadata.namespace
203-
- name: JOB_CONTAINER_IMAGE
204-
value: registry.k8s.io/sig-storage/local-volume-provisioner:v2.5.0
205-
ports:
206-
- name: metrics
207-
containerPort: 8080
208-
volumeMounts:
209-
- name: provisioner-config
210-
mountPath: /etc/provisioner/config
211-
readOnly: true
212-
- name: provisioner-dev
213-
mountPath: /dev
214-
- name: local-storage
215-
mountPath: /mnt/disks
216-
mountPropagation: HostToContainer
217-
- name: csi-proxy-volume-v1
218-
mountPath: \\.\pipe\csi-proxy-volume-v1
219-
- name: csi-proxy-filesystem-v1
220-
mountPath: \\.\pipe\csi-proxy-filesystem-v1
221-
# these csi-proxy paths are still included for compatibility, they're used
222-
# only if the node has still the beta version of the CSI proxy
223-
- name: csi-proxy-volume-v1beta2
224-
mountPath: \\.\pipe\csi-proxy-volume-v1beta2
225-
- name: csi-proxy-filesystem-v1beta2
226-
mountPath: \\.\pipe\csi-proxy-filesystem-v1beta2
227-
volumes:
228-
- name: csi-proxy-volume-v1
229-
hostPath:
230-
path: \\.\pipe\csi-proxy-volume-v1
231-
type: ""
232-
- name: csi-proxy-filesystem-v1
233-
hostPath:
234-
path: \\.\pipe\csi-proxy-filesystem-v1
235-
type: ""
236-
# these csi-proxy paths are still included for compatibility, they're used
237-
# only if the node has still the beta version of the CSI proxy
238-
- name: csi-proxy-volume-v1beta2
239-
hostPath:
240-
path: \\.\pipe\csi-proxy-volume-v1beta2
241-
type: ""
242-
- name: csi-proxy-filesystem-v1beta2
243-
hostPath:
244-
path: \\.\pipe\csi-proxy-filesystem-v1beta2
245-
type: ""
246-
- name: provisioner-config
247-
configMap:
248-
name: local-static-provisioner-config
249-
- name: provisioner-dev
250-
hostPath:
251-
path: "C:\\dev"
252-
# If nothing exists at the given path, an empty directory will be
253-
# created there as needed with permission set to 0755,
254-
# having the same group and ownership with Kubelet.
255-
type: DirectoryOrCreate
256-
- name: local-storage
257-
hostPath:
258-
path: /mnt/disks

0 commit comments

Comments
 (0)