BOSH Setup

by Bin Xia
Last updated: 30/01/2018

This template helps you setup a development environment where you can deploy BOSH and Cloud Foundry.

This Azure Resource Manager (ARM) template was created by a member of the community and not by Microsoft. Each ARM template is licensed to you under a licence agreement by its owner, not Microsoft. Microsoft is not responsible for ARM templates provided and licensed by community members and does not screen for security, compatibility or performance. Community ARM templates are not supported under any Microsoft support programme or service, and are made available AS IS without warranty of any kind.

Parameters

Parameter Name Description
vmName name of the vm, will be used as DNS Name for the Public IP used to access the Virtual Machine
ubuntuOSVersion OS version of Ubuntu
adminUsername User name for the Virtual Machine
sshKeyData Please copy the content of your SSH RSA public key and paste it here. You can use "ssh-keygen -t rsa -b 2048" to generate your SSH key pairs.
_artifactsLocation The base URI where artifacts required by this template are located. When the template is deployed using the accompanying scripts, a private location in the subscription will be used and this value will be automatically generated.
environment Different environments in Azure. Choose AzureCloud for Global Azure, choose AzureChinaCloud for Azure China Cloud, choose AzureUSGovernment for Azure Government, choose AzureGermanCloud for German cloud.
servicePrincipalType Service principal supports two types: with a password or with a certificate
tenantID Tenant ID
clientID Client ID or application ID
clientSecret Password of the service principal. See https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli?toc=%2Fazure%2Fazure-resource-manager%2Ftoc.json&view=azure-cli-latest#create-a-service-principal-for-your-application
certificate Base64-encoded Certificate of the service principal. You can run "cat <PATH_TO_YOUR_PEM_CERTIFICATE> | base64 -w 0", and input the result. See https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli?toc=%2Fazure%2Fazure-resource-manager%2Ftoc.json&view=azure-cli-latest#create-a-service-principal-for-your-application
azureStackDomain Azure Stack deployment domain. Please check https://github.com/cloudfoundry-incubator/bosh-azure-cpi-release/tree/master/docs/advanced/azure-stack.
azureStackResource Azure Stack Active Directory Service Endpoint Resource ID. Please check https://github.com/cloudfoundry-incubator/bosh-azure-cpi-release/tree/master/docs/advanced/azure-stack.
azureStackAuthentication Azure Stack Authentication. Please check https://github.com/cloudfoundry-incubator/bosh-azure-cpi-release/tree/master/docs/advanced/azure-stack.
azureStackCARootCertificate Azure Stack CA root certificate, which is base64 encoded. Get the Azure Stack CA root certificate from the Azure Stack operator, run "cat <PATH_TO_YOUR_PEM_CERTIFICATE> | base64 -w 0", and input the result. If not provided, "/var/lib/waagent/Certificates.pem" will be used. Please check https://github.com/cloudfoundry-incubator/bosh-azure-cpi-release/tree/master/docs/advanced/azure-stack#azure-stack-properties.
useAvailabilityZones The flag to enable availability zones in cloud config
autoDeployBosh The flag allowing to deploy BOSH director automatically or not
boshVmSize Please check if the region support this VM size https://azure.microsoft.com/en-us/regions/#services. For more information about virtual machine sizes, see https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-linux-sizes/
autoDeployCloudFoundry The flag allowing to deploy Cloud Foundry automatically or not

Use the template

PowerShell

New-AzureRmResourceGroupDeployment -Name <deployment-name> -ResourceGroupName <resource-group-name> -TemplateUri https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/bosh-setup/azuredeploy.json
Installing and configuring Azure PowerShell

Command line

azure config mode arm
azure group deployment create <my-resource-group> <my-deployment-name> --template-uri https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/bosh-setup/azuredeploy.json
Installing and configuring the Azure cross-platform command-line interface