All Projects → isaaguilar → terraform-operator

isaaguilar / terraform-operator

Licence: Apache-2.0 license
A Kubernetes CRD to handle terraform operations

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects
Dockerfile
14818 projects
Makefile
30231 projects
HCL
1544 projects

Projects that are alternatives of or similar to terraform-operator

Service Level Operator
Manage application's SLI and SLO's easily with the application lifecycle inside a Kubernetes cluster
Stars: ✭ 260 (+27.45%)
Mutual labels:  controller, operator
Eventrouter
A simple introspective kubernetes service that forwards events to a specified sink.
Stars: ✭ 671 (+228.92%)
Mutual labels:  controller, operator
litmus-helm
Helm Charts for the Litmus Chaos Operator & CRDs
Stars: ✭ 23 (-88.73%)
Mutual labels:  operator, helm-chart
Gontroller
Go library to create resilient feedback loop/control controllers.
Stars: ✭ 121 (-40.69%)
Mutual labels:  controller, operator
whitebox-controller
Extensible generic controller for Kubernetes
Stars: ✭ 34 (-83.33%)
Mutual labels:  controller, operator
kube-code-generator
Kubernetes code generator docker image
Stars: ✭ 60 (-70.59%)
Mutual labels:  controller, operator
Kooper
Kooper is a simple Go library to create Kubernetes operators and controllers.
Stars: ✭ 388 (+90.2%)
Mutual labels:  controller, operator
Nats Streaming Operator
NATS Streaming Operator
Stars: ✭ 167 (-18.14%)
Mutual labels:  controller, operator
vpc-peering-operator
A Kubernetes Operator to manage the lifecycle of AWS VPC Peering Connections
Stars: ✭ 23 (-88.73%)
Mutual labels:  controller, operator
carvel-secretgen-controller
secretgen-controller provides CRDs to specify what secrets need to be on Kubernetes cluster (to be generated or not)
Stars: ✭ 54 (-73.53%)
Mutual labels:  controller, operator
bilrost
Kubernetes controller/operator to set up OAUTH2/OIDC security on any ingress based service
Stars: ✭ 17 (-91.67%)
Mutual labels:  controller, operator
docker-zerotier-controller
Dockernized ZeroTierOne Controller
Stars: ✭ 170 (-16.67%)
Mutual labels:  controller
oracle-database-operator
The Oracle Database Operator for Kubernetes (a.k.a. OraOperator) helps developers, DBAs, DevOps and GitOps teams reduce the time and complexity of deploying and managing Oracle Databases. It eliminates the dependency on a human operator or administrator for the majority of database operations.
Stars: ✭ 74 (-63.73%)
Mutual labels:  operator
nest-abstract
NestJs Abstraction Helper
Stars: ✭ 36 (-82.35%)
Mutual labels:  controller
thunder
REST API application that manages user databases
Stars: ✭ 22 (-89.22%)
Mutual labels:  helm-chart
cloudformation-operator
A Kubernetes operator for managing CloudFormation stacks via a CustomResource
Stars: ✭ 98 (-51.96%)
Mutual labels:  kubernetes-crd
namespace-provisioner
A Kubernetes operator creating K8s resources by annotating namespaces
Stars: ✭ 52 (-74.51%)
Mutual labels:  operator
k8s-notify
Turn kubernetes events into useful notifications & alerts
Stars: ✭ 46 (-77.45%)
Mutual labels:  operator
hull
The incredible HULL - Helm Uniform Layer Library - is a Helm library chart to improve Helm chart based workflows
Stars: ✭ 66 (-67.65%)
Mutual labels:  helm-chart
Xb2XInput
XB2X: User-mode Windows driver for Xbox OG controllers, supporting both XInput and DirectInput.
Stars: ✭ 70 (-65.69%)
Mutual labels:  controller

Terraform Operator

A Kubernetes CRD and Controller to handle Terraform operations by generating k8s jobs catered to perform Terraform workflows

Terraform Operator Logo

What is terraform-operator?

This project is:

  • A way to run Terraform in Kubernetes by defining Terraform deployments as Kubernetes manifests
  • A controller that configures and starts Terraform Workflows when it sees changes to the Kubernetes manifest
  • Workflow runner pods that execute Terraform plan/apply and other user-defined scripts

This project is not:

  • An HCL to YAML converter or vice versa
  • A Terraform Module or Registry

Docs

Visit http://tf.isaaguilar.com for docs for version >= v0.5.x.

Terraform Operator Workflow Diagram

Debug With tfo CLI

Terraform is great, but every now and then, a module takes a turn for the worse and the workflow fails. When this happens, a terraform workflow will need to be "debugged."

Fortunately, the tfo cli (https://github.com/isaaguilar/terraform-operator-cli) can be used to start a debug pod which is connected directly to the same terraform session the workflow runs. It does so by reading the TFO resource and generates a pod with the same environment vars, ConfigMaps, Secrets, and ServiceAccount as a regular workflow pod. Then it drops the user in a shell directly in the main module.

tfo debug my-tfo-resource --namespace default

The user should be ready to rock-n-roll and show off their mad debugging skills.

Connecting to my-tfo-resource-ca6ajn94-v2-debug-qmjd5.....

Try running 'terraform init'

/home/tfo-runner/generations/2/main$

Happy debugging!

Join the Community

Currently, I'm experimenting with a Discord channel. It may be tough when taking into account juggling a full time job and full time parenting, but I'll see what comes of it. Join the channel https://discord.gg/J5vRmT2PWg

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].