Cloud toolbox
Images with the command-line tools cloud engineers use in CI jobs and debug shells: kubectl, Helm, gcloud, doctl, yq and more, one tag per toolset.
registry.gitlab.com/hosstio/docker-images/cloud-toolbox/main:<tag>Source: hosstio/docker-images/cloud-toolbox
Tags
| Tag | Contents | Size | Download |
|---|---|---|---|
base | Common tools (curl, jq, yq, dyff, unbuffer, git, bash, make, gettext, openssh) | 104 MB | 29 MB |
base-python | Base tools on Python Alpine | 158 MB | 41 MB |
kubectl | Base + kubectl | 182 MB | 46 MB |
helm | Base + kubectl + Helm | 379 MB | 97 MB |
k8s-gcp | Base + kubectl + Helm + gke-gcloud-auth-plugin | 522 MB | 130 MB |
doctl | Base + doctl | 161 MB | 46 MB |
k8s | Base + kubectl + Helm + gke-gcloud-auth-plugin + doctl | 579 MB | 147 MB |
k8s-do | Base + kubectl + Helm + doctl | 436 MB | 114 MB |
gcloud | Base Python + gcloud SDK | 612 MB | 88 MB |
yamllint | yamllint only | 75 MB | 18 MB |
pre-commit | Base Python + pre-commit | 185 MB | 51 MB |
ci | All tools, gke-gcloud-auth-plugin instead of full gcloud SDK | 532 MB | 140 MB |
latest | Everything including gcloud SDK | 987 MB | 188 MB |
Tools
Unix
- Bash: the GNU Bourne Again SHell
- Tar: creates and extracts tar archives
- Make: runs the build targets defined in a Makefile
- GNU coreutils: full GNU
wc,cp,mv,lsand others, in place of BusyBox versions that lack long options such as--lines - GNU diffutils: full GNU
diff, with--color,--side-by-sideand other options BusyBoxdifflacks
Files
- jq: slices, filters, maps and transforms JSON
- yq: processes YAML, JSON, XML, CSV, TOML and properties files
- dyff: diffs YAML files, Kubernetes-aware
- yamllint: lints YAML files
Network
- OpenSSH: remote login over SSH
- Wget: downloads files over HTTP, HTTPS, FTP and FTPS, only in
latest - curl: transfers data with URLs
Kubernetes
- kubectl: talks to a cluster's control plane through the Kubernetes API (57 MB)
- Helm: the package manager for Kubernetes (62 MB)
Cloud
- doctl: the DigitalOcean CLI (37 MB)
- gcloud SDK: the Google Cloud CLI, without gsutil and bq (385 MB)
- gke-gcloud-auth-plugin: kubectl authentication for Google Kubernetes Engine (9.4 MB)
Programming
- Git: distributed version control
- pre-commit: manages multi-language pre-commit hooks
- Python: Python 3, in
k8s-gcp,k8sand the images built onbase-python
Usage
GitLab
yaml
image: registry.gitlab.com/hosstio/docker-images/cloud-toolbox/main:latestUse a specific tag per job to keep pipelines lean:
yaml
yamllint:
image: registry.gitlab.com/hosstio/docker-images/cloud-toolbox/main:yamllint
pre-commit:
image: registry.gitlab.com/hosstio/docker-images/cloud-toolbox/main:pre-commit
deploy:
image: registry.gitlab.com/hosstio/docker-images/cloud-toolbox/main:k8s-gcpDocker
shell
docker run --rm --interactive --tty registry.gitlab.com/hosstio/docker-images/cloud-toolbox/main:latestKubernetes
shell
kubectl run --rm --stdin --tty cloud-toolbox --image registry.gitlab.com/hosstio/docker-images/cloud-toolbox/main:latest -- bash