/k8s-toolbox

A GitHub Action that provides a suite of tools for k8s usage

k8s toolbox

A selected group of tools for interacting with Kubernetes on an AWS environment. The action is made up of "composite steps" that install the tools onto the running build container.

What's included?

  1. kubectl
  2. kops
  3. helm
  4. render
  5. aws-iam-authenticator
  6. argo

How do I use it?

a) Explicitly specify any versions (or else they default to the latest release from each, found on GitHub). Specifying a version will override everything else (version.json file and defaults).

uses: landtechnologies/k8s-toolbox@v6
with:
  kubectl: "v1.18.10"
  kops: "v1.18.1"
  helm: "v3.3.4"
  argo: "v2.11.6"
  kube-config: ${{secrets.KUBE_CONFIG}}

b) Use a json file (example) to specify the versions:

uses: landtechnologies/k8s-toolbox@v6
with:
  versions: http://some.location.to.a.version.json.file
  kube-config: ${{secrets.KUBE_CONFIG}}
  1. kubectl

    • defaults to the latest stable release on GitHub
    • kube-config is a base64 encoded copy of your ~/.kube/config file, ie base64 ~/.kube/config stored in GitHub Secrets
    uses: landtechnologies/k8s-toolbox@v6
    with:
      kubectl: "v1.18.10"
      kube-config: ${{secrets.KUBE_CONFIG}}
  2. kops

    • defaults to the latest stable release on GitHub
    uses: landtechnologies/k8s-toolbox@v6
    with:
      kops: "v1.18.0"
  3. helm

    • defaults to the latest stable release on GitHub
    uses: landtechnologies/k8s-toolbox@v6
    with:
      helm: "v3.3.4"
  4. argo

    • defaults to the latest stable release on GitHub
    uses: landtechnologies/k8s-toolbox@v6
    with:
      argo: "v2.11.6"