GitOps Toolkit is a Docker image that contains a collection of tools necessary for me to manage my GitOps infrastructure. This image is designed to simplify the setup and management of a development environment for infrastructure as code (IaC), Kubernetes management, secret encryption, and other related tasks.
Tool/Dependency | Version |
---|---|
Terraform | 1.9.8 |
Tflint | v0.54.0 |
Sops | v3.9.1 |
Age | v1.2.0 |
Age Keygen | V1.2.0 |
Flux | v2.4.0 |
Tfctl | v0.16.0 |
Kubectl | 1.31.3 |
Kubectl Switch | v2.0.0 |
K9S | v0.32.7 |
Helm | v3.13.3 |
Kustomize | v5.4.3 |
Stern | 1.31.0 |
Kubecolor | v0.4.0 |
Talosctl | v1.8.3 |
Talswitcher | v1.1.2 |
Talhelper | v3.0.10 |
Taskfile | v3.38.0 |
Bitwarden Cli | 2024.8.1 |
Minio Cli | RELEASE.2024 |
yamllint | 1.35.1 |
jq | 1.8.0 |
yq | 3.4.3 |
This image is mainly intended to be the base for DevContainer setups (hence the devcontainers/python
base image) or to be the base image for CI runs.
Here is an example of a devcontainer configuration using this image.
{
"name": "GitOps Toolkit",
"image": "ghcr.io/mirceanton/gitops-toolkit:latest",
"containerEnv": {
"KUBECONFIG": "/home/vscode/.kube/config",
"KUBECONFIG_DIR": "/home/vscode/.kube/configs/",
"TALOSCONFIG": "/home/vscode/.talos/config",
"TALOSCONFIG_DIR": "/home/vscode/.talos/configs/"
},
"mounts": [
"source=${localWorkspaceFolder},target=/workspace,type=bind,consistency=cached",
"source=${localEnv:HOME}${localEnv:USERPROFILE}/.age.key,target=${containerWorkspaceFolder}/.age.key,type=bind,consistency=cached",
"source=${localEnv:HOME}${localEnv:USERPROFILE}/.kube/,target=/home/vscode/.kube/,type=bind,consistency=cached",
"source=${localEnv:HOME}${localEnv:USERPROFILE}/.talos/,target=/home/vscode/.talos/,type=bind,consistency=cached"
],
"remoteUser": "vscode",
"containerUser": "vscode",
"updateRemoteUserUID": true
}
This project is licensed under the MIT License - see the LICENSE file for details.