rancher-partner-charts/charts/dkube/dkube-deployer/questions.yaml

327 lines
12 KiB
YAML

questions:
- variable: EULA
description: "The Dkube EULA is available at www.oneconvergence.com/EULA/One-Convergence-EULA.pdf . By accepting this license agreement you acknowledge that you have read and understood the terms and conditions mentioned. Please refer to Basic Configuration section of the installation guide. https://dkube.io/install/install3_x/Install-Advanced.html#basic-configuration"
type: enum
label: DKUBE-EULA
required: true
group: "General"
options:
- "yes"
- variable: username
default: ""
description: "Dkube operator's local sigh-in username: Username cannot be same as that of a namespace's name. Also, following names are restricted - dkube, dkube-infra, kubeflow, istio-system, knative-serving, harbor-system. Please refer to Basic Configuration section of the installation guide. https://dkube.io/install/install3_x/Install-Advanced.html#basic-configuration"
type: string
label: Username
required: true
group: "General"
show_if: "EULA=yes"
- variable: password
default: ""
description: "Dkube operator's local sigh-in password"
type: password
label: Password
required: true
group: "General"
show_if: "EULA=yes"
- variable: version
default: "3.2.0.1"
description: "Version of dkube to be installed"
type: string
label: Dkube version
required: true
group: "General"
show_if: "EULA=yes"
- variable: provider
default: "dkube"
description: "Kubernetes provider: Choose one of dkube/gke/okd/eks/ntnx/tanzu"
type: enum
label: Kube Provider
required: true
options:
- "dkube"
- "gke"
- "okd"
- "eks"
- "ntnx"
- "tanzu"
group: "General"
show_if: "EULA=yes"
- variable: ha
default: "false"
description: "When HA=true k8s cluster must have min 3 schedulable nodes. Please refer to resilient operation section of the installation guide. https://dkube.io/install/install3_x/Install-Advanced.html#resilient-operation"
type: boolean
label: HA
required: true
group: "General"
show_if: "EULA=yes"
- variable: wipedata
default: yes
description: "Wipe dkube data during helm operation install/uninstall. Choose one of yes/no"
type: enum
label: Wipe Data
required: true
options:
- "yes"
- "no"
group: "General"
show_if: "EULA=yes"
- variable: minimal
default: no
description: "To install minimal version of dkube. Choose one of yes/no"
type: enum
label: Minimal
required: true
options:
- "yes"
- "no"
group: "General"
show_if: "EULA=yes"
- variable: airgap
default: no
description: "To install air-gapped version of dkube. Choose one of yes/no"
type: enum
label: Airgap
required: true
options:
- "yes"
- "no"
group: "General"
show_if: "EULA=yes"
# registry
- variable: registry.name
default: "docker.io/ocdr"
description: "Repository from where Dkube images can be picked. Format: registry/[repo]. Please contact support@dkube.io for Dkube registry details"
type: string
label: Dkube images registry
required: true
group: "Registry"
show_if: "EULA=yes"
- variable: registry.username
default: ""
description: "Container registry username"
type: string
label: Dkube images registry username
required: true
group: "Registry"
show_if: "EULA=yes"
- variable: registry.password
default: ""
description: "Container registry password"
type: password
label: Dkube images registry password
required: true
group: "Registry"
show_if: "EULA=yes"
# STORAGE
- variable: optional.storage.type
default: "disk"
description: "Type of storage. Note: ceph storage type can only be use with HA=true And pv or sc can only be used with HA=false. Please refer to Storage options section of installation guide. https://dkube.io/install/install3_x/Install-Advanced.html#storage-options"
type: enum
label: Dkube storage type
options:
- "disk"
- "nfs"
- "ceph"
- "pv"
- "sc"
group: "Storage"
show_if: "EULA=yes"
subquestions:
- variable: optional.storage.path
default: "/var/dkube"
description: "Localpath on the storage node"
type: string
label: Dkube storage disk path
show_if: "optional.storage.type=disk"
- variable: optional.storage.node
default: ""
description: "Node name for dkube storage. Provide hostname of the master node if Kube provider is dkube"
type: string
label: Dkube storage disk node
show_if: "optional.storage.type=disk"
- variable: optional.storage.persistentVolume
default: ""
description: "Name of persistent volume to be used for storage"
type: string
label: Storage PV
show_if: "ha=false&&optional.storage.type=pv"
- variable: optional.storage.storageClass
default: ""
description: "Name of storage class to be used for storage. Make sure dynamic provisioner is running for the storage class name"
type: string
label: Storage class
show_if: "ha=false&&optional.storage.type=sc"
- variable: optional.storage.nfsServer
default: ""
description: "NFS server ip to be used for storage"
type: string
label: NFS Server
show_if: "optional.storage.type=nfs"
- variable: optional.storage.nfsPath
default: ""
description: "NFS path (Make sure the path exists)"
type: string
label: NFS path
show_if: "optional.storage.type=nfs"
- variable: optional.storage.cephMonitors
default: ""
description: "Comma separated IPs of ceph monitors"
type: string
label: Ceph monitors
show_if: "optional.storage.type=ceph"
- variable: optional.storage.cephSecret
default: ""
description: "Ceph secret"
type: string
label: Ceph Secret
show_if: "optional.storage.type=ceph"
- variable: optional.storage.cephFilesystem
default: ""
description: "Ceph Filesystem"
type: string
label: Ceph Filesystem
show_if: "optional.storage.type=ceph"
- variable: optional.storage.cephNamespace
default: ""
description: "Ceph Namespace"
type: string
label: Ceph Namespace
show_if: "optional.storage.type=ceph"
- variable: optional.storage.cephPath
default: "/var/lib/rook"
description: "Ceph data and configuration path for internal ceph. Internal ceph is installed when HA=true and Storage type is not equal to nfs or ceph"
type: string
label: Ceph storage path
#show_if: "ha=true&&optional.storage.type!=ceph&&optional.storage.type!=nfs"
show_if: "ha=true"
- variable: optional.storage.cephDisk
default: ""
description: "Only for internal ceph from release 2.2.1.12. Disk name for internal ceph storage. It should be a raw formatted disk. E.g: sdb"
type: string
label: Ceph Storage Disk
#show_if: "ha=true&&optional.storage.type!=ceph&&optional.storage.type!=nfs"
show_if: "ha=true"
# Loadbalancer
- variable: optional.loadbalancer.access
default: "nodeport"
description: "Type of dkube proxy service, possible values are nodeport and loadbalancer; Please use loadbalancer if kubeProvider is gke."
type: enum
label: Dkube access type
group: "Loadbalancer"
#show_if: "EULA=yes&&ha=true"
#show_if: "EULA=yes&&ha=true&&optional.storage.type!=ceph&&optional.storage.type!=nfs"
#show_if: "ha=true&&optional.storage.type=ceph"
options:
- "loadbalancer"
- "nodeport"
show_subquestion_if: loadbalancer
show_if: "EULA=yes"
subquestions:
- variable: optional.loadbalancer.metallb
default: false
description: "Set true to install MetalLB Loadbalancer. Please refer to Load Balancer options section of installation guide. https://dkube.io/install/install3_x/Install-Advanced.html#load-balancer-options"
type: string
label: MetalLB Loadbalancer
- variable: optional.loadbalancer.vipPool
default: ""
description: "Valid only if installLoadbalancer is true; Only CIDR notation is allowed. E.g: 192.168.2.0/24"
type: string
label: Loadbalancer VipPool
show_if: "EULA=yes"
# Modelmonitor
- variable: optional.modelmonitor.enabled
default: "false"
description: "To enable modelmonitor in dkube. (true / false). Please refer to Model Monitor section of installation guide. https://dkube.io/install/install3_x/Install-Advanced.html#model-monitor"
type: boolean
label: Enable Modelmonitor
group: "General"
show_if: "EULA=yes"
# DBAAS
- variable: optional.DBAAS.database
default: ""
description: "To configure external database for dkube. Supported mysql, sqlserver(mssql). Empty will pickup default sql db installed with dkube. Please refer to section External Database of installation guide. https://dkube.io/install/install3_x/Install-Advanced.html#external-database"
type: string
label: database
group: "DBAAS"
show_if: "EULA=yes"
- variable: optional.DBAAS.dsn
default: ""
description: "Syntaxes here can be followed to specify dsn https://gorm.io/docs/connecting_to_the_database.html"
type: string
label: dsn
group: "DBAAS"
show_if: "EULA=yes"
# CICD
- variable: optional.CICD.enabled
default: "false"
description: "To enable tekton cicd with dkube. (true / false). Please refer to CICD section of installation guide. https://dkube.io/install/install3_x/Install-Advanced.html#ci-cd"
type: boolean
label: CICD Enabled
group: "CICD"
show_if: "EULA=yes"
show_subquestion_if: true
subquestions:
- variable: optional.CICD.registryName
default: false
description: "Docker registry where CICD built images will be saved"
type: string
label: Docker registry name
- variable: optional.CICD.registryUsername
default: false
description: "Docker registry Username"
type: string
label: Docker registry Username
- variable: optional.CICD.registryPassword
default: false
description: "Docker registry password"
type: string
label: Docker registry Password
- variable: optional.CICD.IAMRole
default: false
description: "For AWS ECR on EKS K8S cluster, enter registry as aws_account_id.dkr.ecr.region.amazonaws.com. registryName: 'aws_account_id.dkr.ecr.region.amazonaws.com' Worker nodes should either have AmazonEC2ContainerRegistryFullAccess or if you are using KIAM based IAM control, provide an IAM role which has AmazonEC2ContainerRegistryFullAccess; IAMRole: 'arn:aws:iam::<aws_account_id>:role/<iam-role>'"
type: string
label: IAMRole
# Node Affinity
- variable: optional.nodeAffinity.dkubeNodesLabel
default: ""
description: "Nodes identified by labels on which the dkube pods must be scheduled.. Say management nodes. Unfilled means no binding. When filled there needs to be minimum of 3nodes in case of HA and one node in case of non-HA. Example: DKUBE_NODES_LABEL: key1=value1. Please refer to section Node Affinity of installation guide. https://dkube.io/install/install3_x/Install-Advanced.html#node-affinity"
type: string
label: DKUBE_NODES_LABEL
group: "NodeAffinity"
show_if: "EULA=yes"
- variable: optional.nodeAffinity.dkubeNodesTaints
default: ""
description: "Nodes to be tolerated by dkube control plane pods so that only they can be scheduled on the nodes. Example: DKUBE_NODES_TAINTS: key1=value1:NoSchedule,key2=value2:NoSchedule"
type: string
label: DKUBE_NODES_TAINTS
group: "NodeAffinity"
show_if: "EULA=yes"
- variable: optional.nodeAffinity.gpuWorkloadTaints
default: ""
description: "Taints of the nodes where gpu workloads must be scheduled. Example: GPU_WORKLOADS_TAINTS: key1=value1:NoSchedule,key2=value2:NoSchedule"
type: string
label: GPU_WORKLOADS_TAINTS
group: "NodeAffinity"
show_if: "EULA=yes"
- variable: optional.nodeAffinity.productionWorkloadTaints
default: ""
description: "Taints of the nodes where production workloads must be scheduled. Example: PRODUCTION_WORKLOADS_TAINTS: key1=value1:NoSchedule,key2=value2:NoSchedule"
type: string
label: PRODUCTION_WORKLOADS_TAINTS
group: "NodeAffinity"
show_if: "EULA=yes"
- variable: optional.dkubeDockerhubCredentialsSecret
default: ""
description: "Dockerhub Secrets for OCDR images. If you don't create, this will be auto-created with default values."
type: string
label: DKUBE DOCKERHUB CREDENTIALS SECRET
group: "General"
show_if: "EULA=yes"
- variable: optional.IAMRole
default: ""
description: "AWS IAM role. Valid only if KUBE_PROVIDER=eks. This will be set as an annotation in few deployments. Format should be like: IAMRole: '<key>: <iam role>' eg: IAMRole: 'iam.amazonaws.com/role: arn:aws:iam::123456789012:role/myrole'"
type: string
label: IAMRole
group: "General"
show_if: "EULA=yes&&provider=eks"