borgoat / transponder

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Terraform Transponder

Go Report Card

IMPORTANT

Transponder is compatible with Terraform 0.12 (currently in beta).

Transponder is meant to offer 2 features:

  • a remote state backend for Terraform w/ support for locking
  • a generic, language-independent, API to query the current (and possibly past) state

The code is organised as follows:

  • server: the listener answering Terraform when changes are planned or applied. For the time being, this is compatible with the http backend. In the future, a specific client implementation (i.e. on Terraform side), could be created.
  • statemgrmap: store and retrieve the .tfstate file, with support for versions and multitenancy
  • transformer: the external API is implemented here

TODO
  • Implement auth for the HTTP backend
  • Support namespaces and workspaces
  • Develop a custom client+backend
  • GraphQL access
  • "Raw" Terraform address access
  • Distributed implementation of statemgr.Full