Skip to content

millingworth/sausage-terraform-example

Repository files navigation

sausage-terraform-example

  • For this example I already had a nameserver record for the 'cloud' subdomain pointing to dns.sausage.cloud

  • Install python3 + python3-pip + tox

    • sudo apt update; sudo apt -y install python3 python3-pip tox
  • Setup virtualenv / terraform etc

    • make install
  • Test terraform

    • source your_openstack_creds <- Your openstack creds can be downloaded from within the GUI, top right menu > Openstack RC file.
    • source ./venv/bin/activate
    • make plan
  • Deploy terraform plan

    • make apply
  • Notes

    • Import existing DNS zone into terraform
      • openstack zone list <- Make a note of UUID
      • ./terraform import openstack_dns_zone_v2.zone_cloud_mattillingworth_com UUID_HERE
    • Import existing keypair into terraform
      • openstack keypair list <- Make a note of the name
      • ./terraform import openstack_compute_keypair_v2.matt_illingworth_key "Matt Illingworth"
    • Destroying the resources
      • The DNZ zone has the prevent_destroy = true flag which will stop a simple './terraform destroy' from working. To remove you must target the resource:
      • ./terraform destroy -target openstack_compute_instance_v2.example1
      • ./terraform destroy -target openstack_networking_secgroup_v2.allow_admin

About

Standing up a sausage with terraform

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors