A dashboard that helps centralize and monitor disparate Terraform states.
TFSOA accepts pushes of Terraform states and digraph output.
- Versioned backups of state
- Generate graph visual from digraph
- Dashboard to track useful state information
The Terraform version, JSON serial, JSON version and entire state are serialized saved. TFSOA uses this information across a multitude of states to present a single dashboard interface to view statistics on all Terraform states.
bundle exec rake db:environment:set
bundle exec rake db:setup
bundle exec rake db:migrate
Place behind and SSL endpoint like an Nginx, ELB or Haproxy to handle SSL. Terraform states typically contain sensative information.
rackup
This will start a rack server on port 9292
- team (team name that owns this tf state)
- product (my companies new product this supports)
- service (service name, or project name)
- environment (dev, stage, prod)
curl 127.0.0.1:9292/tfsoa/add_tf_state/team/product/service/environment/ \
-H "Content-Type: application/json" \
-X \
POST -d @.terraform/terraform.tfstate
terraform graph \
| curl -d @- http://localhost:9292/tfsoa/add_tf_graph/comms/trulia/someservice/prod/
Current entity-relationship diagram
Thanks to Smashing gem for providing a solid framework for tfsoa to utilize