{"id":28721796,"url":"https://github.com/galleybytes/infrakube","last_synced_at":"2026-05-06T08:34:48.726Z","repository":{"id":198604001,"uuid":"700902077","full_name":"GalleyBytes/infrakube","owner":"GalleyBytes","description":"Infrakubed - A Kubernetes Custom Resource used to handle Terraform, OpenTofu, and other Infrastructure as Code (IaC) operations and workflows","archived":false,"fork":false,"pushed_at":"2026-04-29T04:02:40.000Z","size":7926,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-29T05:12:08.010Z","etag":null,"topics":["automation","crd","kubernetes","opentofu","terraform","tofu"],"latest_commit_sha":null,"homepage":"https://tf.galleybytes.com","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GalleyBytes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-10-05T14:14:02.000Z","updated_at":"2026-04-19T02:43:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"4a95b925-ccfa-4d03-bdec-d68f10b70b9f","html_url":"https://github.com/GalleyBytes/infrakube","commit_stats":null,"previous_names":["galleybytes/tofu-kubed","galleybytes/tf3","galleybytes/infra3","galleybytes/infrakube"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/GalleyBytes/infrakube","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GalleyBytes%2Finfrakube","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GalleyBytes%2Finfrakube/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GalleyBytes%2Finfrakube/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GalleyBytes%2Finfrakube/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GalleyBytes","download_url":"https://codeload.github.com/GalleyBytes/infrakube/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GalleyBytes%2Finfrakube/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32684800,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-06T08:33:17.875Z","status":"ssl_error","status_checked_at":"2026-05-06T08:33:17.221Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","crd","kubernetes","opentofu","terraform","tofu"],"created_at":"2025-06-15T07:39:22.630Z","updated_at":"2026-05-06T08:34:48.720Z","avatar_url":"https://github.com/GalleyBytes.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Infrakube\n\nA Kubernetes controller for running Terraform and other Infrastructure as Code workflows.\n\nInfrakube is the successor to [terraform-operator](https://github.com/galleybytes/terraform-operator). It uses the same `kind: Terraform` resource and keeps familiar spec fields like `terraformVersion`, `terraformModule`, and `images.terraform`, making migration straightforward. The main change is the API group, which moves from `tf.galleybytes.com` to `infrakube.galleybytes.com`.\n\n## Features\n\n- Runs Terraform `init`, `plan`, and `apply` as Kubernetes pods\n- Supports all Terraform versions from 0.12 through 1.14 out of the box\n- Module downloads via git, https, and other sources supported by go-getter\n- Kubernetes, S3, GCS, and other Terraform backends\n- AWS IRSA, GCP Workload Identity, and other cloud auth methods\n- Task plugins for custom pre/post workflows\n- Monitor plugins for notifications and observability\n\n## Quick Start\n\n```yaml\napiVersion: infrakube.galleybytes.com/v1\nkind: Terraform\nmetadata:\n  name: my-infra\nspec:\n  terraformVersion: \"1.5.7\"\n  terraformModule:\n    source: https://github.com/example/module.git?ref=main\n  backend: |-\n    terraform {\n      backend \"kubernetes\" {\n        secret_suffix     = \"my-infra\"\n        in_cluster_config = true\n      }\n    }\n```\n\n## Support expectations\n\nThe automated suite is meant to prove controller behavior, task orchestration, and basic workflow execution. It does not try to cover every provider or cloud-specific module in the default CI path. If stronger proof is needed later, sandbox cloud smoke tests can live in separate nightly or manually triggered workflows.\n\nFor local test workflow details, see [`docs/testing.md`](docs/testing.md).\n\n## Community\n\nJoin the channel: https://discord.gg/J5vRmT2PWg\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgalleybytes%2Finfrakube","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgalleybytes%2Finfrakube","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgalleybytes%2Finfrakube/lists"}