--- questions: # General settings - variable: serviceName default: s3gw description: "S3 Service Name" label: "S3 Service Name" required: true type: string group: "General" - variable: ingress.enabled default: true description: "Deploy an Ingress (Required for TLS and UI)" label: "Enable Ingress" required: true type: boolean group: "General" - variable: publicDomain show_if: ingress.enabled=true default: "" description: "Public domain of the S3 Service used by the Ingress" label: "Public Domain" required: true type: string group: "General" - variable: privateDomain default: svc.cluster.local description: | "Private domain of the S3 Service used inside the Kubernetes cluster" label: "Private Domain" required: true type: string group: "General" - variable: ui.enabled show_if: ingress.enabled=true default: false description: "UI Enabled" label: "UI Enabled" required: true type: boolean group: "General" - variable: ui.serviceName show_if: ingress.enabled=true default: s3gw-ui description: "UI Service Name" label: "UI Service Name" required: true type: string group: "General" - variable: ui.publicDomain show_if: ingress.enabled=true default: "" description: "Public domain of the UI Service used by the Ingress" label: "UI Public Domain" required: true type: string group: "General" - variable: useExistingSecret default: false description: | "Check this to use a preexisting secret containing the S3 credentials for the default user" type: boolean group: "General" - variable: defaultUserCredentialsSecret show_if: useExistingSecret=true default: "" description: | "The name of the secret containing the S3 credentials for the default user" type: secret group: "General" - variable: accessKey show_if: useExistingSecret=false default: test description: | "Set this as the empty string to make the Chart to compute a random alphanumeric value" label: "S3 Access Key" type: string group: "General" - variable: secretKey show_if: useExistingSecret=false default: test description: | "Set this as the empty string to make the Chart to compute a random alphanumeric value" label: "S3 Secret Key" type: string group: "General" # TLS / Certificate Management - variable: useCertManager label: Use cert-manager default: "true" description: "Use cert-manager to provision TLS certificates" type: boolean group: "TLS / Certificate Management" - variable: certManagerNamespace show_if: "useCertManager=true" label: cert-manager's namespace default: "cert-manager" description: "cert-manager's namespace" type: string required: false group: "TLS / Certificate Management" - variable: useCustomTlsIssuer show_if: "useCertManager=true" label: Use your own TLS issuer default: "false" description: "Use your own TLS issuer" type: boolean group: "TLS / Certificate Management" show_subquestions_if: true subquestions: - variable: customTlsIssuer label: Custom TLS issuer description: "Name of the custom TLS issuer to use" type: string required: false group: "TLS / Certificate Management" - variable: tlsIssuer show_if: "useCertManager=true&&useCustomTlsIssuer=false" label: TLS issuer description: "Name of the predefined TLS issuer to use" type: enum required: false options: - "s3gw-issuer" - "s3gw-letsencrypt-issuer" group: "TLS / Certificate Management" - variable: email show_if: "useCertManager=true&&useCustomTlsIssuer=false" label: email address to use with s3gw-letsencrypt-issuer description: "email address to use with s3gw-letsencrypt-issuer" type: string required: false group: "TLS / Certificate Management" - variable: tls.useExistingSecret show_if: useCertManager=false description: "Use the TLS certificates provided within an existing secret" label: "Use Existing Secret" type: boolean default: false group: "TLS / Certificate Management" - variable: tls.secretName show_if: useCertManager=false&&tls.useExistingSecret=true description: "Secret providing TLS certificates" label: "Secret Name" type: secret group: "TLS / Certificate Management" - variable: tls.publicDomain.crt show_if: "useCertManager=false&&tls.useExistingSecret=false" description: "S3 TLS certificate (Public Domain)" label: "S3 TLS certificate (Public Domain)" type: string group: "TLS / Certificate Management" - variable: tls.publicDomain.key show_if: "useCertManager=false&&tls.useExistingSecret=false" description: "S3 TLS key (Public Domain)" label: "S3 TLS key (Public Domain)" type: string group: "TLS / Certificate Management" - variable: tls.privateDomain.crt show_if: "useCertManager=false&&tls.useExistingSecret=false" description: "S3 TLS certificate (Private Domain)" label: "S3 TLS certificate (Private Domain)" type: string group: "TLS / Certificate Management" - variable: tls.privateDomain.key show_if: "useCertManager=false&&tls.useExistingSecret=false" description: "S3 TLS key (Private Domain)" label: "S3 TLS key (Private Domain)" type: string group: "TLS / Certificate Management" - variable: tls.ui.publicDomain.crt show_if: "useCertManager=false&&tls.useExistingSecret=false" description: "UI TLS certificate" label: "UI TLS certificate" type: string group: "TLS / Certificate Management" - variable: tls.ui.publicDomain.key show_if: "useCertManager=false&&tls.useExistingSecret=false" description: "UI TLS key" label: "UI TLS key" type: string group: "TLS / Certificate Management" # Storage - variable: storageClass.create description: | Create a new opinionated storage class backed by longhorn.io type: boolean default: true label: "Create Storage Class" group: "Storage" - variable: storageClass.name show_if: storageClass.create=false type: storageclass required: true label: "Storage Class" group: "Storage" - variable: storageClass.name show_if: storageClass.create=true description: "New Storage Class Name" type: string valid_chars: "[0-9a-zA-Z_-]*" default: "longhorn-single" required: true label: "Storage Class" group: "Storage" - variable: storageSize description: "Volume Size" type: string default: 10Gi label: "Volume Claim Size" group: "Storage" # Advanced Options - variable: useCustomImages default: false type: boolean description: "Use custom container images" required: true group: "Advanced" show_subquestion_if: true subquestions: - variable: imageRegistry default: description: "Image Registry" label: "Registry (e.g. quay.io)" required: false type: string group: "Advanced" - variable: imageCredentials.username default: description: "Registry Username" label: "Username" required: false type: string group: "Advanced" - variable: imageCredentials.password default: description: "Registry Password" label: "Password" required: false type: string group: "Advanced" - variable: imageCredentials.email default: description: "Registry Email" label: "Email" required: false type: string group: "Advanced" - variable: imageName default: description: "Gateway Image Name" label: "Image (e.g. s3gw/s3gw)" required: false type: string group: "Advanced" - variable: imageTag default: description: "Image Tag" label: "Tag (e.g. latest)" required: false type: string group: "Advanced" - variable: ui.imageName default: description: "UI Image Name" label: "Image (e.g. s3gw/s3gw-ui)" required: false type: string group: "Advanced" - variable: ui.imageTag default: description: "UI Image Tag" label: "Tag (e.g. latest)" required: false type: string group: "Advanced" - variable: imagePullPolicy default: IfNotPresent description: "Image Pull Policy" label: "Image Pull Policy" required: false type: enum options: - IfNotPresent - Always - Never group: "Advanced" - variable: logLevel default: "1" description: "s3gw pod log level, lower values are less verbose" label: "s3gw pod log level" required: false type: string group: "Advanced" # Container Object Storage Interface (COSI) - variable: cosi.enabled default: false type: boolean description: "Deploy Container Object Storage Interface (COSI) for s3gw" required: true group: "COSI" show_subquestion_if: true subquestions: - variable: cosi.driver.imageName default: "" description: "Image name for the COSI Driver" label: "COSI Driver Image (e.g. s3gw-cosi-driver)" required: false type: string group: "COSI" - variable: cosi.driver.imageTag default: "" description: "Image tag for the COSI Driver" label: "COSI Driver Tag" required: false type: string group: "COSI" - variable: cosi.driver.imageRegistry default: "" description: "Image registry for the COSI Driver" label: "COSI Driver Registry (e.g. quay.io/s3gw)" required: false type: string group: "COSI" - variable: cosi.driver.imagePullPolicy default: "IfNotPresent" description: "Pull policy for the COSI Driver" label: "Pull policy for the COSI Driver" required: false type: string group: "COSI" - variable: cosi.driver.name default: "" description: "Name of the COSI Driver" label: "Name of the COSI Driver" required: false type: string group: "COSI" - variable: cosi.sidecar.imageName default: description: "Image name for the COSI Sidecar" label: "COSI Sidecar Image (e.g. s3gw-cosi-sidecar)" required: false type: string group: "COSI" - variable: cosi.sidecar.imageTag default: description: "Image tag for the COSI Sidecar" label: "COSI Sidecar Tag" required: false type: string group: "COSI" - variable: cosi.sidecar.imageRegistry default: description: "Image registry for the COSI Sidecar" label: "COSI Sidecar Registry (e.g. quay.io/s3gw)" required: false type: string group: "COSI" - variable: cosi.sidecar.imagePullPolicy default: description: "Pull policy for the COSI Sidecar" label: "Pull policy for the COSI Sidecar" required: false type: string group: "COSI" - variable: cosi.sidecar.logLevel default: "5" description: | "Log verbosity of the COSI Sidecar, higher values are more verbose." label: "Log verbosity of the COSI Sidecar" required: false type: string group: "COSI"