Coder Social home page Coder Social logo

terraforming-azure's Introduction

How Does One Use This?

Please note that the master branch is generally unstable. If you are looking for something "tested", please consume one of our releases.

What Does This Do?

Will go from zero to having a deployed ops-manager. You'll get networking, a storage account, and a booted ops-manager VM.

Looking to setup a different IAAS

We have have other terraform templates to help you!

Prerequisites

brew update
brew install terraform

Creating An Automation Account

You need an automation account to deploy anything on top of Azure. However, before you can create an automation account you must be able to log into the Azure portal.

First, find your account by running the following commands using the Azure CLI:

azure login
azure account list

To create the automation account, you need az-automation. You can use brew or go to the releases and get the necessary binary.

brew tap genevieve/tap
brew install az-automation

Then run:

az-automation \
  --account some-account-id \
  --identifier-uri http://example.com \
  --display-name some-display-name \
  --credential-output-file some-credentials.tfvars

The file created as an output here should include the following:

subscription_id = "some-subscription-id"
tenant_id       = "some-tenant-id"
client_id       = "some-client-id"
client_secret   = "some-client-secret"

Var File

Copy the stub content below into a file called terraform.tfvars and put it in the root of this project. These vars will be used when you run terraform apply. You should fill in the stub values with the correct content.

subscription_id = "some-subscription-id"
tenant_id       = "some-tenant-id"
client_id       = "some-client-id"
client_secret   = "some-client-secret"

env_name              = "banana"
env_short_name        = "banana"
ops_manager_image_uri = "url-to-opsman-image"
location              = "West US"
dns_suffix            = "some.domain.com"

Variables

  • env_name: (required) An arbitrary unique name for namespacing resources
  • env_short_name: (required) Used for creating storage accounts. Must be a-z only, no longer than 10 characters
  • subscription_id: (required) Azure account subscription id
  • tenant_id: (required) Azure account tenant id
  • client_id: (required) Azure automation account client id
  • client_secret: (required) Azure automation account client secret
  • ops_manager_image_uri: (required) URL for an OpsMan image hosted on Azure
  • location: (required) Azure location to stand up environment in
  • dns_suffix: (required) Domain to add environment subdomain to

Optional

When deploying the isolation segments tile you can optionally route traffic through a separate domain and load balancer by specifying:

  • isolation_segment: (default false) Creates a DNS record and load balancer for isolation segment network traffic when set to true.

Running

Note: please make sure you have created the terraform.tfvars file above as mentioned.

Standing up environment

terraform init
terraform plan -out=plan
terraform apply plan

Tearing down environment

terraform destroy

terraforming-azure's People

Contributors

genevieve avatar wendorf avatar rainmaker avatar davewalter avatar ryanmoran avatar rowanjacobs avatar amohemed avatar dtimm avatar cwlbraa avatar desmondrawls avatar drich10 avatar ljfranklin avatar utako avatar zachgersh avatar

Watchers

hbombonato avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.