No description
  • JavaScript 95.1%
  • HTML 2.8%
  • HCL 1.5%
  • PowerShell 0.6%
Find a file
oss-core-libraries-dashboard[bot] 80382618b7
[COMPLIANCE] Update Copyright and License Headers (#6)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2026-02-20 15:30:18 +05:30
terraform Updated config 2017-10-19 14:06:24 +01:00
WebQuake Removed node modules 2017-09-04 20:46:34 +01:00
.gitignore Initial commit 2017-08-24 17:52:47 +01:00
LICENSE [COMPLIANCE] Update Copyright and License Headers (#6) 2026-02-20 15:30:18 +05:30
README.md Removed node modules 2017-09-04 20:46:34 +01:00

terraform-quake-azure

Example repo to run a Quake client and server on Azure and Azure Container Service with Terraform

  1. Install Terraform
  2. Create a storage account and fetch the Access Key for the environment variables.
  3. Set the following environment variables for your account:
# Azure
export TF_VAR_subscription_id="xxxxxxxxxxxxxxxxxxxx"
export TF_VAR_client_id="xxxxxxxxxxxxxxxxxxxx"
export TF_VAR_client_secret="xxxxxxxxxxxxxxxxxxxx"
export TF_VAR_tenant_id="xxxxxxxxxxxxxxxxxxxx"

# FOR REMOTE STORAGE ACCOUNT
export ARM_ACCESS_KEY="xxxxxxxxxxxxxxxxxxxxx"
export REMOTE_STATE_ACCOUNT="storage_account_name"

# AWS
export AWS_ACCESS_KEY_ID=xxxxxxxxxxxxxxxxxxxxx
export AWS_SECRET_ACCESS_KEY=xxxxxxxxxxxxxxxxxxxxx
export AWS_REGION=eu-west-1

Terraform Config

Core terraform/core

  • remote state
  • resource group
  • container service cluster

Running

 cd terraform/core

 # Set storage_account_name not supported currently by interpolation
 sed "s/nictfremotestate/$REMOTE_STATE_ACCOUNT/g" -i terraform.tf
 
 # Install modules and fetch plugins
 terraform init

 # Run a plan to see what changes will be made
 terraform plan

 # Apply the changes
 terraform apply

K8s Service terraform/k8s-service

  • references remote state in core
  • k8s pod
  • k8s service
  • dns, AWS Route 53

Running

 cd terraform/k8s-service

 # Set storage_account_name not supported currently by interpolation
 sed "s/nictfremotestate/$REMOTE_STATE_ACCOUNT/g" -i terraform.tf

 # Install modules and fetch plugins
 terraform init

 # Run a plan to see what changes will be made
 terraform plan

 # Apply the changes
 terraform apply

VM terraform/vm

  • references remote state in core
  • Windows VM
  • virtual network
  • security group
  • managed disks
  • dns, AWS Route 53
  • virt machine extension
  • remote provisioning with Powershell

Running

 cd terraform/core

 # Set storage_account_name not supported currently by interpolation
 sed "s/nictfremotestate/$REMOTE_STATE_ACCOUNT/g" -i terraform.tf
 
 # Install modules and fetch plugins
 terraform init

 # Run a plan to see what changes will be made
 terraform plan

 # Apply the changes
 terraform apply