Skip to content

devex-makefile

terraform-gcp tofu-gcp pulumi-gcp License

A collection of opinionated Makefile recipes for all sorts of dev things — built to improve the developer experience when working with various ecosystems and tools. 🚀

Wait… but why? 🤨

Because make commands are short and easy to remember, they autocomplete, and they document themselves using the self-documenting makefile approach. Running make apply or make plan is simply nicer than remembering the full terraform apply -var-file=… -lock=true … incantation every time. 😏

Also, because… why not? 🤓

Documentation

Full usage docs live at https://serpro69.github.io/devex-makefile/.

Quick start

Every makefile wraps a real tool with sane defaults, so your day-to-day workflow collapses down to a handful of memorable commands:

make init      # prepare the working directory / backend
make plan      # preview changes
make apply     # apply changes
make help      # see everything the makefile can do

The easiest way to use a makefile is to add this repo as a git submodule and symlink the one you want:

git submodule add https://github.com/serpro69/devex-makefile.git
ln -s devex-makefile/terraform-gcp/Makefile Makefile
make help

See the Installation guide for details (including the raw-download option).

Contents

Infrastructure as Code

Makefile Tool State backend Docs
terraform-gcp Terraform Google Cloud Storage
tofu-gcp OpenTofu Google Cloud Storage
tofu OpenTofu Local (encrypted with SOPS)
pulumi-gcp Pulumi Google Cloud Storage or local

License

This code is licensed under the MIT License.

Contribute

I made these makefiles to simplify my own workflows, but I'm happy if you find them useful too. Fixes, new commands, new makefiles, customizable configuration, documentation — literally anything is welcome.

  • Open an issue (optional — PRs without an issue are fine, as long as the change is clear).
  • Fork this repository 🍴
  • Make your change (you already have make installed, right? 🤨).
  • Open a pull request. 😮‍💨
  • Profit. 🤑