diff --git a/.github/scripts/build-catalog.sh b/.github/scripts/build-catalog.sh index 8d6884e69a3..2744e547408 100755 --- a/.github/scripts/build-catalog.sh +++ b/.github/scripts/build-catalog.sh @@ -8,349 +8,15 @@ include_questions(){ local chartname="$2" local train="$3" local chartversion="$4" - local target="catalog/${train}/${chartname}/${chartversion}" + + local source="charts/${train}/${chartname}/questions.yaml" + local target="catalog/${train}/${chartname}/${chartversion}/questions.yaml" + + echo "Making copy of $source to $target" + cp ${source} ${target} + echo "Including standardised questions.yaml includes for: ${chartname}" - - # Replace # Include{portalLink} with the standard portalLink codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{portalLink}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{global} with the standard global codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{global}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{groups} with the standard groups codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{groups}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{fixedEnv} with the standard fixedEnv codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{fixedEnv}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{controller} with the standard controller codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{controller}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{controllerDeployment} with the standard controllerDeployment codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{controllerDeployment}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{controllerStatefullset} with the standard controllerStatefullset codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{controllerStatefullset}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{controllerDaemonset} with the standard controllerDaemonset codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{controllerDaemonset}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{replicas} with the standard replicas codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{replicas}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{replica1} with the standard replica1 codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{replica1}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{replica2} with the standard replica2 codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{replica2}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{replica3} with the standard replica3 codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{replica3}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{strategy} with the standard strategy codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{strategy}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{recreate} with the standard recreate codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{recreate}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{rollingupdate} with the standard rollingupdate codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{rollingupdate}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{controllerTypes} with the standard controllerTypes codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{controllerTypes}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{controllerExpert} with the standard controllerExpert codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{controllerExpert}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{controllerExpertExtraArgs} with the standard controllerExpertExtraArgs codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{controllerExpertExtraArgs}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{controllerExpertCommand} with the standard controllerExpertCommand codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{controllerExpertCommand}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{containerConfig} with the standard containerConfig codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{containerConfig}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{serviceRoot} with the standard serviceRoot codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{serviceRoot}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{serviceSelectorExtras} with the standard serviceSelectorExtras codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{serviceSelectorExtras}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{serviceSelectorClusterIP} with the standard serviceSelectorClusterIP codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{serviceSelectorClusterIP}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{serviceSelectorLoadBalancer} with the standard serviceSelectorLoadBalancer codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{serviceSelectorLoadBalancer}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{advancedPortHTTP} with the standard advancedPortHTTP codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{advancedPortHTTP}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{advancedPortHTTPS} with the standard advancedPortHTTPS codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{advancedPortHTTPS}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{advancedPortTCP} with the standard advancedPortTCP codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{advancedPortTCP}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{advancedPortUDP} with the standard advancedPortUDP codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{advancedPortUDP}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{serviceExpertRoot} with the standard serviceExpertRoot codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{serviceExpertRoot}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{serviceExpert} with the standard serviceExpert codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{serviceExpert}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{serviceList} with the standard serviceList codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{serviceList}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{vctRoot} with the standard vctRoot codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{vctRoot}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{persistenceRoot} with the standard persistenceRoot codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{persistenceRoot}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{persistenceBasic} with the standard persistenceBasic codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{persistenceBasic}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{persistenceAdvanced} with the standard persistenceAdvanced codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{persistenceAdvanced}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{persistenceList} with the standard persistenceList codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{persistenceList}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{security} with the standard security codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{security}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{securityContextAdvancedRoot} with the standard securityContextAdvancedRoot codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{securityContextAdvancedRoot}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{securityContextAdvanced} with the standard securityContextAdvanced codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{securityContextAdvanced}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{podSecurityContextRoot} with the standard podSecurityContextRoot codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{podSecurityContextRoot}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{podSecurityContextAdvanced} with the standard podSecurityContextAdvanced codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{podSecurityContextAdvanced}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{ingressRoot} with the standard ingressRoot codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{ingressRoot}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{ingressDefault} with the standard ingressDefault codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{ingressDefault}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{ingressTLS} with the standard ingressTLS codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{ingressTLS}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{ingressTraefik} with the standard ingressTraefik codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{ingressTraefik}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{ingressExpert} with the standard ingressExpert codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{ingressExpert}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{ingressList} with the standard ingressList codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{ingressList}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{addons} with the standard addons codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{addons}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{metrics} with the standard metrics codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{metrics}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{metrics3m} with the standard metrics3m codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{metrics3m}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{metrics60m} with the standard metrics60m codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{metrics60m}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{prometheusRule} with the standard prometheusRule codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{prometheusRule}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{advanced} with the standard advanced codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{advanced}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{resources} with the standard resources codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{resources}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{documentation} with the standard documentation codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{documentation}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{[forwardedHeaders]} with the standard forwardedHeaders codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{forwardedHeaders}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{proxyProtocol} with the standard proxyProtocol codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{proxyProtocol}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{basicAuth} with the standard basicAuth codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{basicAuth}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{forwardAuth} with the standard forwardAuth codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{forwardAuth}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{chain} with the standard chain codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{chain}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{redirectScheme} with the standard redirectScheme codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{redirectScheme}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{rateLimit} with the standard rateLimit codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{rateLimit}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{redirectRegex} with the standard redirectRegex codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{redirectRegex}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{stripPrefixRegex} with the standard stripPrefixRegex codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{stripPrefixRegex}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{ipWhitelist} with the standard ipWhitelist codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{ipWhitelist}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{themePark} with the standard themePark codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{themePark}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{realIP} with the standard realIP codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{realIP}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{addPrefix} with the standard addPrefix codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{addPrefix}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - + sed -i -E 's:^.*# Include\{(.*)\}.*$:cat templates/questions/**/\1.yaml:e' ${target} } export -f include_questions diff --git a/charts/incubator/lancache-dns/Chart.yaml b/charts/incubator/lancache-dns/Chart.yaml index 9607eb2660f..1d8cb29f4ae 100644 --- a/charts/incubator/lancache-dns/Chart.yaml +++ b/charts/incubator/lancache-dns/Chart.yaml @@ -1,9 +1,9 @@ apiVersion: v2 kubeVersion: ">=1.16.0-0" name: lancache-dns -version: 0.0.24 +version: 0.0.25 appVersion: "latest" -description: DNS Chart service for a steamcache. +description: DNS Chart service for a steam cache. type: application deprecated: false home: https://truecharts.org/docs/charts/incubator/lancache-dns diff --git a/charts/incubator/lancache-dns/questions.yaml b/charts/incubator/lancache-dns/questions.yaml index dcff327963b..a4cdd6cf96c 100644 --- a/charts/incubator/lancache-dns/questions.yaml +++ b/charts/incubator/lancache-dns/questions.yaml @@ -111,7 +111,7 @@ questions: additional_attrs: true type: dict attrs: -# Include{serviceSelectorSimple} +# Include{serviceSelectorLoadBalancer} # Include{serviceSelectorExtras} - variable: dns label: "DNS Service Port Configuration" diff --git a/charts/incubator/lancache-monolithic/Chart.yaml b/charts/incubator/lancache-monolithic/Chart.yaml index 5d3bddc3c06..c5a1f0e45fd 100644 --- a/charts/incubator/lancache-monolithic/Chart.yaml +++ b/charts/incubator/lancache-monolithic/Chart.yaml @@ -1,9 +1,9 @@ apiVersion: v2 kubeVersion: ">=1.16.0-0" name: lancache-monolithic -version: 0.0.28 +version: 0.0.29 appVersion: "latest" -description: A monolithic lancache service capable of caching all CDN's in a single instance. +description: A monolithic lancache service capable of caching all CDNs in a single instance. type: application deprecated: false home: https://truecharts.org/docs/charts/incubator/lancache-monolithic diff --git a/charts/incubator/lancache-monolithic/questions.yaml b/charts/incubator/lancache-monolithic/questions.yaml index 250b12e3af8..4f4f0201c16 100644 --- a/charts/incubator/lancache-monolithic/questions.yaml +++ b/charts/incubator/lancache-monolithic/questions.yaml @@ -97,7 +97,7 @@ questions: additional_attrs: true type: dict attrs: -# Include{serviceSelectorSimple} +# Include{serviceSelectorLoadBalancer} # Include{serviceSelectorExtras} - variable: https label: "HTTPS" diff --git a/charts/stable/spotweb/questions.yaml b/charts/stable/spotweb/questions.yaml index fd31fb5e60d..f5dbb31cc9d 100644 --- a/charts/stable/spotweb/questions.yaml +++ b/charts/stable/spotweb/questions.yaml @@ -1,198 +1,198 @@ -# Include{groups} -portals: - open: -# Include{portalLink} -questions: -# Include{global} -# Include{controller} -# Include{controllerDeployment} -# Include{replicas} -# Include{replica1} -# Include{strategy} -# Include{recreate} -# Include{controllerExpert} -# Include{controllerExpertExtraArgs} - - variable: secretEnv - group: "Container Configuration" - label: "Image Secrets" - schema: - additional_attrs: true - type: dict - attrs: - - variable: SPOTWEB_USERNAME - label: "Admin username" - description: "Username to configure for the admin of this installation." - schema: - type: string - default: "" - valid_chars: ^((?!god|mod|spot|admin|drazix|superuser|supervisor|root|anonymous)[^<>])*$ - required: true - - variable: SPOTWEB_PASSWORD - label: "Admin password" - description: "Password to configure for the admin of this installation." - schema: - type: string - default: "" - valid_chars: "[a-zA-Z0-9!@#$%^&*?]{8,}" - private: true - required: true - - variable: env - group: "Container Configuration" - label: "Image Environment" - schema: - additional_attrs: true - type: dict - attrs: - - variable: SPOTWEB_SYSTEMTYPE - label: "System Type" - description: "System type to configure during initialization." - schema: - type: string - required: true - default: "single" - enum: - - value: "single" - description: "Singe User System" - - value: "shared" - description: "Shared System" - - value: "public" - description: "Public System" - - variable: SPOTWEB_FIRSTNAME - label: "Admin first name" - description: "The first name of the admin user." - schema: - type: string - required: true - default: "firstname" - valid_chars: ^([^<>]{2})([^<>]*)$ - - variable: SPOTWEB_LASTNAME - label: "Admin last name" - description: "Last name of the admin user." - schema: - type: string - required: true - default: "lastname" - valid_chars: ^([^<>]{2})([^<>]*)$ - - variable: SPOTWEB_MAIL - label: "Admin mail adres" - description: "Email adres to configure for the provided admin user." - schema: - type: string - required: true - default: firstname@lastname.com - valid_chars: ^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$ - - variable: SPOTWEB_RETRIEVE - label: "SPOTWEB_RETRIEVE" - description: "Schedule on which to automatically retrieve new spots." - schema: - type: string - default: "15min" - enum: - - value: "1min" - description: "Each minute" - - value: "5min" - description: "Every 5 minutes" - - value: "15min" - description: "Every 15 minutes" - - value: "hourly" - description: "Every hour" - - value: "weekly" - description: "Once a week" - - value: "monthly" - description:: "Once a month" -# Include{containerConfig} -# Include{serviceRoot} - - variable: main - label: "Main Service" - description: "Spotweb Web UI and API endpoint" - schema: - additional_attrs: true - type: dict - attrs: -# Include{serviceSelectorLoadBalancer} -# Include{serviceSelectorExtras} - - variable: main - label: "Web Interface" - schema: - additional_attrs: true - type: dict - attrs: - - variable: port - label: "Port" - description: "This port exposes the container port on the service" - schema: - type: int - default: 10050 - editable: true - required: true -# Include{advancedPortHTTP} - - variable: targetPort - label: "Target Port" - description: "The internal(!) port on the container the Application runs on" - schema: - type: int - default: 80 -# Include{serviceExpertRoot} - default: false -# Include{serviceExpert} -# Include{serviceList} -# Include{persistenceList} -# Include{ingressRoot} - - variable: main - label: "Main Ingress" - schema: - additional_attrs: true - type: dict - attrs: -# Include{ingressDefault} -# Include{ingressTLS} -# Include{ingressTraefik} -# Include{ingressExpert} -# Include{ingressList} -# Include{security} -# Include{securityContextAdvancedRoot} - - variable: privileged - label: "Privileged mode" - schema: - type: boolean - default: false - - variable: readOnlyRootFilesystem - label: "ReadOnly Root Filesystem" - schema: - type: boolean - default: false - - variable: allowPrivilegeEscalation - label: "Allow Privilege Escalation" - schema: - type: boolean - default: false - - variable: runAsNonRoot - label: "runAsNonRoot" - schema: - type: boolean - default: false -# Include{securityContextAdvanced} -# Include{podSecurityContextRoot} - - variable: runAsUser - label: "runAsUser" - description: "The UserID of the user running the application" - schema: - type: int - default: 0 - - variable: runAsGroup - label: "runAsGroup" - description: "The groupID this App of the user running the application" - schema: - type: int - default: 0 - - variable: fsGroup - label: "fsGroup" - description: "The group that should own ALL storage." - schema: - type: int - default: 568 -# Include{podSecurityContextAdvanced} -# Include{resources} -# Include{advanced} -# Include{addons} -# Include{documentation} +# Include{groups} +portals: + open: +# Include{portalLink} +questions: +# Include{global} +# Include{controller} +# Include{controllerDeployment} +# Include{replicas} +# Include{replica1} +# Include{strategy} +# Include{recreate} +# Include{controllerExpert} +# Include{controllerExpertExtraArgs} + - variable: secretEnv + group: "Container Configuration" + label: "Image Secrets" + schema: + additional_attrs: true + type: dict + attrs: + - variable: SPOTWEB_USERNAME + label: "Admin username" + description: "Username to configure for the admin of this installation." + schema: + type: string + default: "" + valid_chars: ^((?!god|mod|spot|admin|drazix|superuser|supervisor|root|anonymous)[^<>])*$ + required: true + - variable: SPOTWEB_PASSWORD + label: "Admin password" + description: "Password to configure for the admin of this installation." + schema: + type: string + default: "" + valid_chars: "[a-zA-Z0-9!@#$%^&*?]{8,}" + private: true + required: true + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + additional_attrs: true + type: dict + attrs: + - variable: SPOTWEB_SYSTEMTYPE + label: "System Type" + description: "System type to configure during initialization." + schema: + type: string + required: true + default: "single" + enum: + - value: "single" + description: "Singe User System" + - value: "shared" + description: "Shared System" + - value: "public" + description: "Public System" + - variable: SPOTWEB_FIRSTNAME + label: "Admin first name" + description: "The first name of the admin user." + schema: + type: string + required: true + default: "firstname" + valid_chars: ^([^<>]{2})([^<>]*)$ + - variable: SPOTWEB_LASTNAME + label: "Admin last name" + description: "Last name of the admin user." + schema: + type: string + required: true + default: "lastname" + valid_chars: ^([^<>]{2})([^<>]*)$ + - variable: SPOTWEB_MAIL + label: "Admin mail adres" + description: "Email adres to configure for the provided admin user." + schema: + type: string + required: true + default: firstname@lastname.com + valid_chars: ^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$ + - variable: SPOTWEB_RETRIEVE + label: "SPOTWEB_RETRIEVE" + description: "Schedule on which to automatically retrieve new spots." + schema: + type: string + default: "15min" + enum: + - value: "1min" + description: "Each minute" + - value: "5min" + description: "Every 5 minutes" + - value: "15min" + description: "Every 15 minutes" + - value: "hourly" + description: "Every hour" + - value: "weekly" + description: "Once a week" + - value: "monthly" + description:: "Once a month" +# Include{containerConfig} +# Include{serviceRoot} + - variable: main + label: "Main Service" + description: "Spotweb Web UI and API endpoint" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelectorLoadBalancer} +# Include{serviceSelectorExtras} + - variable: main + label: "Web Interface" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 10050 + editable: true + required: true +# Include{advancedPortHTTP} + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 80 +# Include{serviceExpertRoot} + default: false +# Include{serviceExpert} +# Include{serviceList} +# Include{persistenceList} +# Include{ingressRoot} + - variable: main + label: "Main Ingress" + schema: + additional_attrs: true + type: dict + attrs: +# Include{ingressDefault} +# Include{ingressTLS} +# Include{ingressTraefik} +# Include{ingressExpert} +# Include{ingressList} +# Include{security} +# Include{securityContextAdvancedRoot} + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false +# Include{securityContextAdvanced} +# Include{podSecurityContextRoot} + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: "The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 +# Include{podSecurityContextAdvanced} +# Include{resources} +# Include{advanced} +# Include{addons} +# Include{documentation} diff --git a/charts/stable/traefik/Chart.yaml b/charts/stable/traefik/Chart.yaml index 77bb6f48137..cbf50e1aeb8 100644 --- a/charts/stable/traefik/Chart.yaml +++ b/charts/stable/traefik/Chart.yaml @@ -23,7 +23,7 @@ sources: - https://github.com/traefik/traefik-helm-chart - https://traefik.io/ type: application -version: 13.4.1 +version: 13.4.2 annotations: truecharts.org/catagories: | - network diff --git a/charts/stable/traefik/questions.yaml b/charts/stable/traefik/questions.yaml index 82f6fe969ab..25cdb0cdf84 100644 --- a/charts/stable/traefik/questions.yaml +++ b/charts/stable/traefik/questions.yaml @@ -176,17 +176,17 @@ questions: additional_attrs: true type: dict attrs: -# Include{basicAuth} -# Include{forwardAuth} -# Include{chain} -# Include{redirectScheme} -# Include{rateLimit} -# Include{redirectRegex} -# Include{stripPrefixRegex} -# Include{ipWhitelist} -# Include{themePark} -# Include{realIP} -# Include{addPrefix} +# Include{basicAuthMiddleware} +# Include{forwardAuthMiddleware} +# Include{chainMiddleware} +# Include{redirectSchemeMiddleware} +# Include{rateLimitMiddleware} +# Include{redirectRegexMiddleware} +# Include{stripPrefixRegexMiddleware} +# Include{ipWhitelistMiddleware} +# Include{themeParkMiddleware} +# Include{realIPMiddleware} +# Include{addPrefixMiddleware} - variable: service group: "Networking and Services" label: "Configure Service Entrypoint" diff --git a/templates/questions/addons.yaml b/templates/questions/general/addons.yaml similarity index 100% rename from templates/questions/addons.yaml rename to templates/questions/general/addons.yaml diff --git a/templates/questions/advanced.yaml b/templates/questions/general/advanced.yaml similarity index 100% rename from templates/questions/advanced.yaml rename to templates/questions/general/advanced.yaml diff --git a/templates/questions/containerConfig.yaml b/templates/questions/general/containerConfig.yaml similarity index 100% rename from templates/questions/containerConfig.yaml rename to templates/questions/general/containerConfig.yaml diff --git a/templates/questions/controllerTypes.yaml b/templates/questions/general/controllerTypes.yaml similarity index 100% rename from templates/questions/controllerTypes.yaml rename to templates/questions/general/controllerTypes.yaml diff --git a/templates/questions/documentation.yaml b/templates/questions/general/documentation.yaml similarity index 100% rename from templates/questions/documentation.yaml rename to templates/questions/general/documentation.yaml diff --git a/templates/questions/fixedEnv.yaml b/templates/questions/general/fixedEnv.yaml similarity index 100% rename from templates/questions/fixedEnv.yaml rename to templates/questions/general/fixedEnv.yaml diff --git a/templates/questions/global.yaml b/templates/questions/general/global.yaml similarity index 100% rename from templates/questions/global.yaml rename to templates/questions/general/global.yaml diff --git a/templates/questions/groups.yaml b/templates/questions/general/groups.yaml similarity index 100% rename from templates/questions/groups.yaml rename to templates/questions/general/groups.yaml diff --git a/templates/questions/portalLink.yaml b/templates/questions/general/portalLink.yaml similarity index 100% rename from templates/questions/portalLink.yaml rename to templates/questions/general/portalLink.yaml diff --git a/templates/questions/prometheusRule.yaml b/templates/questions/general/prometheusRule.yaml similarity index 100% rename from templates/questions/prometheusRule.yaml rename to templates/questions/general/prometheusRule.yaml diff --git a/templates/questions/resources.yaml b/templates/questions/general/resources.yaml similarity index 100% rename from templates/questions/resources.yaml rename to templates/questions/general/resources.yaml diff --git a/templates/questions/vctRoot.yaml b/templates/questions/persistence/vctRoot.yaml similarity index 100% rename from templates/questions/vctRoot.yaml rename to templates/questions/persistence/vctRoot.yaml diff --git a/templates/questions/podSecurityContextAdvanced.yaml b/templates/questions/security/podSecurityContextAdvanced.yaml similarity index 100% rename from templates/questions/podSecurityContextAdvanced.yaml rename to templates/questions/security/podSecurityContextAdvanced.yaml diff --git a/templates/questions/podSecurityContextRoot.yaml b/templates/questions/security/podSecurityContextRoot.yaml similarity index 100% rename from templates/questions/podSecurityContextRoot.yaml rename to templates/questions/security/podSecurityContextRoot.yaml diff --git a/templates/questions/security.yaml b/templates/questions/security/security.yaml similarity index 100% rename from templates/questions/security.yaml rename to templates/questions/security/security.yaml diff --git a/templates/questions/securityContextAdvanced.yaml b/templates/questions/security/securityContextAdvanced.yaml similarity index 100% rename from templates/questions/securityContextAdvanced.yaml rename to templates/questions/security/securityContextAdvanced.yaml diff --git a/templates/questions/securityContextAdvancedRoot.yaml b/templates/questions/security/securityContextAdvancedRoot.yaml similarity index 100% rename from templates/questions/securityContextAdvancedRoot.yaml rename to templates/questions/security/securityContextAdvancedRoot.yaml diff --git a/templates/questions/advancedPortHTTP.yaml b/templates/questions/service/advancedPortHTTP.yaml similarity index 100% rename from templates/questions/advancedPortHTTP.yaml rename to templates/questions/service/advancedPortHTTP.yaml diff --git a/templates/questions/advancedPortHTTPS.yaml b/templates/questions/service/advancedPortHTTPS.yaml similarity index 100% rename from templates/questions/advancedPortHTTPS.yaml rename to templates/questions/service/advancedPortHTTPS.yaml diff --git a/templates/questions/advancedPortTCP.yaml b/templates/questions/service/advancedPortTCP.yaml similarity index 100% rename from templates/questions/advancedPortTCP.yaml rename to templates/questions/service/advancedPortTCP.yaml diff --git a/templates/questions/advancedPortUDP.yaml b/templates/questions/service/advancedPortUDP.yaml similarity index 100% rename from templates/questions/advancedPortUDP.yaml rename to templates/questions/service/advancedPortUDP.yaml diff --git a/templates/questions/traefik/middlewares/addPrefix.yaml b/templates/questions/traefik/addPrefixMiddleware.yaml similarity index 100% rename from templates/questions/traefik/middlewares/addPrefix.yaml rename to templates/questions/traefik/addPrefixMiddleware.yaml diff --git a/templates/questions/traefik/middlewares/basicAuth.yaml b/templates/questions/traefik/basicAuthMiddleware.yaml similarity index 100% rename from templates/questions/traefik/middlewares/basicAuth.yaml rename to templates/questions/traefik/basicAuthMiddleware.yaml diff --git a/templates/questions/traefik/middlewares/chain.yaml b/templates/questions/traefik/chainMiddleware.yaml similarity index 100% rename from templates/questions/traefik/middlewares/chain.yaml rename to templates/questions/traefik/chainMiddleware.yaml diff --git a/templates/questions/traefik/middlewares/forwardAuth.yaml b/templates/questions/traefik/forwardAuthMiddleware.yaml similarity index 100% rename from templates/questions/traefik/middlewares/forwardAuth.yaml rename to templates/questions/traefik/forwardAuthMiddleware.yaml diff --git a/templates/questions/traefik/middlewares/ipWhitelist.yaml b/templates/questions/traefik/ipWhitelistMiddleware.yaml similarity index 100% rename from templates/questions/traefik/middlewares/ipWhitelist.yaml rename to templates/questions/traefik/ipWhitelistMiddleware.yaml diff --git a/templates/questions/traefik/middlewares/rateLimit.yaml b/templates/questions/traefik/rateLimitMiddleware.yaml similarity index 100% rename from templates/questions/traefik/middlewares/rateLimit.yaml rename to templates/questions/traefik/rateLimitMiddleware.yaml diff --git a/templates/questions/traefik/middlewares/realIP.yaml b/templates/questions/traefik/realIPMiddleware.yaml similarity index 100% rename from templates/questions/traefik/middlewares/realIP.yaml rename to templates/questions/traefik/realIPMiddleware.yaml diff --git a/templates/questions/traefik/middlewares/redirectRegex.yaml b/templates/questions/traefik/redirectRegexMiddleware.yaml similarity index 100% rename from templates/questions/traefik/middlewares/redirectRegex.yaml rename to templates/questions/traefik/redirectRegexMiddleware.yaml diff --git a/templates/questions/traefik/middlewares/redirectScheme.yaml b/templates/questions/traefik/redirectSchemeMiddleware.yaml similarity index 100% rename from templates/questions/traefik/middlewares/redirectScheme.yaml rename to templates/questions/traefik/redirectSchemeMiddleware.yaml diff --git a/templates/questions/traefik/middlewares/stripPrefixRegex.yaml b/templates/questions/traefik/stripPrefixRegexMiddleware.yaml similarity index 100% rename from templates/questions/traefik/middlewares/stripPrefixRegex.yaml rename to templates/questions/traefik/stripPrefixRegexMiddleware.yaml diff --git a/templates/questions/traefik/middlewares/themePark.yaml b/templates/questions/traefik/themeParkMiddleware.yaml similarity index 100% rename from templates/questions/traefik/middlewares/themePark.yaml rename to templates/questions/traefik/themeParkMiddleware.yaml diff --git a/tools/build-release.sh b/tools/build-release.sh index bde26e3ea2d..6dfc2282de2 100755 --- a/tools/build-release.sh +++ b/tools/build-release.sh @@ -104,345 +104,15 @@ include_questions(){ local chartname="$2" local train="$3" local chartversion="$4" - local target="catalog/${train}/${chartname}/${chartversion}" + + local source="charts/${train}/${chartname}/questions.yaml" + local target="catalog/${train}/${chartname}/${chartversion}/questions.yaml" + + echo "Making copy of $source to $target" + cp ${source} ${target} + echo "Including standardised questions.yaml includes for: ${chartname}" - - # Replace # Include{portalLink} with the standard portalLink codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{portalLink}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{global} with the standard global codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{global}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{groups} with the standard groups codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{groups}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{fixedEnv} with the standard fixedEnv codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{fixedEnv}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{controller} with the standard controller codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{controller}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{controllerDeployment} with the standard controllerDeployment codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{controllerDeployment}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{controllerStatefullset} with the standard controllerStatefullset codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{controllerStatefullset}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{controllerDaemonset} with the standard controllerDaemonset codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{controllerDaemonset}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{replicas} with the standard replicas codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{replicas}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{replica1} with the standard replica1 codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{replica1}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{replica2} with the standard replica2 codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{replica2}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{replica3} with the standard replica3 codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{replica3}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{strategy} with the standard strategy codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{strategy}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{recreate} with the standard recreate codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{recreate}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{rollingupdate} with the standard rollingupdate codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{rollingupdate}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{controllerExpert} with the standard controllerExpert codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{controllerExpert}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{controllerExpertExtraArgs} with the standard controllerExpertExtraArgs codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{controllerExpertExtraArgs}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - - # Replace # Include{controllerExpertCommand} with the standard controllerExpertCommand codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{controllerExpertCommand}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{containerConfig} with the standard containerConfig codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{containerConfig}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{serviceRoot} with the standard serviceRoot codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{serviceRoot}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{serviceSelectorExtras} with the standard serviceSelectorExtras codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{serviceSelectorExtras}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{serviceSelectorClusterIP} with the standard serviceSelectorClusterIP codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{serviceSelectorClusterIP}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{serviceSelectorLoadBalancer} with the standard serviceSelectorLoadBalancer codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{serviceSelectorLoadBalancer}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{advancedPortHTTP} with the standard advancedPortHTTP codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{advancedPortHTTP}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{advancedPortHTTPS} with the standard advancedPortHTTPS codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{advancedPortHTTPS}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{advancedPortTCP} with the standard advancedPortTCP codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{advancedPortTCP}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{advancedPortUDP} with the standard advancedPortUDP codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{advancedPortUDP}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{serviceExpertRoot} with the standard serviceExpertRoot codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{serviceExpertRoot}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{serviceExpert} with the standard serviceExpert codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{serviceExpert}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{serviceList} with the standard serviceList codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{serviceList}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{vctRoot} with the standard vctRoot codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{vctRoot}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{persistenceRoot} with the standard persistenceRoot codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{persistenceRoot}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{persistenceBasic} with the standard persistenceBasic codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{persistenceBasic}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{persistenceAdvanced} with the standard persistenceAdvanced codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{persistenceAdvanced}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{persistenceList} with the standard persistenceList codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{persistenceList}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{security} with the standard security codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{security}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{securityContextAdvancedRoot} with the standard securityContextAdvancedRoot codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{securityContextAdvancedRoot}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{securityContextAdvanced} with the standard securityContextAdvanced codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{securityContextAdvanced}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{podSecurityContextRoot} with the standard podSecurityContextRoot codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{podSecurityContextRoot}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{podSecurityContextAdvanced} with the standard podSecurityContextAdvanced codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{podSecurityContextAdvanced}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{ingressRoot} with the standard ingressRoot codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{ingressRoot}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{ingressDefault} with the standard ingressDefault codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{ingressDefault}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{ingressTLS} with the standard ingressTLS codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{ingressTLS}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{ingressTraefik} with the standard ingressTraefik codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{ingressTraefik}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{ingressExpert} with the standard ingressExpert codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{ingressExpert}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{ingressList} with the standard ingressList codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{ingressList}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{addons} with the standard addons codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{addons}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{metrics} with the standard metrics codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{metrics}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{metrics3m} with the standard metrics3m codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{metrics3m}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{metrics60m} with the standard metrics60m codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{metrics60m}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{prometheusRule} with the standard prometheusRule codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{prometheusRule}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{advanced} with the standard advanced codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{advanced}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{resources} with the standard resources codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{resources}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{documentation} with the standard resources codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{documentation}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{[forwardedHeaders]} with the standard forwardedHeaders codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{forwardedHeaders}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{proxyProtocol} with the standard proxyProtocol codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{proxyProtocol}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{basicAuth} with the standard basicAuth codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{basicAuth}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{forwardAuth} with the standard forwardAuth codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{forwardAuth}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{chain} with the standard chain codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{chain}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{redirectScheme} with the standard redirectScheme codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{redirectScheme}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{rateLimit} with the standard rateLimit codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{rateLimit}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{redirectRegex} with the standard redirectRegex codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{redirectRegex}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{stripPrefixRegex} with the standard stripPrefixRegex codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{stripPrefixRegex}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{ipWhitelist} with the standard ipWhitelist codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{ipWhitelist}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{themePark} with the standard themePark codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{themePark}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{realIP} with the standard realIP codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{realIP}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - - # Replace # Include{addPrefix} with the standard addPrefix codesnippet - awk 'NR==FNR { a[n++]=$0; next } - /# Include{addPrefix}/ { for (i=0;i "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml - + sed -i -E 's:^.*# Include\{(.*)\}.*$:cat templates/questions/**/\1.yaml:e' ${target} } export -f include_questions