Documentation ¶
Overview ¶
Lingon is a collection of libraries and tools for building platforms using Go.
The following technologies are currently supported:
- Terraform
- Kubernetes
The only dependencies you need are:
- Go
- Terraform CLI
- kubectl
The packages currently available are:
Kube ¶
[kube.App] struct that is embedded to mark kubernetes applications
[kube.Export] converts kubernetes objects defined as Go struct to kubernetes manifests in YAML. - [kube.Explode] kubernetes manifests in YAML to multiple files, organized by namespace.
[kube.Import] converts kubernetes manifests in YAML to Go structs.
Kubeconfig ¶
utility package to read and merge kubeconfig files without any dependencies on `go-client`.
Kubeutil ¶
Reusable functions used to create and validate kubernetes objects in Go.
Terra ¶
Core functionality for working with Terraform.
- [terra.Export] converts a [terra.Stack] to HCL files.
Terragen ¶
Generate Go code for Terraform providers. - [terragen.GenerateProviderSchema] generates a terraform provider JSON schema from terraform provider registry. - [terragen.GenerateGoCode] converts a terraform provider schema to Go structs.
Testutils ¶
Reusable test functions.
[kube.Export]: https://pkg.go.dev/github.com/golingon/lingon/pkg/kube#Export [kube.Explode]: https://pkg.go.dev/github.com/golingon/lingon/pkg/kube#Explode [kube.Import]: https://pkg.go.dev/github.com/golingon/lingon/pkg/kube#Import [kube.App]: https://pkg.go.dev/github.com/golingon/lingon/pkg/kube#App [terra.Export]: https://pkg.go.dev/github.com/golingon/lingon/pkg/terra#Export [terragen.GenerateProviderSchema]: https://pkg.go.dev/github.com/golingon/lingon/pkg/terragen#GenerateProviderSchema [terragen.GenerateGoCode]: https://pkg.go.dev/github.com/golingon/lingon/pkg/terragen#GenerateGoCode
Directories ¶
Path | Synopsis |
---|---|
cmd
|
|
explode
Explode is a command line tool to organize kubernetes manifests according to their kind.
|
Explode is a command line tool to organize kubernetes manifests according to their kind. |
kygo
Kygo is a command line tool to convert kubernetes YAML manifests to Go structs.
|
Kygo is a command line tool to convert kubernetes YAML manifests to Go structs. |
terragen
Terragen generates Go code for Terraform providers.
|
Terragen generates Go code for Terraform providers. |
docs
module
|
|
pkg
|
|
internal/terrajen
Package terrajen implements a Go code generator for terraform.
|
Package terrajen implements a Go code generator for terraform. |
kube
Package kube provides APIs to convert Kubernetes manifests YAML from and to Go code.
|
Package kube provides APIs to convert Kubernetes manifests YAML from and to Go code. |
kubeconfig
Package kubeconfig provides a simple way to manipulate kubeconfig files.
|
Package kubeconfig provides a simple way to manipulate kubeconfig files. |
kubeutil
Package kubeutil provides helper functions to create and manipulate kubernetes basic types.
|
Package kubeutil provides helper functions to create and manipulate kubernetes basic types. |
terra
Package terra provides the core functionality for working with Terraform.
|
Package terra provides the core functionality for working with Terraform. |
terragen
Package terragen provides a simple way to generate Go code from a terraform provider.
|
Package terragen provides a simple way to generate Go code from a terraform provider. |
testutil
Package testutils provides utilities for testing.
|
Package testutils provides utilities for testing. |
x/sylt
Package sylt implements a workflow and actions engine for lingon.
|
Package sylt implements a workflow and actions engine for lingon. |