From c037e609c5ef79d362fa3ae2124c59c7fccd04d0 Mon Sep 17 00:00:00 2001 From: Rob Kooper <kooper@illinois.edu> Date: Sat, 24 Sep 2022 16:13:15 -0500 Subject: [PATCH] allow multiple nfs servers --- charts/apps/templates/storage/nfs.yaml | 42 +++++++++++++++++--------- charts/apps/values.yaml | 9 +++++- 2 files changed, 36 insertions(+), 15 deletions(-) diff --git a/charts/apps/templates/storage/nfs.yaml b/charts/apps/templates/storage/nfs.yaml index 405be9d..95d56b0 100644 --- a/charts/apps/templates/storage/nfs.yaml +++ b/charts/apps/templates/storage/nfs.yaml @@ -1,21 +1,23 @@ -{{- if and .Values.nfs .Values.nfs.enabled }} +{{- if and .Values.nfs .Values.nfs.enabled .Values.nfs.servers }} +{{- range $k, $v := .Values.nfs.servers }} +--- apiVersion: argoproj.io/v1alpha1 kind: Application metadata: - name: {{ .Values.cluster.name }}-nfs + name: "{{ $.Values.cluster.name }}-nfs-{{ $k }}" labels: - cluster: {{ .Values.cluster.name | quote }} + cluster: {{ $.Values.cluster.name | quote }} app: nfs namespace: argocd annotations: - {{- toYaml .Values.notifications | nindent 4 }} + {{- toYaml $.Values.notifications | nindent 4 }} spec: - project: {{ .Values.cluster.name }} + project: {{ $.Values.cluster.name }} destination: - server: {{ .Values.cluster.url }} - namespace: nfs-taiga + server: {{ $.Values.cluster.url }} + namespace: "nfs-{{ $k }}" syncPolicy: - {{- if .Values.sync }} + {{- if $.Values.sync }} automated: prune: true selfHeal: true @@ -26,23 +28,35 @@ spec: source: repoURL: https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/ chart: nfs-subdir-external-provisioner - targetRevision: {{ .Values.nfs.version | quote }} + targetRevision: {{ $.Values.nfs.version | quote }} helm: version: v3 - releaseName: nfs-taiga + releaseName: "nfs-{{ $k }}" values: | image: repository: kooper/nfs-subdir-external-provisioner tag: v4.0.3 storageClass: - name: nfs-taiga + name: nfs-{{ $k }} archiveOnDelete: false reclaimPolicy: Retain - defaultClass: true - pathPattern: {{ .Values.nfs.pathPattern | quote }} + {{- if $v.defaultClass }} + defaultClass: {{ $v.defaultClass }} + {{- end }} + {{- if and $v $v.pathPattern }} + pathPattern: {{ $v.pathPattern | quote }} + {{- else if $.Values.nfs.pathPattern }} + pathPattern: {{ $.Values.nfs.pathPattern | quote }} + {{- end }} nfs: + {{- if eq $k "taiga" }} server: taiga-nfs.ncsa.illinois.edu - path: {{ (printf "/taiga/ncsa/radiant/%s" .Values.openstack.project) | quote }} + path: {{ (printf "/taiga/ncsa/radiant/%s" $.Values.openstack.project) | quote }} + {{- else }} + server: {{ $v.server | quote }} + path: {{ $v.path | quote }} + {{- end }} +{{- end }} {{- end }} diff --git a/charts/apps/values.yaml b/charts/apps/values.yaml index 1b951da..7797570 100644 --- a/charts/apps/values.yaml +++ b/charts/apps/values.yaml @@ -59,7 +59,14 @@ metallb: nfs: enabled: false version: "4.*" - pathPattern: + servers: + taiga: {} + # pathPattern: + # defaultClass: true + # custom: + # server: server1 + # path: /export/ + # pathPattern: longhorn: enabled: false -- GitLab