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.nodetemplate Type: string["ubuntu-2204-kube-v1.30.0", "photon-5-kube-v1.30.0.ova"] Label: Workload-cluster node template Description: | All worker and worker-storage nodes for the workload-cluster will be provisioned with this node template. Note: Make sure that this exact template has been uploaded to the vCenter instance before powering on this appliance! DefaultValue: ubuntu-2204-kube-v1.30.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 '-', ''