diff --git a/kubernetes/apps/storage/csi-driver-nfs/app/helmrelease.yaml b/kubernetes/apps/storage/csi-driver-nfs/app/helmrelease.yaml new file mode 100644 index 00000000..741a2554 --- /dev/null +++ b/kubernetes/apps/storage/csi-driver-nfs/app/helmrelease.yaml @@ -0,0 +1,30 @@ +--- +apiVersion: helm.toolkit.fluxcd.io/v2 +kind: HelmRelease +metadata: + name: &chart csi-driver-nfs + namespace: system +spec: + interval: 5m + chart: + spec: + chart: *chart + version: v4.9.0 + sourceRef: + kind: HelmRepository + name: csi-driver-nfs + namespace: flux-system + maxHistory: 2 + install: + createNamespace: true + remediation: + retries: 3 + upgrade: + cleanupOnFail: true + remediation: + retries: 3 + values: + controller: + replicas: 2 + feature: + enableFSGroupPolicy: true diff --git a/kubernetes/apps/storage/csi-driver-nfs/app/kustomization.yaml b/kubernetes/apps/storage/csi-driver-nfs/app/kustomization.yaml new file mode 100644 index 00000000..c7c19615 --- /dev/null +++ b/kubernetes/apps/storage/csi-driver-nfs/app/kustomization.yaml @@ -0,0 +1,7 @@ +--- +# yaml-language-server: $schema=https://json.schemastore.org/kustomization +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - ./storage-classes + - ./helmrelease.yaml diff --git a/kubernetes/apps/storage/csi-driver-nfs/app/storage-classes/kustomization.yaml b/kubernetes/apps/storage/csi-driver-nfs/app/storage-classes/kustomization.yaml new file mode 100644 index 00000000..0c391881 --- /dev/null +++ b/kubernetes/apps/storage/csi-driver-nfs/app/storage-classes/kustomization.yaml @@ -0,0 +1,6 @@ +--- +# yaml-language-server: $schema=https://json.schemastore.org/kustomization +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - ./provisions.yaml diff --git a/kubernetes/apps/storage/csi-driver-nfs/app/storage-classes/provisions.yaml b/kubernetes/apps/storage/csi-driver-nfs/app/storage-classes/provisions.yaml new file mode 100644 index 00000000..38fae069 --- /dev/null +++ b/kubernetes/apps/storage/csi-driver-nfs/app/storage-classes/provisions.yaml @@ -0,0 +1,21 @@ +--- +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: nfs-provision-csi + labels: + kustomize.toolkit.fluxcd.io/substitute: "disabled" +provisioner: nfs.csi.k8s.io +parameters: + server: 192.168.1.68 + share: /mnt/user/k3s/ +allowVolumeExpansion: true +reclaimPolicy: Retain +volumeBindingMode: Immediate +mountOptions: + - nfsvers=4.1 + - nconnect=8 + - hard + - noatime + - nodiratime + diff --git a/kubernetes/apps/storage/csi-driver-nfs/ks.yaml b/kubernetes/apps/storage/csi-driver-nfs/ks.yaml new file mode 100644 index 00000000..a0b18b5c --- /dev/null +++ b/kubernetes/apps/storage/csi-driver-nfs/ks.yaml @@ -0,0 +1,20 @@ +--- +# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: &app csi-driver-nfs + namespace: flux-system +spec: + targetNamespace: kube-system + commonMetadata: + labels: + app.kubernetes.io/name: *app + path: ./kubernete/apps/storage/csi-driver-nfs/app + prune: true + sourceRef: + kind: GitRepository + name: home-kubernetes + wait: false + interval: 30m + timeout: 5m diff --git a/kubernetes/apps/storage/kustomization.yaml b/kubernetes/apps/storage/kustomization.yaml index 742becfa..5c12e745 100644 --- a/kubernetes/apps/storage/kustomization.yaml +++ b/kubernetes/apps/storage/kustomization.yaml @@ -4,4 +4,4 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - ./namespace.yaml - - ./csi-driver-smb/ks.yaml + - ./csi-driver-nfs/ks.yaml diff --git a/kubernetes/flux/repositories/helm/csi-driver-nfs.yaml b/kubernetes/flux/repositories/helm/csi-driver-nfs.yaml new file mode 100644 index 00000000..f80dc4c6 --- /dev/null +++ b/kubernetes/flux/repositories/helm/csi-driver-nfs.yaml @@ -0,0 +1,10 @@ +--- +apiVersion: source.toolkit.fluxcd.io/v1 +kind: HelmRepository +metadata: + name: csi-driver-nfs + namespace: flux-system +spec: + interval: 30m + url: https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/master/charts + timeout: 3m