Skip to content

Latest commit

 

History

History
57 lines (37 loc) · 2.08 KB

File metadata and controls

57 lines (37 loc) · 2.08 KB

Quickstart

The instructions included with this Blueprint arent the clearest or easiest to understand. This Quickstart will fix that.

Assumptions

This quick start assumes the following:

  • Terraform (TF) 0.12.x is used
  • Terraform is installed and being run locally (no TF Cloud (TFC), TF Enterprise (TFE) or other automation)
  • Packer is installed and being run locally
  • Shared State is not used
  • You have access to an Azure Subscription

Prepare your local machine

  1. Configure an Azure AD (AAD) Service Principle (SP) for your local TF to connect to AAD. Hashicorp Docs
  2. git clone the repo to your local machine
  3. Create a terraform.tfvars file or copy the example one (terraform.tfvars.example) that is included and fill in the values you will use.

Prepare Azure

  1. Create the Resource Group
  2. Create the Storage Account. Note that the Storage Account must be created as Performance: Standard. The blob type used by Vault is not available when the SA is Performance: Premium.

Build your images

Assuming you're in the root of the repo you cloned.

Build the Consule image

  1. TODO

Build the Vault image

  1. Modify the ./examples/vault-consul-image/vault-consul.json to suit your needs
  2. cd ./examples/vault-consul-image
  3. packer build ./vault-consul.json

Packer will build the Azure image used by the Vault ScaleSet. The URI of the image will be output at completion. Copy this URI to the image_uri variable in your terraform.tfvars file.

Build your Cluster

With the images ready for use you can now deploy the Cluster.

  1. Run terraform init
  2. Run terraform plan
  3. If the plan looks good, run terraform apply
  4. Run the vault-examples-helper.sh script to print out the IP addresses of the Vault servers and some example commands you can run to interact with the cluster: ../vault-examples-helper/vault-examples-helper.sh.

Author

Name: Andrew Best Email: abest@diaxion.com GitHub: ausfestivus