Heckle

Bring an existing git forge under Infrastructure as Code

Heckle inventories a GitHub, GitLab, Gitea or Forgejo namespace, maps supported objects to provider import contracts, and emits an editable project of .tf files and local modules you can adopt with Terraform or OpenTofu. The name is a play on HCL.

$ export GITHUB_TOKEN='...'
$ heckle generate github --org example --out ./iac
$ cd ./iac && tofu plan

What it's for

  • Forges with repos, teams, protections and webhooks but no IaC
  • Bringing org/group/repo setup into Terraform or OpenTofu
  • Auditing and reproducing forge configuration as code

Highlights

Discovery, not apply
Reads the forge and generates HCL; never runs apply and never persists disposable validation state.
Four forges
GitHub, GitLab, Gitea and Forgejo, including orgs, groups and personal accounts.
Rehearsed adoption
Classifies known provider behaviour and stops on unrecognised plan changes.
Terraform or OpenTofu
OpenTofu is the default; pass --tf terraform to choose otherwise. Heckle itself is not required after adoption.
Links
Heckle is currently alpha software.
Need help adopting IaC?
I can help you bring existing forges and infrastructure under Terraform or OpenTofu safely.
Contact me