430 lines
12 KiB
YAML
430 lines
12 KiB
YAML
---
|
|
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"
|