1
+ # Author: William Lam
2
+ # Website: www.williamlam.com
3
+ # Script to deploy Application Transformer for VMware Tanzu
4
+
5
+ # Load OVF/OVA configuration into a variable
6
+ $ovffile = " /Users/lamw/Download/App-Transformer-1.0.0.XXX.ova"
7
+ $ovfconfig = Get-OvfConfiguration $ovffile
8
+
9
+ # Deployment Configuration
10
+ $VMCluster = " Supermicro-Cluster"
11
+ $AT_DISPLAY_NAME = " at.primp-industries.local"
12
+ $AT_PORTGROUP = " Management"
13
+ $AT_IP = " 192.168.30.172"
14
+ $AT_NETMASK = " 255.255.255.0"
15
+ $AT_GATEWAY = " 192.168.30.1"
16
+ $AT_DNS = " 192.168.30.2"
17
+ $AT_DNS_DOMAIN = " primp-industries.local"
18
+ $AT_DNS_SEARCH = " primp-industries.local"
19
+ $AT_NTP = " pool.ntp.org"
20
+ $AT_ROOT_PASSWORD = " VMware1!VMware1!"
21
+ $AT_USERNAME = " admin"
22
+ $AT_PASSWORD = " VMware1!VMware1!"
23
+ $AT_ENCRYPTION_PASSWORD = " VMware1!VMware1!"
24
+ $AT_INSTALL_EMBEDDED_HARBOR = $true
25
+
26
+ # ############# DO NOT EDIT BEYOND HERE #################
27
+
28
+ $VMHost = Get-Cluster $VMCluster | Get-VMHost | Sort-Object MemoryGB | Select - first 1
29
+ $Datastore = $VMHost | Get-datastore | Sort-Object FreeSpaceGB - Descending | Select - first 1
30
+ $Network = Get-VDPortGroup - Name $AT_PORTGROUP
31
+
32
+ # Fill out the OVF/OVA configuration parameters
33
+
34
+ # vSphere Portgroup Network Mapping
35
+ $ovfconfig.NetworkMapping.Appliance_Network.value = $Network
36
+
37
+ # IP Address
38
+ $ovfConfig.vami.Application_Transformer_for_VMware_Tanzu.ip0.value = $AT_IP
39
+
40
+ # Netmask
41
+ $ovfConfig.vami.Application_Transformer_for_VMware_Tanzu.netmask0.value = $AT_NETMASK
42
+
43
+ # Gateway
44
+ $ovfConfig.vami.Application_Transformer_for_VMware_Tanzu.gateway.value = $AT_GATEWAY
45
+
46
+ # DNS Server
47
+ $ovfConfig.vami.Application_Transformer_for_VMware_Tanzu.DNS.value = $AT_DNS
48
+
49
+ # DNS Domain
50
+ $ovfConfig.vami.Application_Transformer_for_VMware_Tanzu.domain.value = $AT_DNS_DOMAIN
51
+
52
+ # DNS Search Path
53
+ $ovfConfig.vami.Application_Transformer_for_VMware_Tanzu.searchpath.value = $AT_DNS_SEARCH
54
+
55
+ # Root Password
56
+ $ovfconfig.Common.varoot_password.Value = $AT_ROOT_PASSWORD
57
+
58
+ # App Transformer Username
59
+ $ovfconfig.Common.iris.username.value = $AT_USERNAME
60
+
61
+ # App Transformer Password
62
+ $ovfconfig.Common.iris.password.value = $AT_PASSWORD
63
+
64
+ # App Transformer Encryption Password
65
+ $ovfconfig.Common.iris.encryption_password.value = $AT_ENCRYPTION_PASSWORD
66
+
67
+ # Install Embedded Harbor
68
+ $ovfconfig.Common.install_harbor.value = $AT_INSTALL_EMBEDDED_HARBOR
69
+
70
+ # NTP
71
+ $ovfconfig.Common.appliance.ntp.Value = $AT_NTP
72
+
73
+ # Deploy the OVF/OVA with the config parameters
74
+ Write-Host - ForegroundColor Green " Deploying Application Transformer for VMware Tanzu OVA ..."
75
+ $vm = Import-VApp - Source $ovffile - OvfConfiguration $ovfconfig - Name $AT_DISPLAY_NAME - VMHost $vmhost - Datastore $datastore - DiskStorageFormat thin
76
+
77
+ # Power On the App Transformer VM after deployment
78
+ Write-Host - ForegroundColor Green " Powering on App Transformer ..."
79
+ $vm | Start-VM - Confirm:$false | Out-Null
80
+
81
+ # Waiting for App Transformer to initialize
82
+ while (1 ) {
83
+ try {
84
+ $requests = Invoke-WebRequest - Uri " https://${AT_IP} :443" - Method GET - SkipCertificateCheck - TimeoutSec 5
85
+
86
+ if ($requests.StatusCode -eq 200 ) {
87
+ Write-Host - ForegroundColor Green " App Transformer is now ready!"
88
+ break
89
+ }
90
+ }
91
+ catch {
92
+ Write-Host - ForegroundColor Yellow " App Transformer is not ready yet, sleeping for 120 seconds ..."
93
+ sleep 120
94
+ }
95
+ }
0 commit comments