kiwigrid
gcloud-kubectl-helm
Shell

Docker image for the quaternity of gcloud, helm, kubectl and SOPS

Last updated Oct 21, 2025
34
Stars
27
Forks
1
Issues
0
Stars/day
Attention Score
15
Language breakdown
No language data available.
Files click to expand
README

gcloud-kubectl-helm

Docker image for the quaternity of gcloud, helm, kubectl and SOPS.

The image also contains:

Docker Pulls CircleCI

  • latest latest build from master
  • tag Images will be taged by combination of packed HELM client version, gcloud and build-number, e.g. 2.12.1-228.0.0-68. There will be no git tag anymore. View all available image tags on DockerHub

Adding changes to this repo

  • Use a fork of this repo
  • Add a PR

Usage

With CGP Service Account and key file

Passing script with multiple commands

docker run -v /path/to/your/script.sh:/data/commands.sh:ro kiwigrid/gcloud-kubectl-helm

Passing script and GCP key-file

docker run -v /path/to/your/script.sh:/data/commands.sh:ro -volume /path/to/your/key-file.json:/data/gcp-key-file.json:ro kiwigrid/gcloud-kubectl-helm

Interactive usage with your personal GCP Account

docker run -ti -v /path/to/your/workspace:/data/ kiwigrid/gcloud-kubectl-helm bash

authenticate and paste token

$ gcloud auth application-default login

setup kubectl context

$ gcloud container clusters get-credentials

run helm

$ helm install release /data/your/chart -f values.yaml

or with sops encrypted secrets file

$ helm secrets install release /data/your/chart -f values.yaml -f secrets.myapp.yaml

CI/CD context

Using this image from a CI/CD pipeline is very handy. It's recommended to start the container at the beginning of your pipeline. Afterwards one can pass single commands to running container.
CONTAINER_NAME=gkh-container

Start container

docker run \ --volume /path/to/your/workdir:/workspace:ro \ --workdir /workspace --volume /path/to/your/gcp-key-file.json:/data/gcp-key-file.json:ro \ --env GOOGLEAPPLICATIONCREDENTIALS=/data/gcp-key-file.json --rm \ -t \ --name $CONTAINER_NAME \ kiwigrid/gcloud-kubectl-helm:latest /bin/bash

Execute arbitrary commands

docker exec $CONTAINER_NAME gcloud auth activate-service-account --key-file=/data/gcp-key-file.json docker exec $CONTAINER_NAME gcloud config set project my-gcp-project-id docker exec $CONTAINER_NAME gcloud container clusters get-credentials my-gke-cluster --project my-gcp-project-id --zone my-gke-zone

docker exec $CONTAINER_NAME helm list docker exec $CONTAINER_NAME gcloud deployment-manager deployments describe my-deployment

Kill

docker kill $CONTAINER_NAME

Command file examples

Authorize access to GCP with a service account and fetch credentials for running cluster

gcloud auth activate-service-account --key-file=/data/gcp-key-file.json gcloud container clusters get-credentials <clusterName> --project <projectId> [--region=<region> | --zone=<zone>]

helm list kubectl get pods --all-namespaces

Import GPG Keys

To import public GPG keys from keyserver, add them space separated to GPGPUBKEYS env variable.

docker run -e GPGPUBKEYS=<key id>   kiwigrid/gcloud-kubectl-helm:latest

Add distributed Helm Chart Repositories

To include adding of distributed helm chart repos, add REPOYAMLURL as env variable. E.g.

docker run -e REPOYAMLURL=https://raw.githubusercontent.com/helm/hub/master/config/repo-values.yaml kiwigrid/gcloud-kubectl-helm:latest

Credits

This repo is inspired by
  • https://github.com/eversC/gcloud-k8s-helm
  • https://github.com/lfaoro/gcloud-kubectl-helm
🔗 More in this category

© 2026 GitRepoTrend · kiwigrid/gcloud-kubectl-helm · Updated daily from GitHub