├── .gitignore ├── LICENSE ├── Makefile ├── README.md ├── cmd └── manager │ └── main.go ├── deploy ├── crds │ └── tf.isaaguilar.com_terraforms_crd.yaml ├── operator.yaml ├── role.yaml ├── role_binding.yaml └── service_account.yaml ├── docker └── terraform │ ├── backend.tf │ ├── build.sh │ ├── run.sh │ └── terraform.Dockerfile ├── docs ├── README.md ├── advanced │ ├── authentication-for-git.md │ ├── git-tokens.md │ ├── proxy.md │ └── ssh-keys.md ├── architecture.md ├── extra-features.md ├── limitations.md ├── modules-and-configs.md ├── operator-actions.md ├── provider-credentials.md ├── terraform-runners.md └── terraform-state.md ├── examples ├── complete-examples │ ├── gcp-simple-template.yaml │ ├── irsa-role-and-policy.yaml │ └── simple-template.yaml ├── custom-backend │ └── terraform.yaml ├── export-tfvars │ └── terraform.yaml ├── iam-role-and-policy │ └── terraform.yaml ├── operator-actions │ └── terraform.yaml ├── postrun-script │ └── terraform.yaml ├── prerun-script │ └── terraform.yaml ├── private-ssh-git-repo-via-ssh-tunnel │ └── terraform.yaml ├── public-https-git-repo-protected │ └── terraform.yaml ├── public-https-git-repo │ └── terraform.yaml ├── public-ssh-git-repo │ └── terraform.yaml ├── template-files-from-git │ └── terraform.yaml └── tfvar-file-from-git │ └── terraform.yaml ├── go.mod ├── go.sum ├── hack ├── boilerplate.go.txt └── list-runner-images.sh ├── pkg ├── apis │ ├── addtoscheme_tf_v1alpha1.go │ ├── apis.go │ └── tf │ │ ├── group.go │ │ └── v1alpha1 │ │ ├── doc.go │ │ ├── register.go │ │ ├── terraform_types.go │ │ ├── zz_generated.deepcopy.go │ │ └── zz_generated.openapi.go ├── client │ └── clientset │ │ └── versioned │ │ ├── clientset.go │ │ ├── doc.go │ │ ├── fake │ │ ├── clientset_generated.go │ │ ├── doc.go │ │ └── register.go │ │ ├── scheme │ │ ├── doc.go │ │ └── register.go │ │ └── typed │ │ └── tf │ │ └── v1alpha1 │ │ ├── doc.go │ │ ├── fake │ │ ├── doc.go │ │ ├── fake_terraform.go │ │ └── fake_tf_client.go │ │ ├── generated_expansion.go │ │ ├── terraform.go │ │ └── tf_client.go ├── controllers │ └── terraform_controller.go ├── gitclient │ └── client.go └── utils │ └── utils.go ├── tfop_1.png └── tools.go /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/README.md -------------------------------------------------------------------------------- /cmd/manager/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/cmd/manager/main.go -------------------------------------------------------------------------------- /deploy/crds/tf.isaaguilar.com_terraforms_crd.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/deploy/crds/tf.isaaguilar.com_terraforms_crd.yaml -------------------------------------------------------------------------------- /deploy/operator.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/deploy/operator.yaml -------------------------------------------------------------------------------- /deploy/role.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/deploy/role.yaml -------------------------------------------------------------------------------- /deploy/role_binding.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/deploy/role_binding.yaml -------------------------------------------------------------------------------- /deploy/service_account.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/deploy/service_account.yaml -------------------------------------------------------------------------------- /docker/terraform/backend.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/docker/terraform/backend.tf -------------------------------------------------------------------------------- /docker/terraform/build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/docker/terraform/build.sh -------------------------------------------------------------------------------- /docker/terraform/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/docker/terraform/run.sh -------------------------------------------------------------------------------- /docker/terraform/terraform.Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/docker/terraform/terraform.Dockerfile -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/docs/README.md -------------------------------------------------------------------------------- /docs/advanced/authentication-for-git.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/docs/advanced/authentication-for-git.md -------------------------------------------------------------------------------- /docs/advanced/git-tokens.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/docs/advanced/git-tokens.md -------------------------------------------------------------------------------- /docs/advanced/proxy.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/docs/advanced/proxy.md -------------------------------------------------------------------------------- /docs/advanced/ssh-keys.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/docs/advanced/ssh-keys.md -------------------------------------------------------------------------------- /docs/architecture.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/docs/architecture.md -------------------------------------------------------------------------------- /docs/extra-features.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/docs/extra-features.md -------------------------------------------------------------------------------- /docs/limitations.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/docs/limitations.md -------------------------------------------------------------------------------- /docs/modules-and-configs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/docs/modules-and-configs.md -------------------------------------------------------------------------------- /docs/operator-actions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/docs/operator-actions.md -------------------------------------------------------------------------------- /docs/provider-credentials.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/docs/provider-credentials.md -------------------------------------------------------------------------------- /docs/terraform-runners.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/docs/terraform-runners.md -------------------------------------------------------------------------------- /docs/terraform-state.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/docs/terraform-state.md -------------------------------------------------------------------------------- /examples/complete-examples/gcp-simple-template.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/examples/complete-examples/gcp-simple-template.yaml -------------------------------------------------------------------------------- /examples/complete-examples/irsa-role-and-policy.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/examples/complete-examples/irsa-role-and-policy.yaml -------------------------------------------------------------------------------- /examples/complete-examples/simple-template.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/examples/complete-examples/simple-template.yaml -------------------------------------------------------------------------------- /examples/custom-backend/terraform.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/examples/custom-backend/terraform.yaml -------------------------------------------------------------------------------- /examples/export-tfvars/terraform.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/examples/export-tfvars/terraform.yaml -------------------------------------------------------------------------------- /examples/iam-role-and-policy/terraform.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/examples/iam-role-and-policy/terraform.yaml -------------------------------------------------------------------------------- /examples/operator-actions/terraform.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/examples/operator-actions/terraform.yaml -------------------------------------------------------------------------------- /examples/postrun-script/terraform.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/examples/postrun-script/terraform.yaml -------------------------------------------------------------------------------- /examples/prerun-script/terraform.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/examples/prerun-script/terraform.yaml -------------------------------------------------------------------------------- /examples/private-ssh-git-repo-via-ssh-tunnel/terraform.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/examples/private-ssh-git-repo-via-ssh-tunnel/terraform.yaml -------------------------------------------------------------------------------- /examples/public-https-git-repo-protected/terraform.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/examples/public-https-git-repo-protected/terraform.yaml -------------------------------------------------------------------------------- /examples/public-https-git-repo/terraform.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/examples/public-https-git-repo/terraform.yaml -------------------------------------------------------------------------------- /examples/public-ssh-git-repo/terraform.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/examples/public-ssh-git-repo/terraform.yaml -------------------------------------------------------------------------------- /examples/template-files-from-git/terraform.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/examples/template-files-from-git/terraform.yaml -------------------------------------------------------------------------------- /examples/tfvar-file-from-git/terraform.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/examples/tfvar-file-from-git/terraform.yaml -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/go.sum -------------------------------------------------------------------------------- /hack/boilerplate.go.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/hack/boilerplate.go.txt -------------------------------------------------------------------------------- /hack/list-runner-images.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/hack/list-runner-images.sh -------------------------------------------------------------------------------- /pkg/apis/addtoscheme_tf_v1alpha1.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/pkg/apis/addtoscheme_tf_v1alpha1.go -------------------------------------------------------------------------------- /pkg/apis/apis.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/pkg/apis/apis.go -------------------------------------------------------------------------------- /pkg/apis/tf/group.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/pkg/apis/tf/group.go -------------------------------------------------------------------------------- /pkg/apis/tf/v1alpha1/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/pkg/apis/tf/v1alpha1/doc.go -------------------------------------------------------------------------------- /pkg/apis/tf/v1alpha1/register.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/pkg/apis/tf/v1alpha1/register.go -------------------------------------------------------------------------------- /pkg/apis/tf/v1alpha1/terraform_types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/pkg/apis/tf/v1alpha1/terraform_types.go -------------------------------------------------------------------------------- /pkg/apis/tf/v1alpha1/zz_generated.deepcopy.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/pkg/apis/tf/v1alpha1/zz_generated.deepcopy.go -------------------------------------------------------------------------------- /pkg/apis/tf/v1alpha1/zz_generated.openapi.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/pkg/apis/tf/v1alpha1/zz_generated.openapi.go -------------------------------------------------------------------------------- /pkg/client/clientset/versioned/clientset.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/pkg/client/clientset/versioned/clientset.go -------------------------------------------------------------------------------- /pkg/client/clientset/versioned/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/pkg/client/clientset/versioned/doc.go -------------------------------------------------------------------------------- /pkg/client/clientset/versioned/fake/clientset_generated.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/pkg/client/clientset/versioned/fake/clientset_generated.go -------------------------------------------------------------------------------- /pkg/client/clientset/versioned/fake/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/pkg/client/clientset/versioned/fake/doc.go -------------------------------------------------------------------------------- /pkg/client/clientset/versioned/fake/register.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/pkg/client/clientset/versioned/fake/register.go -------------------------------------------------------------------------------- /pkg/client/clientset/versioned/scheme/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/pkg/client/clientset/versioned/scheme/doc.go -------------------------------------------------------------------------------- /pkg/client/clientset/versioned/scheme/register.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/pkg/client/clientset/versioned/scheme/register.go -------------------------------------------------------------------------------- /pkg/client/clientset/versioned/typed/tf/v1alpha1/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/pkg/client/clientset/versioned/typed/tf/v1alpha1/doc.go -------------------------------------------------------------------------------- /pkg/client/clientset/versioned/typed/tf/v1alpha1/fake/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/pkg/client/clientset/versioned/typed/tf/v1alpha1/fake/doc.go -------------------------------------------------------------------------------- /pkg/client/clientset/versioned/typed/tf/v1alpha1/fake/fake_terraform.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/pkg/client/clientset/versioned/typed/tf/v1alpha1/fake/fake_terraform.go -------------------------------------------------------------------------------- /pkg/client/clientset/versioned/typed/tf/v1alpha1/fake/fake_tf_client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/pkg/client/clientset/versioned/typed/tf/v1alpha1/fake/fake_tf_client.go -------------------------------------------------------------------------------- /pkg/client/clientset/versioned/typed/tf/v1alpha1/generated_expansion.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/pkg/client/clientset/versioned/typed/tf/v1alpha1/generated_expansion.go -------------------------------------------------------------------------------- /pkg/client/clientset/versioned/typed/tf/v1alpha1/terraform.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/pkg/client/clientset/versioned/typed/tf/v1alpha1/terraform.go -------------------------------------------------------------------------------- /pkg/client/clientset/versioned/typed/tf/v1alpha1/tf_client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/pkg/client/clientset/versioned/typed/tf/v1alpha1/tf_client.go -------------------------------------------------------------------------------- /pkg/controllers/terraform_controller.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/pkg/controllers/terraform_controller.go -------------------------------------------------------------------------------- /pkg/gitclient/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/pkg/gitclient/client.go -------------------------------------------------------------------------------- /pkg/utils/utils.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/pkg/utils/utils.go -------------------------------------------------------------------------------- /tfop_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/tfop_1.png -------------------------------------------------------------------------------- /tools.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-bud/terraform-operator/HEAD/tools.go --------------------------------------------------------------------------------