Swarm token joining
## Manager
provisioner "remote-exec" {
inline = [
"echo '10.0.10.100 ucp.local' | sudo tee --append /etc/hosts",
"echo '10.0.10.200 dtr.local' | sudo tee --append /etc/hosts",
"sudo cat /home/ubuntu/key.pub > ~/.ssh/authorized_keys",
"cd /tmp",
"wget ${var.ee_url}",
"sudo dpkg -i docker*",
"sudo apt-get update && sudo apt-get -f install -y",
"sudo docker swarm init --advertise-addr ${azurerm_public_ip.ucp_pip.ip_address}",
"sudo docker swarm join-token --quiet worker > /home/ubuntu/token",
"sleep 20",
"sudo docker run --rm --name ucp -v /var/run/docker.sock:/var/run/docker.sock docker/ucp install --admin-username \"${var.ucp-admin_username}\" --admin-password \"${var.ucp-admin_password}\" --san ucp.local --license $(cat /home/ubuntu/docker_subscription.lic)"
]
}
## Worker
provisioner "remote-exec" {
inline = [
"echo '10.0.10.100 ucp.local' | sudo tee --append /etc/hosts",
"echo '10.0.10.200 dtr.local' | sudo tee --append /etc/hosts",
"cd /tmp",
"wget ${var.ee_url}",
"sudo dpkg -i docker*",
"sudo apt-get update && sudo apt-get -f install -y",
"sudo chmod 400 /home/ubuntu/key",
"sudo scp -o StrictHostKeyChecking=no -o NoHostAuthenticationForLocalhost=yes -o UserKnownHostsFile=/dev/null -i /home/ubuntu/key ubuntu@${azurerm_public_ip.ucp_pip.ip_address}:/home/ubuntu/token /home/ubuntu/token",
"sudo docker swarm join --token $(cat /home/ubuntu/token) ${azurerm_public_ip.ucp_pip.ip_address}:2377",
"sleep 30",
"sudo docker run --rm docker/dtr install --ucp-url https://${azurerm_public_ip.ucp_pip.ip_address} --ucp-node dtr --dtr-external-url https://dtr.local --ucp-username \"${var.ucp-admin_username}\" --ucp-password \"${var.ucp-admin_password}\" --ucp-insecure-tls",
"sudo sh -c 'curl -k https://${azurerm_public_ip.dtr_pip.ip_address}/ca -o /usr/local/share/ca-certificates/dtr.local.crt'",
"sudo update-ca-certificates",
"sudo systemctl restart docker"
]
}