DeploymentConfigurations: - Id: cp1w1 Label: 'Workload-cluster: 1 control-plane node/1 worker node' Description: 1 control-plane node/1 worker node - Id: cp1w2 Label: 'Workload-cluster: 1 control-plane node/2 worker nodes' Description: 1 control-plane node/2 worker nodes DynamicDisks: - Description: Longhorn persistent storage UnitSize: GB Constraints: Minimum: 100 Maximum: '' PropertyCategory: 1 PropertyCategories: - Name: 0) Deployment information ProductProperties: - Key: deployment.type Type: string Value: - cp1w1 - cp1w2 UserConfigurable: false - Name: 1) Meta-cluster ProductProperties: - Key: guestinfo.hostname Type: string(1..15) Label: Hostname* Description: '' DefaultValue: 'META-NODE-{{ 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: metacluster.fqdn Type: string(1..) Label: Appliance 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: guestinfo.dnsserver Type: ip Label: DNS server* Description: '' DefaultValue: '' Configurations: '*' UserConfigurable: true - Key: guestinfo.gateway Type: ip Label: Gateway* Description: '' 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: 2) Workload-cluster ProductProperties: - Key: workloadcluster.name Type: string(1..15) Label: Workload-cluster name* Description: '' DefaultValue: 'WORKLOAD-{{ hostname.suffix }}' Configurations: '*' UserConfigurable: true - Key: workloadcluster.vip Type: ip Label: Workload-cluster virtual IP* Description: Workload-cluster control plane endpoint virtual IP DefaultValue: '' Configurations: '*' UserConfigurable: true - Key: ippool.startip Type: ip Label: Workload-cluster IP-pool start IP* Description: All nodes for the workload-cluster will be provisioned within this IP pool DefaultValue: '' Configurations: '*' UserConfigurable: true - Key: ippool.endip Type: ip Label: Workload-cluster IP-pool end IP* Description: All nodes for the workload-cluster will be provisioned within this IP pool DefaultValue: '' Configurations: '*' UserConfigurable: true - Name: 3) 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: 4) 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 AdvancedOptions: - Key: appliance.name Value: "{{ appliance.name }}" Required: false - Key: appliance.version Value: "{{ appliance.version }}" Required: false --- Variables: - Name: hostname.suffix Expression: | (-join ((48..57) + (97..122) | Get-Random -Count 5 | % {[char]$_})).ToUpper() - Name: appliance.name Expression: | $Parameter['appliance.name'] - Name: appliance.version Expression: | $Parameter['appliance.version']