Skip to content

Commit 2aba593

Browse files
author
William Lam
committed
Add Application Tranformer for VMware Tanzu deployment scripts
1 parent cf06468 commit 2aba593

File tree

2 files changed

+151
-0
lines changed

2 files changed

+151
-0
lines changed
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
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+
}

shell/deploy_app_transformer_ova.sh

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# Author: William Lam
2+
# Website: www.williamlam.com
3+
# Script to deploy Application Transformer for VMware Tanzu
4+
5+
# ovftool path
6+
OVFTOOL_BIN="/Applications/VMware OVF Tool//ovftool"
7+
8+
# App Transformer OVA
9+
AT_OVA="/Users/lamw/Download/App-Transformer-1.0.0.XXX.ova"
10+
11+
# vCenter
12+
VCENTER_HOSTNAME="vcsa.primp-industries.local"
13+
VCENTER_USERNAME="[email protected]"
14+
VCENTER_PASSWORD="VMware1!"
15+
VCENTER_DATACENTER="Primp-Datacenter"
16+
VCENTER_CLUSTER="Supermicro-Cluster"
17+
18+
# Deployment Configuration
19+
AT_DISPLAY_NAME="at.primp-industries.local"
20+
AT_PORTGROUP="Management"
21+
AT_DATASTORE="sm-vsanDatastore"
22+
AT_IPADDRESS="192.168.30.172"
23+
AT_NETMASK="255.255.255.0"
24+
AT_GATEWAY="192.168.30.1"
25+
AT_DNS="192.168.30.2"
26+
AT_DNS_DOMAIN="primp-industries.local"
27+
AT_DNS_SEARCH="primp-industries.local"
28+
AT_NTP="pool.ntp.org"
29+
AT_ROOT_PASSWORD="VMware1!VMware1!"
30+
AT_USERNAME="admin"
31+
AT_PASSWORD="VMware1!VMware1!"
32+
AT_ENCRYPTION_PASSWORD="VMware1!VMware1!"
33+
AT_INSTALL_EMBEDDED_HARBOR="True"
34+
35+
############## DO NOT EDIT BEYOND HERE #################
36+
37+
echo "Deploying Application Transformer for VMware Tanzu OVA: ${AT_DISPLAY_NAME} ..."
38+
"${OVFTOOL_BIN}" --powerOn --acceptAllEulas --noSSLVerify --skipManifestCheck \
39+
"--net:Appliance Network=${AT_PORTGROUP}" \
40+
--datastore=${AT_DATASTORE} \
41+
--diskMode=thin \
42+
--name=${AT_DISPLAY_NAME} \
43+
--prop:vami.ip0.Application_Transformer_for_VMware_Tanzu=${AT_IPADDRESS} \
44+
--prop:vami.netmask0.Application_Transformer_for_VMware_Tanzu=${AT_NETMASK} \
45+
--prop:vami.gateway.Application_Transformer_for_VMware_Tanzu=${AT_GATEWAY} \
46+
--prop:vami.DNS.Application_Transformer_for_VMware_Tanzu=${AT_DNS} \
47+
--prop:vami.domain.Application_Transformer_for_VMware_Tanzu=${AT_DNS_DOMAIN} \
48+
--prop:vami.searchpath.Application_Transformer_for_VMware_Tanzu=${AT_DNS_SEARCH} \
49+
--prop:varoot_password=${AT_ROOT_PASSWORD} \
50+
--prop:iris.username=${AT_USERNAME} \
51+
--prop:iris.password=${AT_PASSWORD} \
52+
--prop:iris.encryption_password=${AT_ENCRYPTION_PASSWORD} \
53+
--prop:install_harbor=${AT_INSTALL_EMBEDDED_HARBOR} \
54+
--prop:appliance.ntp=${AT_NTP} \
55+
${AT_OVA} \
56+
vi://${VCENTER_USERNAME}:${VCENTER_PASSWORD}@${VCENTER_HOSTNAME}/${VCENTER_DATACENTER}/host/${VCENTER_CLUSTER}

0 commit comments

Comments
 (0)