Skip to content

serpro69/devex-makefile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

devex-makefile

pulumi-gcp terraform-gcp tofu-gcp

License

A collection of Makefile recipes for... all sorts of dev things that I use personally or profesionally with the aim to improve development experience when working with various dev ecosystems and tools. 🚀

Wait... but why? 🤨

Well... because make commands are short and easy to remember. They can be autocompleted. And you can document them easily taking the approach of self-documenting makefiles. So I usually prefer running make test, make apply, make whatnot over ./gradlew clean test ..., or terraform apply ..., or docker-compose up ... etc. 😏

Also, because... why not? 🤓

Installation

The easiest way I found to use this project is through cloning it as a git submodule, and then creating a symlink to the necessary makefile, for example:

# add submodule 
git submodule add https://github.com/serpro69/devex-makefile.git
# create a symlink
ln -s devex-makefile/terraform-gcp/Makefile Makefile
# test it out
make help

Using a git submodule makes it easier to pull latest changes and fixes, if you're interested in those.

You can, of course, just download the raw version of Makefile and add it directly to your project. The choice, as they say, is yours.

Usage

Each directory should usually contain a readme with usage details for a given makefile. If not - do try to run make help.

Contents

Infrastructure as Code

  • pulumi-gcp - recipes for working with Pulumi and the Google Cloud Platform (gcs) backend for state files
  • terraform-gcp - recipes for working with Terraform and the Google Cloud Platform (gcs) backend for state files
  • tofu - recipes for working with OpenTofu using the local backend for state files
  • tofu-gcp - recipes for working with OpenTofu and the Google Cloud Platform (gcs) backend for state files

License

This code is licensed under the MIT License.

(c) Særgeir

Contribute

So, you've made it this far 🤓 Congrats! 🎉 I've made these makefile to simplify my own workflows, but I'm happy if you've found any of this code useful as well. If you want to contribute anything: fixes, new commands to existing makefiles (or new makefiles altogether), customizable configuration, documentation; like, literally, anything - you should definitely do so.

Steps:

  • Open a new issue (Totally optional. I'll accept PR's w/o having an open issue, so long as it's clear what the change is all about.)
  • Fork this repository 🍴
  • Install dependencies (I guess you already have make installed? 🤨)
  • Bang your head against the keyboard from frustration 😡😤🤬 (Who said coding was easy?)
  • Open a pull request once you're finished 😮‍💨
  • Profit 🤑

About

A collection of Makefiles I use in various development ecosystems

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published