Digger is now in Golang!


As you may know by now, Digger is a Github Action that runs Terraform plan and apply with PR-level locks.

The idea is that terraform jobs run natively in your Github Actions - no need to share sensitive data with another CI system. There's no need to deploy and maintain a backend service either.

We migrated from Python to Golang yesterday. None of the team had experience with Golang, but we managed to migrate in a week.

Here's why we did it:

  • Faster runtimes (upto 30x faster)
  • Can be compiled into single binary, advantages for Github actions is that we don’t need to wrap action into Dockerfile.
  • Easy to compile binary to multiple platforms, it helps us run from same codebase.
  • Interface based development , more guarantees about the code correctness by the compiler when compared to using Python.
  • Golang is more popular in the DevOps and infrastructure community, we can find several libraries and reuse them in our code.

Here is the link to the repo - let us know what you think!