raylabpro/devops-toolbox

By raylabpro

Updated 3 months ago

Images with crane, kubectl, werf, helm + modules, terraform, etc. on top of alpine linux with bash

Image
Networking
Integration & delivery
Developer tools
1

2.5K

raylabpro/devops-toolbox repository overview

DevOps Toolbox (docs in progress)

Docker Stars Docker Pulls

TODO

  • add d8 to flant-max

Provided image types

All-in-one
Base AIO Tags
  • aio aka latest (cloud-max, container-max, iac-opentofu-max, iac-terraform-max, systools-max, flant-max)
AIO Overview
Cloud Tools
Base Cloud Tags
  • cloud (curl, helm, jq, kubectl, yq)
  • cloud-ext (cloud, age, chart-testing, chainsaw, gawk, git, git-secret, gnupg, helmify, kind)
  • cloud-max (cloud-ext, helm-plugins, cosign, helmfile, kubeseal, kwok, sops, talosctl)
Cloud Tools Overview

This lightweight alpine docker image provides kubectl and helm binaries for working with a Kubernetes cluster. A local configured kubectl is a prerequisite to use helm per helm documentation⁠. This image is useful for general helm administration such as deploying helm charts and managing releases. It is also perfect for any automated deployment pipeline needing to use helm which supports docker images such as Concourse CI⁠, Jenkins on Kubernetes⁠, Travis CI⁠, and Circle CI⁠. Having bash installed allows for better support for troubleshooting by being able to exec / terminal in and run desired shell scripts. Git installed allows installation of helm plugins⁠.

Container Tools
Base Container Tools Tags
Container Tools Overview
Infrastructure-as-Code
Base IaC Tags

Opentofu

Terraform

IaC Overview
System Tools
Base System Tags
System Tools Overview
Flant Tools
Base flant Tags
  • flant (curl, werf, jq, yq)
  • flant-ext (flant, age, gawk, git, git-secret, gnupg, ssh-client, trdl)
  • flant-max (flant-ext, deckhouse-ctl (d8 todo!), cosign, sops)

For dhctl use registry.deckhouse.ru/deckhouse/ce/install:stable or registry.deckhouse.ru/deckhouse/ce/install:v1.75.4

Flant Overview

Supported tags and release links

The image tags below are dynamic and overwritten with the latest helm image under that semVer:

  • 3.<minor#> - helm v3.<minor#>.x, kubectl v1.x, alpine 3.x. Example: 3.15
  • 3 - helm 3.x, kubectl 1.x, alpine 3.x

Releases from Helm 3.17.3 to 3.18.6 and the above dynamic tags can be found on Docker Hub tags page.

Overview

This lightweight alpine docker image provides kubectl and helm binaries for working with a Kubernetes cluster. A local configured kubectl is a prerequisite to use helm per helm documentation⁠. This image is useful for general helm administration such as deploying helm charts and managing releases. It is also perfect for any automated deployment pipeline needing to use helm which supports docker images such as Concourse CI⁠, Jenkins on Kubernetes⁠, Travis CI⁠, and Circle CI⁠. Having bash installed allows for better support for troubleshooting by being able to exec / terminal in and run desired shell scripts. Git installed allows installation of helm plugins⁠.

If it is desired to only use kubectl and have kubectl as the entry command (versus this image as bash entry command), I recommend checking out this image instead: lachlanevenson/kubectl

Run

Example to just run helm on entry:

docker run --rm raylabpro/devops-toolbox helm

By default kubectl will try to use /root/.kube/config file for connection to the kubernetes cluster, but does not exist by default in the image.

Example for use with personal administration or troubleshooting with volume mount for kubeconfig files:

docker run -it -v ~/.kube:/root/.kube raylabpro/devops-toolbox

The -v maps your host docker machine Kubernetes configuration directory (~/.kube) to the container's Kubernetes configuration directory (root/.kube).

Build

For doing a manual local build of the image:

make docker_build

Installed helm plugins
  • helm-diff:

    This plugin is essential for previewing changes before applying a Helm upgrade. It shows a colored diff of what would change in your Kubernetes cluster if you were to perform a helm upgrade.

  • helm-secrets:

    Designed for managing encrypted secrets within Helm charts, this plugin allows you to store sensitive data securely in your values.yaml files.

  • helm-unittest:

    This plugin facilitates writing and running unit tests for Helm charts in a local environment without requiring a Kubernetes cluster. It allows for testing chart rendering and template logic.

  • helm-docs:

    This plugin automates the generation of documentation for Helm charts, often creating README.md files based on chart metadata and values.

  • helm-push:

    This plugin enables pushing Helm charts to various remote chart repositories, including OCI registries and other supported storage backends like S3 or GCS.

Tag summary

Content type

Image

Digest

sha256:8797c56f9

Size

514.3 MB

Last updated

3 months ago

docker pull raylabpro/devops-toolbox