Helpful tools for CI all packaged up into a container
  • Jsonnet 75%
  • Dockerfile 25%
Find a file
2026-07-09 13:42:14 -07:00
.crow ci: turn off debug logging now 2026-06-30 09:12:49 -07:00
.gitlab-ci.yml switch from kaniko to buildkit 2025-10-16 08:36:17 -07:00
Dockerfile also install 'just', the command runner 2026-06-29 16:16:42 -07:00
mise.lock add flate to the list of tools mise installs 2026-07-09 13:42:14 -07:00
mise.toml add flate to the list of tools mise installs 2026-07-09 13:42:14 -07:00
README.md switch to mise.toml, put it in the user global config path 2025-10-16 11:43:46 -07:00
renovate.json Add renovate.json 2023-07-29 03:49:23 +00:00

CI Tools Image

This is a fairly basic container that installs a few specific tools needed to run Kubernetes related CI steps.

The tools are managed using mise and specified in ./mise.toml. The container is built on every push.

Tools included:

  • kubectl for communicating with the Kubernetes cluster via the CLI.
  • go-jsonnet Google's semi-official Go implementation
  • helm for fetching and deploying charts.
  • jb for managing jsonnet dependencies.
  • tanka for compiling the jsonnet into Kubernetes manifests.
  • sops for safely storing secrets in git repos.
  • kustomize for editing and creating Kustomization manifests.
  • kubeconform for validating Kubernetes manifests.
  • flux for managing FluxCD related steps

Also installed using the package manager is git, ssh, and jq.

Building the container yourself

If you want to build it on your computer, do something like the following:

git clone "https://code.nogweii.net/ops/k8s/ci-tools-image.git"
cd ./ci-tools-image/
podman build -t ci-tools-image:latest .

Usage

For a Gitlab CI job:

tanka ci job example:
  image: c.code.nogweii.net/ops/k8s/ci-tools-image:latest
  stage: deploy
  script:
    - jb install
    - tk export export-stuff --recursive environments/ --merge-strategy=replace-envs
  cache:
    key:
      files:
        - jsonnetfile.lock.json
    paths:
      - vendor/