Skip to content

Pave for Concourse

In this lab, you will create infrastructure resources necessary to support running an Operations Manager, BOSH director, and a Concourse instance.

Obtain terraform scripts

  • Navigate to the following GitHub repository
  • On your jumpbox, navigate to ~/workspace
  • Clone the above git repository and navigate into it

Study the contents of your copy of the repository.

Study network.tf

  • What resources does it create?
  • What is the name of the network and subnet that will be created
  • What other resources (besides networks) will be created?

Study ops-manager.tf

  • Will an Operations Manager VM be created?
  • What other resources will be created that pertain to an Operations Manager?

Study concourse.tf

  • What is the principal resource that is created in this file?

Study and execute the instructions

Review the README file from the repository.

Follow the steps, as applicable, outlined in the README file.

Note that:

  • You already created the DNS zone in the first lab, so skip the first instruction to create one.
  • As you edit your terraform.tfvars file, be sure to set the environment name and dns zone name to those same values used in the first lab.
  • Use the contents of your terraform.key.json for the service account.

The last instruction, terraform apply, executes the plan and creates the resources discussed above.

Save the Output

The resources just created will serve as inputs in subsequent labs as we provision the Ops Manager, Bosh Director, and Concourse.

Save the output of the terraform run as follows:

terraform output stable_config > ../terraform-outputs.yml

Verify that you now have a file by the name of terraform-outputs.yml under ~/workspace.

Here is a handy command to pretty-print this output from the yaml file:

yq read --colors --prettyPrint terraform-outputs.yml

Verify

In a browser, navigate to your GCP dashboard.

Visit these sections of GCP:

  • Compute Engine: were any VMs created?
  • VPC network: can you see that a network and subnet were created?
  • External IP Addresses. What static IP addresses have been created?
  • Cloud DNS. What A records were created?
  • Load Balancing. Are there any load balancers? What is the name of the target pool?
  • Firewall rules. How is ingress configured for the Ops Manager?