feat: added csi_driver_smb addon (#1213)

This commit is contained in:
Benjamin Runnels authored and GitHub committed 2024-01-20 20:23:33 -05:00
1 parent bc0d8e1261
commit 4bcbd75164
10 files changed
+139 -3

No files matched your search

+12
View File
@@ -23,6 +23,18 @@ csi_driver_nfs:
server: fake server: fake
share: /fake share: /fake
csi_driver_smb:
enabled: true
storage_class:
- name: fake
source: //localhost/fake
username: fake
password: fake
file_mode: 0755
dir_mode: 0644
uid: 100
gid: 100
system_upgrade_controller: system_upgrade_controller:
enabled: true enabled: true
@@ -0,0 +1,27 @@
#% if csi_driver_smb|default({}) and csi_driver_smb.enabled|default(false) %#
---
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: csi-driver-smb
spec:
interval: 30m
chart:
spec:
chart: csi-driver-smb
version: v1.14.0
sourceRef:
kind: HelmRepository
name: csi-driver-smb
namespace: flux-system
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
retries: 3
uninstall:
keepHistory: false
values: {}
#% endif %#
@@ -0,0 +1,9 @@
#% if csi_driver_smb|default({}) and csi_driver_smb.enabled|default(false) %#
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./helmrelease.yaml
- ./storageclass.yaml
- ./secrets.sops.yaml
#% endif %#
@@ -0,0 +1,12 @@
#% if csi_driver_smb|default({}) and csi_driver_smb.enabled|default(false) %#
#% for item in csi_driver_smb.storage_class %#
---
apiVersion: v1
kind: Secret
metadata:
name: "#{ item.name }#-secret"
stringData:
username: "#{ item.username }#"
password: "#{ item.password }#"
#% endfor %#
#% endif %#
@@ -0,0 +1,26 @@
#% if csi_driver_smb|default({}) and csi_driver_smb.enabled|default(false) %#
#% for item in csi_driver_smb.storage_class %#
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: "#{ item.name }#"
provisioner: smb.csi.k8s.io
parameters:
source: "#{ item.source }#"
csi.storage.k8s.io/node-stage-secret-name: "#{ item.name }#-secret"
csi.storage.k8s.io/node-stage-secret-namespace: "storage"
createSubDir: "false"
reclaimPolicy: Retain
volumeBindingMode: Immediate
mountOptions:
- dir_mode=#{ item.dir_mode|default("0777") }#
- file_mode=#{ item.file_mode|default("0666") }#
- uid=#{ item.uid|default("1000") }#
- gid=#{ item.gid|default("1000") }#
- noperm
- mfsymlinks
- cache=strict
- noserverino # required to prevent data corruption
#% endfor %#
#% endif %#
@@ -0,0 +1,22 @@
#% if csi_driver_smb|default({}) and csi_driver_smb.enabled|default(false) %#
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app csi-driver-smb
namespace: flux-system
spec:
targetNamespace: storage
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/apps/storage/csi-driver-smb/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: true
interval: 30m
retryInterval: 1m
timeout: 5m
#% endif %#
@@ -3,10 +3,14 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: resources:
- ./namespace.yaml - ./namespace.yaml
#% if csi_driver_nfs|default({}) and csi_driver_nfs.enabled|default(false) %#
- ./csi-driver-nfs/ks.yaml
#% endif %#
#% if csi_driver_smb|default({}) and csi_driver_smb.enabled|default(false) %#
- ./csi-driver-smb/ks.yaml
#% endif %#
- ./openebs/ks.yaml - ./openebs/ks.yaml
#% if volsync|default({}) and volsync.enabled|default(false) %# #% if volsync|default({}) and volsync.enabled|default(false) %#
- ./volsync/ks.yaml - ./volsync/ks.yaml
#% endif %# #% endif %#
#% if csi_driver_nfs|default({}) and csi_driver_nfs.enabled|default(false) %#
- ./csi-driver-nfs/ks.yaml
#% endif %#
@@ -0,0 +1,9 @@
---
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository
metadata:
name: csi-driver-smb
namespace: flux-system
spec:
interval: 1h
url: https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts
@@ -8,6 +8,7 @@ resources:
- ./cilium.yaml - ./cilium.yaml
- ./coredns.yaml - ./coredns.yaml
- ./csi-driver-nfs.yaml - ./csi-driver-nfs.yaml
- ./csi-driver-smb.yaml
- ./descheduler.yaml - ./descheduler.yaml
- ./external-dns.yaml - ./external-dns.yaml
- ./grafana.yaml - ./grafana.yaml
+14
View File
@@ -36,6 +36,20 @@ csi_driver_nfs:
# share: # exported share (path) # share: # exported share (path)
# ... # ...
# https://github.com/kubernetes-csi/csi-driver-smb
csi_driver_smb:
enabled: false
storage_class:
# - name: # name of the storage class (must match [a-z0-9-]+)
# source: # network path of the smb share ie: //192.168.0.5/downloads
# username: # share credentials
# password: # share credentials
# dir_mode: # default 0777
# file_mode: # default 0666
# uid: # default 1000
# gid: # default 1000
# ...
# https://github.com/rancher/system-upgrade-controller # https://github.com/rancher/system-upgrade-controller
system_upgrade_controller: system_upgrade_controller:
# IMPORTANT: Only enable this if you also track the version of k3s in the # IMPORTANT: Only enable this if you also track the version of k3s in the