Write Terraform (HCL) and Kubernetes (YAML) in Go. see Rationale for more details.
Lingon is not a platform, it is a thin wrapper around terraform and kubernetes API in a library meant to be consumed in a Go application that platform engineers write to manage their platforms. It is a tool to build and automate the creation and the management of platforms regardless of the target infrastructure and services.
- import kubernetes YAML manifests to valid Go code (even CRDs)
kube.Import
- export Go code to kubernetes YAML manifests
kube.Export
- generate Go code from Terraform providers
terragen.GenerateProviderSchema
andterragen.GenerateGoCode
- export terraform Go code to valid Terraform HCL
terra.Export
The only dependencies you need are:
- Go
- Terraform CLI
- kubectl
Lingon is aimed at advanced platform teams who need to automate the lifecycle of their cloud infrastructure and have suffered the pain of configuration languages and complexity of gluing tools together with more tools.
This project is in beta. The APIs are stable, but we do not promise backward compatibility at this point. We will eventually promise backward compatibility when the project is more battle tested.
This was a proof-of-concept at volvo-cars. Unfortunately the project for which Lingon was being developed ended. The original authors (jacob and julien) believe in the concept and are now maintainers of this project and will make sure it is healthy and receives updates.
See FAQ for more details.