This repo aims to take a cloud-like approach, leveraging terraform and cloud-init to deploy BIG-IPs:
Similar to goal described here:
Go to:
- providers/[provider]/plans for deployment details.
- providers/[provider]/modules for various modules used.
These examples create multiple instances leveraging counts on the module level (vs. built into the module itself).
As terraform is client clode and not a hosted service, there's no elegant way to signal deployment is complete (safe to login, etc.) to terraform itself. For example, cfn-init which sends webhook to Cloudformation.
Hence to report success and measure onboarding times, a common workaround is using the last resort provisioner approach.
Disclaimer: For simplicity/illustration purposes, example full-stack plans (w/ application) currently have non-realistic patterns to facilitate various tests (vs. a prod like approach you would seperate Day 0 (infrastructure as code to deploy instances / cloud resources) vs. Day 1-N (traditional ongoing Config Mgmt that is required with maintaining infrastructure). The modules do however strictly provide traditional Day 0 functionality.
Official
- https://github.com/F5Networks/terraform-aws-bigip-module
- https://github.com/F5Networks/terraform-azure-bigip-module
- https://github.com/F5Networks/terraform-gcp-bigip-module
Solutions
Day 0 vs. Day 1