Danny Bessems
fd1c306061
All checks were successful
continuous-integration/drone/push Build is passing
261 lines
7.2 KiB
YAML
261 lines
7.2 KiB
YAML
DeploymentConfigurations:
|
|
|
|
- Id: cp1w1ws0
|
|
Label: 'Workload-cluster: 1 control-plane node/1 worker node'
|
|
Description: 1 control-plane node/1 worker node
|
|
|
|
- Id: cp1w1ws1
|
|
Label: 'Workload-cluster: 1 control-plane node/1 worker node/1 worker-storage node'
|
|
Description: 1 control-plane node/1 worker node/1 worker-storage node
|
|
|
|
- Id: core
|
|
Label: No workload-cluster
|
|
Description: Only the metacluster is deployed (useful for recovery scenario's)
|
|
|
|
DynamicDisks:
|
|
|
|
- Description: Longhorn persistent storage
|
|
UnitSize: GB
|
|
Constraints:
|
|
Minimum: 100
|
|
Maximum: ''
|
|
PropertyCategory: 2
|
|
|
|
PropertyCategories:
|
|
|
|
- Name: 0) Deployment information
|
|
ProductProperties:
|
|
- Key: deployment.type
|
|
Type: string
|
|
Value:
|
|
- cp1w1ws0
|
|
- cp1w1ws1
|
|
- core
|
|
UserConfigurable: false
|
|
|
|
- Name: 1) Meta-cluster
|
|
ProductProperties:
|
|
|
|
- Key: metacluster.fqdn
|
|
Type: string(1..)
|
|
Label: Meta-cluster FQDN*
|
|
Description: Respective subdomains will be available for each component (e.g. storage.example.org); this address should already be configured as a wildcard record within your DNS zone.
|
|
DefaultValue: meta.k8s.cluster
|
|
Configurations: '*'
|
|
UserConfigurable: true
|
|
|
|
- key: metacluster.vip
|
|
Type: ip
|
|
Label: Meta-cluster virtual IP address*
|
|
Description: Meta-cluster control plane endpoint virtual IP address
|
|
DefaultValue: ''
|
|
Configurations: '*'
|
|
UserConfigurable: true
|
|
|
|
- key: metacluster.token
|
|
Type: string(1..)
|
|
Label: K3s install token*
|
|
Description: Auto-generated; this value is used to join future new nodes to the metacluster after deployment
|
|
DefaultValue: '{{ metacluster.token }}'
|
|
Configurations: '*'
|
|
UserConfigurable: true
|
|
|
|
- Name: 2) Meta-cluster initial node
|
|
ProductProperties:
|
|
|
|
- Key: guestinfo.hostname
|
|
Type: string(1..15)
|
|
Label: Hostname*
|
|
Description: ''
|
|
DefaultValue: 'meta-{{ hostname.suffix }}'
|
|
Configurations: '*'
|
|
UserConfigurable: true
|
|
|
|
- Key: metacluster.password
|
|
Type: password(7..)
|
|
Label: Appliance password*
|
|
Description: 'Initial password for respective administrator accounts within each component'
|
|
DefaultValue: ''
|
|
Configurations: '*'
|
|
UserConfigurable: true
|
|
|
|
- Key: guestinfo.ipaddress
|
|
Type: ip
|
|
Label: IP Address*
|
|
Description: ''
|
|
DefaultValue: ''
|
|
Configurations: '*'
|
|
UserConfigurable: true
|
|
|
|
- Key: guestinfo.prefixlength
|
|
Type: int(8..32)
|
|
Label: Subnet prefix length*
|
|
Description: ''
|
|
DefaultValue: '24'
|
|
Configurations: '*'
|
|
UserConfigurable: true
|
|
|
|
- Key: guestinfo.dnsserver
|
|
Type: ip
|
|
Label: DNS server*
|
|
Description: ''
|
|
DefaultValue: ''
|
|
Configurations: '*'
|
|
UserConfigurable: true
|
|
|
|
- Key: guestinfo.gateway
|
|
Type: ip
|
|
Label: Gateway*
|
|
Description: 'A default route is *required*, use a dummy IP address if there is no actual gateway router present'
|
|
DefaultValue: ''
|
|
Configurations: '*'
|
|
UserConfigurable: true
|
|
|
|
# - Key: guestinfo.ntpserver
|
|
# Type: string(1..)
|
|
# Label: Time server*
|
|
# Description: A comma-separated list of timeservers
|
|
# DefaultValue: 0.pool.ntp.org,1.pool.ntp.org,2.pool.ntp.org
|
|
# Configurations: '*'
|
|
# UserConfigurable: true
|
|
|
|
- Name: 3) Workload-cluster
|
|
ProductProperties:
|
|
|
|
- Key: workloadcluster.name
|
|
Type: string(1..15)
|
|
Label: Workload-cluster name*
|
|
Description: ''
|
|
DefaultValue: 'workload-{{ hostname.suffix }}'
|
|
Configurations:
|
|
- cp1w1ws0
|
|
- cp1w1ws1
|
|
UserConfigurable: true
|
|
|
|
- Key: workloadcluster.vip
|
|
Type: ip
|
|
Label: Workload-cluster virtual IP address*
|
|
Description: Workload-cluster control plane endpoint virtual IP address
|
|
DefaultValue: '0.0.0.0'
|
|
Configurations:
|
|
- cp1w1ws0
|
|
- cp1w1ws1
|
|
UserConfigurable: true
|
|
|
|
- Key: ippool.startip
|
|
Type: ip
|
|
Label: Workload-cluster IP-pool start IP address*
|
|
Description: All nodes for the workload-cluster will be provisioned within this IP pool
|
|
DefaultValue: '0.0.0.0'
|
|
Configurations:
|
|
- cp1w1ws0
|
|
- cp1w1ws1
|
|
UserConfigurable: true
|
|
|
|
- Key: ippool.endip
|
|
Type: ip
|
|
Label: Workload-cluster IP-pool end IP address*
|
|
Description: All nodes for the workload-cluster will be provisioned within this IP pool
|
|
DefaultValue: '0.0.0.0'
|
|
Configurations:
|
|
- cp1w1ws0
|
|
- cp1w1ws1
|
|
UserConfigurable: true
|
|
|
|
- Key: workloadcluster.nodesize
|
|
Type: string["small", "medium", "large"]
|
|
Label: Workload-cluster node size*
|
|
Description: |
|
|
All worker and worker-storage nodes for the workload-cluster will be provisioned with number of cpu-cores and memory as specified:
|
|
- SMALL: 2 vCPU/6GB RAM
|
|
- MEDIUM: 4 vCPU/8GB RAM
|
|
- LARGE: 8 vCPU/16GB RAM
|
|
DefaultValue: 'small'
|
|
Configurations:
|
|
- cp1w1ws0
|
|
- cp1w1ws1
|
|
UserConfigurable: true
|
|
|
|
- Key: workloadcluster.additionaldisk
|
|
Type: int(0..120)
|
|
Label: Workload-cluster block storage disk size*
|
|
Description: 'All worker-storage nodes for the workload-cluster will be provisioned with an additional disk of the specified size'
|
|
DefaultValue: '42'
|
|
Configurations:
|
|
- cp1w1ws1
|
|
UserConfigurable: true
|
|
|
|
- Name: 4) Common
|
|
ProductProperties:
|
|
|
|
- Key: guestinfo.rootsshkey
|
|
Type: password(1..)
|
|
Label: SSH public key*
|
|
Description: Authentication for any node (meta-cluster *and* workloadcluster); this line should start with 'ssh-rsa AAAAB3N'
|
|
DefaultValue: ''
|
|
Configurations: '*'
|
|
UserConfigurable: true
|
|
|
|
- Name: 5) Hypervisor
|
|
ProductProperties:
|
|
|
|
- Key: hv.fqdn
|
|
Type: string(1..)
|
|
Label: vCenter FQDN/IP-address*
|
|
Description: The address of the vCenter instance which this bootstrap appliance will interact with for provisioning new VM's.
|
|
DefaultValue: ''
|
|
Configurations: '*'
|
|
UserConfigurable: true
|
|
|
|
- Key: hv.username
|
|
Type: string(1..)
|
|
Label: vCenter username*
|
|
Description: The username which this bootstrap appliance will authenticate with to the vCenter instance.
|
|
DefaultValue: 'administrator@vsphere.local'
|
|
Configurations: '*'
|
|
UserConfigurable: true
|
|
|
|
- Key: hv.password
|
|
Type: password(1..)
|
|
Label: vCenter password*
|
|
Description: The password which this bootstrap appliance will authenticate with to the vCenter instance.
|
|
DefaultValue: ''
|
|
Configurations: '*'
|
|
UserConfigurable: true
|
|
|
|
- Name: 6) Identity provider
|
|
ProductProperties:
|
|
|
|
- Key: ldap.fqdn
|
|
Type: string(1..)
|
|
Label: LDAP server FQDN/IP-address*
|
|
Description: The address of the LDAP server which this bootstrap appliance will perform LDAP queries against.
|
|
DefaultValue: ''
|
|
Configurations: '*'
|
|
UserConfigurable: true
|
|
|
|
- Key: ldap.dn
|
|
Type: string(1..)
|
|
Label: LDAP bind distinguished name*
|
|
Description: The distinguished name of the user account used for LDAP queries; for example 'CN=ldapreader,OU=Useraccounts,DC=example,DC=com'
|
|
DefaultValue: ''
|
|
Configurations: '*'
|
|
UserConfigurable: true
|
|
|
|
- Key: ldap.password
|
|
Type: password(1..)
|
|
Label: LDAP bind password*
|
|
Description: The password of the user account used for LDAP queries.
|
|
DefaultValue: ''
|
|
Configurations: '*'
|
|
UserConfigurable: true
|
|
|
|
---
|
|
Variables:
|
|
- Name: hostname.suffix
|
|
Expression: |
|
|
(-join ((48..57) + (97..122) | Get-Random -Count 5 | % {[char]$_})).ToLower()
|
|
- Name: metacluster.token
|
|
Expression: |
|
|
(New-Guid).Guid -replace '-', ''
|