Parcourir la source

Correctly populate storage fields

Waqar Ahmed il y a 5 ans
Parent
commit
254ff0ab4d

+ 65 - 83
test/nextcloud/2.3.2/questions.yaml

@@ -3,7 +3,7 @@ groups:
     description: "Image to be used for container"
   - name: "Nextcloud Configuration"
     description: "Configuration details for Nextcloud workload"
-  - name: "Storage Configuration"
+  - name: "Storage"
     description: "Configure Storage for Nextcloud"
   - name: "Container Configuration"
     description: "Configure nextcloud container parameters"
@@ -109,96 +109,78 @@ questions:
             default: 9000
             required: true
 
-  - variable: configureiXVolume
-    label: "Configure iX Volume"
-    group: "Storage Configuration"
-    description: "Use iX Volume for persistent storage"
-    schema:
-      type: boolean
-      default: true
-      required: true
-      show_subquestions_if: true
-      subquestions:
-        - variable: volume
-          label: "Configure iXVolume"
-          group: "Storage Configuration"
-          schema:
-            type: dict
-            $ref:
-              - "normalize/ixVolume"
-            attrs:
-              - variable: mountPath
-                label: "Mount Path"
-                description: "Path where the volume will be mounted inside the pod"
-                schema:
-                  type: path
-                  editable: false
-                  default: "/var/www"
-              - variable: datasetName
-                label: "Dataset Name"
-                schema:
-                  type: string
-                  default: "nextcloud_data"
-                  editable: false
-
-  - variable: configureHostPath
-    label: "Configure Host Path for storage"
-    description: "Use a path on host for persistent data storage"
-    group: "Storage Configuration"
+  - variable: nextcloudDataHostPathEnabled
+    label: "Configure Host Path for Nextcloud data"
     schema:
       type: boolean
       default: false
-      required: true
-      show_if: [["configureiXVolume", "=", false]]
       show_subquestions_if: true
       subquestions:
-        - variable: volumeHostPath
-          label: "Host Path"
-          group: "Storage Configuration"
+        - variable: nextcloudHostPath
+          label: "Specify HostPath for Nextcloud data"
           schema:
             type: hostpath
 
-  - variable: postgresql
-    label: "Configure Postgresql"
-    group: "Postgresql Configuration"
+  - variable: nextcloudDataVolume
+    label: "Configure iXVolume"
     schema:
       type: dict
+      $ref:
+        - "normalize/ixVolume"
+      show_if: [["nextcloudDataHostPathEnabled", "=", false]]
       attrs:
-        - variable: backupVolume
-          label: "Backup Volume"
-          schema:
-            type: dict
-            $ref:
-              - "normalize/ixVolume"
-            attrs:
-              - variable: mountPath
-                label: "Mount Path"
-                schema:
-                  type: path
-                  editable: false
-                  default: "/postgres_backups"
-              - variable: datasetName
-                label: "Dataset Name"
-                schema:
-                  type: string
-                  default: "ix-postgres_backups"
-                  editable: false
-        - variable: dataVolume
-          label: "Postgresql Data Volume"
-          schema:
-            type: dict
-            $ref:
-              - "normalize/ixVolume"
-            attrs:
-              - variable: mountPath
-                label: "Mount Path"
-                schema:
-                  type: path
-                  editable: false
-                  default: "/var/lib/postgresql/data"
-              - variable: datasetName
-                label: "Dataset Name"
-                schema:
-                  type: string
-                  default: "ix-postgres_data"
-                  editable: false
+        - variable: mountPath
+          label: "Mount Path"
+          description: "Path where the volume will be mounted inside the pod"
+          schema:
+            type: path
+            editable: false
+            default: "/var/www"
+        - variable: datasetName
+          label: "Dataset Name"
+          schema:
+            type: string
+            default: "ix-nextcloud_data"
+            editable: false
+
+  - variable: postgresBackupVolume
+    label: "Postgres Backup Volume"
+    group: "Storage"
+    schema:
+      type: dict
+      $ref:
+        - "normalize/ixVolume"
+      attrs:
+        - variable: mountPath
+          label: "Mount Path"
+          schema:
+            type: path
+            editable: false
+            default: "/postgres_backups"
+        - variable: datasetName
+          label: "Dataset Name"
+          schema:
+            type: string
+            default: "ix-postgres_backups"
+            editable: false
+
+  - variable: postgresDataVolume
+    label: "Postgresql Data Volume"
+    group: "Storage"
+    schema:
+      type: dict
+      $ref:
+        - "normalize/ixVolume"
+      attrs:
+        - variable: mountPath
+          label: "Mount Path"
+          schema:
+            type: path
+            editable: false
+            default: "/var/lib/postgresql/data"
+        - variable: datasetName
+          label: "Dataset Name"
+          schema:
+            type: string
+            default: "ix-postgres_data"
+            editable: false

+ 9 - 9
test/nextcloud/2.3.2/templates/_helpers.tpl

@@ -57,20 +57,20 @@ Retrieve host path from ix volumes based on dataset name
 {{- if eq $.datasetName $dsName -}}
 {{- $hostPathConfiguration.hostPath -}}
 {{- end -}}
-{{- end }}
+{{- end -}}
 {{- end -}}
 
 {{/*
 Retrieve host path defined in volume
 */}}
 {{- define "configuredHostPath" -}}
-{{- if .Values.configureiXVolume -}}
-{{- $volDict := dict "datasetName" $.Values.volume.datasetName "ixVolumes" $.Values.ixVolumes -}}
-{{- include "retrieveHostPathFromiXVolume" $volDict -}}
-{{- else if .Values.configureHostPath -}}
-{{- .Values.volumeHostPath -}}
-{{- else -}}
+{{- if .Values.emptyDirVolumes -}}
 {{- printf "" -}}
+{{- else if .Values.nextcloudDataHostPathEnabled -}}
+{{- required "Please specify a host path for nextcloud" .Values.nextcloudHostPath -}}
+{{- else -}}
+{{- $volDict := dict "datasetName" $.Values.nextcloudDataVolume.datasetName "ixVolumes" $.Values.ixVolumes -}}
+{{- include "retrieveHostPathFromiXVolume" $volDict -}}
 {{- end -}}
 {{- end -}}
 
@@ -78,7 +78,7 @@ Retrieve host path defined in volume
 Retrieve backup postgresql host path defined in volume
 */}}
 {{- define "configuredBackupPostgresHostPath" -}}
-{{- $volDict := dict "datasetName" $.Values.postgresql.backupVolume.datasetName "ixVolumes" $.Values.ixVolumes -}}
+{{- $volDict := dict "datasetName" $.Values.postgresBackupVolume.datasetName "ixVolumes" $.Values.ixVolumes -}}
 {{- include "retrieveHostPathFromiXVolume" $volDict -}}
 {{- end -}}
 
@@ -86,7 +86,7 @@ Retrieve backup postgresql host path defined in volume
 Retrieve postgresql data host path defined in volume
 */}}
 {{- define "configuredPostgresHostPath" -}}
-{{- $volDict := dict "datasetName" $.Values.postgresql.dataVolume.datasetName "ixVolumes" $.Values.ixVolumes -}}
+{{- $volDict := dict "datasetName" $.Values.postgresDataVolume.datasetName "ixVolumes" $.Values.ixVolumes -}}
 {{- include "retrieveHostPathFromiXVolume" $volDict -}}
 {{- end -}}
 

+ 0 - 8
test/nextcloud/2.3.2/values.yaml

@@ -13,13 +13,5 @@ nextcloud:
   datadir: /var/www/html/data
   strategy: "Recreate"
 
-postgresql:
-  backupVolume:
-    mountPath: "/postgres_backups"
-    datasetName: "ix-postgres_backups"
-  dataVolume:
-    mountPath: "/var/lib/postgresql/data"
-    datasetName: "ix-postgres_data"
-
 service:
   nodePort: 9000