GithubHelp home page GithubHelp logo

dtzar / helm-kubectl Goto Github PK

View Code? Open in Web Editor NEW
365.0 11.0 133.0 130 KB

Docker Hub image with helm and kubectl on top of alpine linux with bash

Home Page: https://hub.docker.com/r/dtzar/helm-kubectl/

License: MIT License

Makefile 45.31% Dockerfile 54.69%
docker-image helm kubectl kubernetes microbadger

helm-kubectl's Introduction

helm-kubernetes Docker hub image

ci Docker Stars Docker Pulls

Supported tags and release links

  • 3.15.2 - helm v3.15.2, kubectl v1.30.2, alpine 3.19
  • 3.15.0 - helm v3.15.0, kubectl v1.30.1, alpine 3.19
  • 3.14.4 - helm v3.14.4, kubectl v1.29.3, alpine 3.19
  • 3.14.3 - helm v3.14.3, kubectl v1.29.3, alpine 3.19
  • 3.14.2 - helm v3.14.2, kubectl v1.29.2, alpine 3.19
  • 3.14.1 - helm v3.14.1, kubectl v1.29.2, alpine 3.19
  • 3.14.0 - helm v3.14.0, kubectl v1.29.1, alpine 3.19
  • 3.13.3 - helm v3.13.3, kubectl v1.29.0, alpine 3.19
  • 3.13.2 - helm v3.13.2, kubectl v1.28.3, alpine 3.18
  • 3.13.1 - helm v3.13.1, kubectl v1.28.3, alpine 3.18
  • 3.13.0 - helm v3.13.0, kubectl v1.28.2, alpine 3.18
  • 3.12.3 - helm v3.12.3, kubectl v1.27.4, alpine 3.18
  • 3.12.2 - helm v3.12.2, kubectl v1.27.3, alpine 3.18
  • 3.12.1 - helm v3.12.1, kubectl v1.27.3, alpine 3.18
  • 3.12.0 - helm v3.12.0, kubectl v1.27.1, alpine 3.18
  • 3.11.3 - helm v3.11.3, kubectl v1.26.4, alpine 3.17
  • 3.11.2 - helm v3.11.2, kubectl v1.26.2, alpine 3.17
  • 3.11.1 - helm v3.11.1, kubectl v1.26.1, alpine 3.17
  • 3.11.0 - helm v3.11.0, kubectl v1.26.0, alpine 3.17
  • 3.10.3 - helm v3.10.3, kubectl v1.26.0, alpine 3.17
  • 3.10.2 - helm v3.10.2, kubectl v1.25.4, alpine 3.16
  • 3.10.1 - helm v3.10.1, kubectl v1.25.3, alpine 3.16
  • 3.10.0 - helm v3.10.0, kubectl v1.25.2, alpine 3.16
  • 3.9.4 - helm v3.9.4, kubectl v1.25.0, alpine 3.16
  • 3.9.3 - helm v3.9.3, kubectl v1.24.3, alpine 3.16
  • 3.9.2 - helm v3.9.2, kubectl v1.24.3, alpine 3.16
  • 3.9.1 - helm v3.9.1, kubectl v1.24.3, alpine 3.16
  • 3.9.0 - helm v3.9.0, kubectl v1.24.0, alpine 3.15
  • 3.8.2 - helm v3.8.2, kubectl v1.23.5, alpine 3.15
  • 3.8.1 - helm v3.8.1, kubectl v1.23.4, alpine 3.15
  • 3.8.0 - helm v3.8.0, kubectl v1.23.2, alpine 3.15
  • 3.7.2 - helm v3.7.2, kubectl v1.23.0, alpine 3.15
  • 3.7.1 - helm v3.7.1, kubectl v1.22.2, alpine 3.14
  • 3.7.0 - helm v3.7.0, kubectl v1.22.2, alpine 3.14
  • 3.6.3 - helm v3.6.3, kubectl v1.21.2, alpine 3.14
  • 3.6.2 - helm v3.6.2, kubectl v1.21.2, alpine 3.14
  • 3.6.0 - helm v3.6.0, kubectl v1.21.1, alpine 3.14
  • 3.5.4 - helm v3.5.4, kubectl v1.21.0, alpine 3.14
  • 3.5.3 - helm v3.5.3, kubectl v1.20.4, alpine 3.13
  • 3.5.2 - helm v3.5.2, kubectl v1.20.2, alpine 3.13
  • 3.5.1 - helm v3.5.1, kubectl v1.20.2, alpine 3.13
  • 3.5.0 - helm v3.5.0, kubectl v1.20.2, alpine 3.12
  • 3.4.2 - helm v3.4.2, kubectl v1.20.1, alpine 3.12
  • 3.4.1 - helm v3.4.1, kubectl v1.19.4, alpine 3.12
  • 3.4.0 - helm v3.4.0, kubectl v1.19.3, alpine 3.12
  • 3.3.4 - helm v3.3.4, kubectl v1.19.2, alpine 3.12
  • 3.3.1 - helm v3.3.1, kubectl v1.18.8, alpine 3.12
  • 3.3.0 - helm v3.3.0, kubectl v1.18.6, alpine 3.12
  • 3.2.4 - helm v3.2.4, kubectl v1.18.3, alpine 3.12
  • 3.2.3 - helm v3.2.3, kubectl v1.18.3, alpine 3.12
  • 3.2.1 - helm v3.2.1, kubectl v1.18.2, alpine 3.11
  • 3.2.0 - helm v3.2.0, kubectl v1.18.2, alpine 3.11
  • 3.1.2 - helm v3.1.2, kubectl v1.17.3, alpine 3.11
  • 3.1.1 - helm v3.1.1, kubectl v1.17.3, alpine 3.11
  • 3.1.0 - helm v3.1.0, kubectl v1.17.3, alpine 3.11
  • 3.0.3 - helm v3.0.3, kubectl v1.17.2, alpine 3.11
  • 3.0.2 - helm v3.0.2, kubectl v1.17.0, alpine 3.10
  • 3.0.1 - helm v3.0.1, kubectl v1.16.3, alpine 3.10
  • 3.0.0 - helm v3.0.0, kubectl v1.16.2, alpine 3.10
  • 2.17.0 - helm v2.17.0, kubectl v1.19.4, alpine 3.12
  • Releases from Helm 2.3.1 to 2.16.1 can be found here.

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 dtzar/helm-kubectl 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 dtzar/helm-kubectl
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

helm-kubectl's People

Contributors

blackhole1 avatar dependabot[bot] avatar dtzar avatar funkypenguin avatar gaby avatar jnoordsij avatar karlalnebratt avatar leejones avatar massimilianobraglia avatar mcritchlow avatar n0madic avatar seansund avatar therealmitchconnors avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

helm-kubectl's Issues

Latest release returns error.

Hello latest docker image has some issues

Error: UPGRADE FAILED: error validating "": error validating data: the server responded with the status code 426 but did not return more information```


3.11 works fine.

Major or Minor version tags?

Thanks for the great tool! This is not a big deal, but:

It would be great to add tags like "3.x" or "3.0" to Dockerhub so that I could pin the image to specific major or minor version without having to update it for every patch update.

I hadn't pinned it at all previously (so that I could benefit from updates), but then 3.0.0 was pushed and my CI broke (unknown flag: --name), so I'd like to pin it to a major version without having to update the tag for minor updates.

Docker Automated builds fail

We don't use the docker automated build images for actual use, BUT if they fail then the readme doesn't get updated and you can get failed build messages and such. Log output from Docker automated build:

Cloning into '.'...
Warning: Permanently added the RSA host key for IP address '140.82.112.4' to the list of known hosts.
Switched to a new branch '3.5.4'
KernelVersion: 4.4.0-1060-aws
Components: [{u'Version': u'19.03.8', u'Name': u'Engine', u'Details': {u'KernelVersion': u'4.4.0-1060-aws', u'Os': u'linux', u'BuildTime': u'2020-03-11T01:24:30.000000000+00:00', u'ApiVersion': u'1.40', u'MinAPIVersion': u'1.12', u'GitCommit': u'afacb8b7f0', u'Arch': u'amd64', u'Experimental': u'false', u'GoVersion': u'go1.12.17'}}, {u'Version': u'1.2.13', u'Name': u'containerd', u'Details': {u'GitCommit': u'7ad184331fa3e55e52b890ea95e65ba581ae3429'}}, {u'Version': u'1.0.0-rc10', u'Name': u'runc', u'Details': {u'GitCommit': u'dc9208a3303feef5b3839f4323d9beb36df0a9dd'}}, {u'Version': u'0.18.0', u'Name': u'docker-init', u'Details': {u'GitCommit': u'fec3683'}}]
Arch: amd64
BuildTime: 2020-03-11T01:24:30.000000000+00:00
ApiVersion: 1.40
Platform: {u'Name': u'Docker Engine - Community'}
Version: 19.03.8
MinAPIVersion: 1.12
GitCommit: afacb8b7f0
Os: linux
GoVersion: go1.12.17
Starting build of index.docker.io/dtzar/helm-kubectl:tagtemp...
Step 1/9 : FROM alpine:3
---> 6dbb9cc54074
Step 2/9 : ARG VCS_REF
---> Running in 9d49f83ac345
Removing intermediate container 9d49f83ac345
---> 61e6eb5afc2e
Step 3/9 : ARG BUILD_DATE
---> Running in 1c4770778f7c
Removing intermediate container 1c4770778f7c
---> 2cde39894c72
Step 4/9 : ARG KUBE_VERSION
---> Running in df2559aa5520
Removing intermediate container df2559aa5520
---> 013e14268270
Step 5/9 : ARG HELM_VERSION
---> Running in dd30f8ba52f8
Removing intermediate container dd30f8ba52f8
---> 14f592d87aa6
Step 6/9 : LABEL org.label-schema.vcs-ref=$VCS_REF org.label-schema.name="helm-kubectl" org.label-schema.url="https://hub.docker.com/r/dtzar/helm-kubectl/" org.label-schema.vcs-url="https://github.com/dtzar/helm-kubectl" org.label-schema.build-date=$BUILD_DATE
---> Running in 2e5901839500
Removing intermediate container 2e5901839500
---> c26665dc603e
Step 7/9 : RUN apk add --no-cache ca-certificates bash git openssh curl gettext jq bind-tools && wget -q https://storage.googleapis.com/kubernetes-release/release/v${KUBE_VERSION}/bin/linux/amd64/kubectl -O /usr/local/bin/kubectl && chmod +x /usr/local/bin/kubectl && wget -q https://get.helm.sh/helm-v${HELM_VERSION}-linux-amd64.tar.gz -O - | tar -xzO linux-amd64/helm > /usr/local/bin/helm && chmod +x /usr/local/bin/helm && chmod g+rwx /root && mkdir /config && chmod g+rwx /config && helm repo add "stable" "https://charts.helm.sh/stable" --force-update
---> Running in 37e29ad0d0eb
fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/community/x86_64/APKINDEX.tar.gz
(1/43) Installing ncurses-terminfo-base (6.2_p20210109-r0)
(2/43) Installing ncurses-libs (6.2_p20210109-r0)
(3/43) Installing readline (8.1.0-r0)
(4/43) Installing bash (5.1.0-r0)
Executing bash-5.1.0-r0.post-install
(5/43) Installing fstrm (0.6.0-r1)
(6/43) Installing krb5-conf (1.0-r2)
(7/43) Installing libcom_err (1.45.7-r0)
(8/43) Installing keyutils-libs (1.6.3-r0)
(9/43) Installing libverto (0.3.1-r1)
(10/43) Installing krb5-libs (1.18.3-r1)
(11/43) Installing json-c (0.15-r1)
(12/43) Installing libgcc (10.2.1_pre1-r3)
(13/43) Installing libstdc++ (10.2.1_pre1-r3)
(14/43) Installing libprotobuf (3.13.0-r2)
(15/43) Installing libprotoc (3.13.0-r2)
(16/43) Installing protobuf-c (1.3.3-r4)
(17/43) Installing libuv (1.40.0-r0)
(18/43) Installing xz-libs (5.2.5-r0)
(19/43) Installing libxml2 (2.9.10-r6)
(20/43) Installing bind-libs (9.16.11-r0)
(21/43) Installing bind-tools (9.16.11-r0)
(22/43) Installing ca-certificates (20191127-r5)
(23/43) Installing brotli-libs (1.0.9-r3)
(24/43) Installing nghttp2-libs (1.42.0-r1)
(25/43) Installing libcurl (7.76.1-r0)
(26/43) Installing curl (7.76.1-r0)
(27/43) Installing libgomp (10.2.1_pre1-r3)
(28/43) Installing libintl (0.20.2-r2)
(29/43) Installing libunistring (0.9.10-r0)
(30/43) Installing gettext-libs (0.20.2-r2)
(31/43) Installing gettext (0.20.2-r2)
(32/43) Installing expat (2.2.10-r1)
(33/43) Installing pcre2 (10.36-r0)
(34/43) Installing git (2.30.2-r0)
(35/43) Installing oniguruma (6.9.6-r0)
(36/43) Installing jq (1.6-r1)
(37/43) Installing openssh-keygen (8.4_p1-r3)
(38/43) Installing libedit (20191231.3.1-r1)
(39/43) Installing openssh-client (8.4_p1-r3)
(40/43) Installing openssh-sftp-server (8.4_p1-r3)
(41/43) Installing openssh-server-common (8.4_p1-r3)
(42/43) Installing openssh-server (8.4_p1-r3)
(43/43) Installing openssh (8.4_p1-r3)
Executing busybox-1.32.1-r6.trigger
Executing ca-certificates-20191127-r5.trigger
OK: 45 MiB in 57 packages
�[91mwget: server returned error: HTTP/1.1 404 Not Found
�[0m
Removing intermediate container 37e29ad0d0eb
The command '/bin/sh -c apk add --no-cache ca-certificates bash git openssh curl gettext jq bind-tools && wget -q https://storage.googleapis.com/kubernetes-release/release/v${KUBE_VERSION}/bin/linux/amd64/kubectl -O /usr/local/bin/kubectl && chmod +x /usr/local/bin/kubectl && wget -q https://get.helm.sh/helm-v${HELM_VERSION}-linux-amd64.tar.gz -O - | tar -xzO linux-amd64/helm > /usr/local/bin/helm && chmod +x /usr/local/bin/helm && chmod g+rwx /root && mkdir /config && chmod g+rwx /config && helm repo add "stable" "https://charts.helm.sh/stable" --force-update' returned a non-zero code: 1

Helm repo add support

Hi Team,

Will this docker image, (alpine) with helm 3.x.x, supports helm "repo add some-repo-name some-repo-url" ?

In my docker file, i am using "debian:stretch-20190910-slim" instead of "alpine", and for me helm repo add command gets stuck and failed with error: context deadline exceeded.

Any idea ?

Thanks,
Akash

with helm-kubectl v3.14 , kuberntes job give exit 132 code - GKE v1.28.+

  1. after pod describe
  2. plz check status and state
  3. surprizingly after reverting back to 3.10 [old version] , it works

[fc@hbl-gcp-uat-xm-as1-a-jenkins-vm-1 xm-external-application-db-deployment]$ kubectl describe pod application-mjmfg -n management
Name: application-mjmfg
Namespace: management
Priority: 0
Node: gke-hbl-gcp-perf-imp-sw-adp-managemen-c7bfb841-7p4t/10.148.26.3
Start Time: Wed, 20 Mar 2024 13:44:47 +0530
Labels: app.kubernetes.io/instance=application
app.kubernetes.io/managed-by=Helm
batch.kubernetes.io/controller-uid=13b313b2-9506-4b01-b977-1ce34f6595b8
batch.kubernetes.io/job-name=application
controller-uid=13b313b2-9506-4b01-b977-1ce34f6595b8
helm.sh/chart=xm-external-application-db-deployment-1.2.1-release
job-name=application
Annotations: cni.projectcalico.org/containerID: 81492c14bd34bf5517e5c1394bb477649a1273af2373f8f8191c3f788a404b66
cni.projectcalico.org/podIP:
cni.projectcalico.org/podIPs:
Status: Failed
IP: 100.67.130.125
IPs:
IP: 100.67.130.125
Controlled By: Job/application
Containers:
pre-install-job:
Container ID: containerd://5c4e4b5ec0bd8529fa4bd660043f863ead137d3b2b5f8e8be6b60bfe00ef30ee
Image: xyz/ef_xm/helm-kubectl:3.14
Image ID: xyz/ef_xm/helm-kubectl@sha256:19b0cca584f10286f9a26369616428ea3a70ab94126fa6b215e26954ac900483
Port:
Host Port:
Command:
kubectl
annotate
serviceaccount
default
iam.gke.io/gcp-service-account=[email protected]
--overwrite
State: Terminated
Reason: Error
Exit Code: 132
Started: Wed, 20 Mar 2024 13:44:47 +0530
Finished: Wed, 20 Mar 2024 13:44:47 +0530
Ready: False
Restart Count: 0
Environment:
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-s442t (ro)
Conditions:
Type Status
Initialized True
Ready False
ContainersReady False
PodScheduled True
Volumes:
kube-api-access-s442t:
Type: Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional:
DownwardAPI: true
QoS Class: BestEffort
Node-Selectors: cloud.google.com/gke-nodepool=sw-adp-management-node-pool
Tolerations: helm_release=management:NoSchedule
node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message


Normal Scheduled 3m52s default-scheduler Successfully assigned management/application-mjmfg to gke-hbl-gcp-perf-imp-sw-adp-managemen-c7bfb841-7p4t
Normal Pulled 3m52s kubelet Container image "xyz/ef_xm/helm-kubectl:3.14" already present on machine
Normal Created 3m52s kubelet Created container pre-install-job
Normal Started 3m52s kubelet Started container pre-install-job
[fc@hbl-gcp-uat-xm-as1-a-jenkins-vm-1 xm-external-application-db-deployment]$
[fc@hbl-gcp-uat-xm-as1-a-jenkins-vm-1 xm-external-application-db-deployment]$
[fc@hbl-gcp-uat-xm-as1-a-jenkins-vm-1 xm-external-application-db-deployment]$
[fc@hbl-gcp-uat-xm-as1-a-jenkins-vm-1 xm-external-application-db-deployment]$

idea: support running helm by passing in k8s info

I was hoping to be able to run a helm command via something like:

docker run --rm -it helm-image-name:${HELM_VERSION}  --kube-server=${API_SERVER} --namespace=${NAMESPACE} --token=${BEARER_TOKEN} --insecure-skip-tls-verify  --chart-repo=${CHART_URL} --helm-command=${HELM_COMMAND}

This would be great for automation, only dependency is docker client

thoughts?

Suggestion: Add curl

The image already includes a busybox version of wget, it doesn't allows to do POST, including curl will be nice so same image can be used for deploy and notify webhooks.

Thanks for your work!

Helm 3

Any chance of getting a release with Helm 3?

error with minikube

Not sure this suppose to work with minikube, it fails with below error.

$ docker run -it -v ~/.kube:/root/.kube dtzar/helm-kubectl
Unable to find image 'dtzar/helm-kubectl:latest' locally
latest: Pulling from dtzar/helm-kubectl
88286f41530e: Already exists
7a8082244965: Pull complete
558a6f17d8a7: Pull complete
Digest: sha256:17eed03fbc8318402fc55992a46ff8cee0a6c72240292413a5e8616e9e6d39c0
Status: Downloaded newer image for dtzar/helm-kubectl:latest
bash-4.3# kubectl
bash-4.3# pwd
/config
bash-4.3# uname -a
Linux af88382d9037 4.9.36-moby #1 SMP Wed Jul 12 15:29:07 UTC 2017 x86_64 Linux
bash-4.3# kubectl get pods
Error in configuration:
* unable to read client-cert /Users/user/.minikube/apiserver.crt for minikube due to open /Users/user/.minikube/apiserver.crt: no such file or directory
* unable to read client-key /Users/user/.minikube/apiserver.key for minikube due to open /Users/user/.minikube/apiserver.key: no such file or directory
* unable to read certificate-authority /Users/user/.minikube/ca.crt for minikube due to open /Users/user/.minikube/ca.crt: no such file or directory
bash-4.3#

Another Image based on another Alpine Image

Hi,

this is actually a feature request, we are using your image in our gitlab pipelines and it is working perfectly but lately I was experimenting somethings with Gradle and I am trying to use the following Gradle Plugin (https://github.com/unbroken-dome/gradle-helm-plugin).

While the plugin need the kubectl and helm, I thought I can run the gradle inside of your image, naturally the problem with thought process, base Alpine image has no JDK in it :)

I experimented little bit, if I change the base image in your repository from to

FROM alpine:3 - > FROM adoptopenjdk/openjdk11:x86_64-alpine-jre-11.0.16.1_1

it is able to run this gradle build plus the helm functionality....

The problem is I can't upload this new image to our enterprise environment and (no-access for wget's in gitlab) so I like to ask what is the chance of getting

'jdk-helm-kubectl' version of this image :)

/root/.kube/ setup in Dockerfile

Have a simple Dockerfile based on this image:

FROM dtzar/helm-kubectl

RUN mkdir /root/.kube/

COPY .kube/ /root/.kube/    <-- copied ~/.kube to local directory

RUN kubectl config get-contexts  <-- this shows the context is setup correctly

...

but seeing this when running my image:

$ docker run --rm <my image> helm ls
Error: Get http://localhost:6445/api/v1/namespaces/kube-system/pods?labelSelector=app%3Dhelm%2Cname%3Dtiller: dial tcp 127.0.0.1:6445: connect: connection refused

Similarly, when running this image:

$ docker run --rm -v ~/.kube:/root/.kube dtzar/helm-kubectl helm ls
Error: Get http://localhost:6445/api/v1/namespaces/kube-system/pods?labelSelector=app%3Dhelm%2Cname%3Dtiller: dial tcp 127.0.0.1:6445: connect: connection refused

Am I missing something?
Does /root/.kube/ have to be a volume mount, or how could I set it up in a Dockerfile?

--
I'm using the built-in Kubernetes cluster from Docker for Desktop on Windows 10.

$ helm version
Client: &version.Version{SemVer:"v2.12.1", GitCommit:"02a47c7249b1fc6d8fd3b94e6b4babf9d818144e", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.12.1", GitCommit:"02a47c7249b1fc6d8fd3b94e6b4babf9d818144e", GitTreeState:"clean"}
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.1", GitCommit:"eec55b9ba98609a46fee712359c7b5b365bdd920", GitTreeState:"clean", BuildDate:"2018-12-13T10:39:04Z", GoVersion:"go1.11.2", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.3", GitCommit:"2bba0127d85d5a46ab4b778548be28623b32d0b0", GitTreeState:"clean", BuildDate:"2018-05-21T09:05:37Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

Use explicit alpine version

Switch to using an explicit alpine minor version (e.g. 3.19) in the Dockerfile versus the general 3 tag so that we ensure we document the proper version of alpine being used in the base image.

Helm install doesn't work in OpenShift container

The default behavior of a container that is run in OpenShift is to run under a randomly assigned uid that is part of the root group.

For a helm install of a chart in a helm repository, two things happen:

  1. The helm repo index is downloaded into /root/.cache/helm/repository
  2. The helm chart is downloaded into the current working directory - /config

For the helm install to work in an OpenShfit container, the root group needs to be able to read and write to the home and working directories.

Not able to set Admin default password

Use case:
Looking to use this image in my Kubernetes deployment component and run via kubectl rather than the docker cmd.

The Issue:
When passing the image in my Kubernetes cluster, I'm able to land on the /login page, however, because this is running on Kubernetes and not docker, a generated password is not present on the command prompt.

Potential solution:
Is there a way to pass a temporary default password via, the -e (environment)? With this approach login proceeds to the dashboard.

image

Cannot access the kind k8s cluster with kubectl even if the config volume is mounted

Issue

I created a kubernetes cluster using kind tool - https://kind.sigs.k8s.io/docs/user/quick-start/.

When I execute a kubectl get nodes cmd then I get as error The connection to the server 127.0.0.1:55112 was refused - did you specify the right host or port?

Steps to reproduce

  • $ kind create cluster
  • $ docker run -it -d --name devtools -v ~/.kube:/root/.kube dtzar/helm-kubectl
  • $ docker exec -it devtools kubectl get nodes
    The connection to the server 127.0.0.1:50168 was refused - did you specify the right host or port?

Of course, if I run the command locally without the docker container/ps, that works

kubectl get nodes
NAME                 STATUS   ROLES                  AGE   VERSION
kind-control-plane   Ready    control-plane,master   22h   v1.20.2

hardcored repo in helm - new version needed soon

Could you please release a new version as soon this is solved:

The helm provider has a hardcoded repository to https://kubernetes-charts.storage.googleapis.com/index.yaml. This repo does not resolve anymore so this breaks at the time of loading the provider. Please release a new version with the repository updated to the new stable: https://charts.helm.sh/stable

https://stackoverflow.com/questions/61954440/how-to-resolve-https-kubernetes-charts-storage-googleapis-com-is-not-a-valid

v3.13.3 is actually using Alpine 3.19 and not 3.18

Readme states that v3.13.3 is using Alpine 3.18, while actually the dockerfile uses Alpine with tag 3, which is currently on Alpine 3.19, see https://hub.docker.com/_/alpine

I got tripped by this, as it seems Alpine 3.19 does not have the vault package, so suddenly my build started to fail.

I had to pin to v3.13.2, so I can stick to Alpine 3.18 which has the vault package.

Suggestion: add jq in order to ease processing helm output

Fellow users of this image, what's you opinion about adding jq to the toolset?

Please upvote/downvote or leave a comment.


I found jq pretty useful when working with helm outputs.

My specific use case is:
get the current deployed setting of a value conditionally

Using jq inside the build script, I can decide on which version to deploy:

if [ ${params.buildVarnish} = true ]; then
  HELM_TAG_VARNISH="${params.dockerImageTag}"
else
  HELM_TAG_VARNISH=`helm get values my-release --output json | jq -r '.varnish.tag'`
fi

helm upgrade my-release my-chart \
  --set-string nginx.tag=${HELM_TAG_NGINX},varnish.tag=${HELM_TAG_VARNISH}

Corresponding PR: #33

Support for Helm 3.14

Hello ! Are you planning to release a version supporting Helm version 3.14 ?
Thanks

for deploy stage

Pls you can describe how to use your image for deploy app from docker hub to kubernetes?

i found on some blog... it is right?

deploy:
  stage: deploy
  image: dtzar/helm-kubectl
  script:
    - kubectl config set-cluster k8s --server="${SERVER}"
    - kubectl config set clusters.k8s.certificate-authority-data ${CERTIFICATE_AUTHORITY_DATA}
    - kubectl config set-credentials gitlab --token="${USER_TOKEN}"
    - kubectl config set-context default --cluster=k8s --user=gitlab
    - kubectl config use-context default
    - sed -i "s/<VERSION>/${CI_COMMIT_SHORT_SHA}/g" deployment.yaml
    - kubectl apply -f deployment.yaml

Helm plugin install does not work

I want to install a helm plugin via helm plugin install https://github.com/hypnoglow/helm-s3/releases/latest. However since git is not installed, I get the following error:

Error: git is not installed

Do you think it is feasible to provide git and make as well?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.