A container-based set of devops tools, persistant gcloud auth, and volume-mounted .kube contexts, and a nice terminal
- Docker Desktop or similar (e.g. colima or Rancher Desktop)
- If you do not already have a global
.gitconfig, create one:touch $HOME/.gitconfig - If you do not already have a
.kubedirectory in your home, create one:mkdir -p $HOME/.kube - If you plan to work on any git projects within multitool, you'll need to add the
/multitooldirectory to your git config's safe directoriesgit config --global --add safe.directory /multitool
The first time you use this tool, you need to complete a few initializtion steps to set up the volumes that will contain your persistent configs.
- Change directory to this project's root
- Run the following command to build the tools
docker-compose run --build tools
- You will need to re-run this command when you make changes to the
Dockerfile, or want to update your local container to the latest tools versions.
- You will need to re-run this command when you make changes to the
- You will need to run
gcloud auth login, and any other commands to set up default projects and/or cluster contexts.- NOTE: Your gcloud login info will persist in a local volume and will automatically be available each time you start this tool up
- Run the following command to start the tools:
docker-compose run --rm tools
If you have not yet set up a devcontainer for a project, you can use multitool as a quick and dirty solution to having a common set of tools for working in a project.
-
Change directory to the project you want to mount to multitool
cd /your/project/path -
Run the
docker-composecommand, specifying the path to multitool'scompose.yamlfile.docker-compose -f /path/to/multitool/compose.yaml run --rm tools
- Have fun 🎉