Public Repository

Last pushed: a year ago
Short Description
Experimental image with Kubernetes Helm to run inside a POD in Kubernetes
Full Description

I haven't set up a repo for this so here are the Dockerfile and a sample Job using it. This is just experimental stuff mind you.

Dockerfile

FROM alpine:3.4

MAINTAINER Eirikur Hrafnsson <eiki@greenqloud.com>
# This image packages Kubernetes Helm to be used in a POD in a Kubernetes cluster.

ENV VERSION v2.0.0
ENV ARCHTYPE amd64
ENV OS linux
ENV FILENAME helm-${VERSION}-${OS}-${ARCHTYPE}.tar.gz

USER root

WORKDIR /
ADD http://storage.googleapis.com/kubernetes-helm/helm-${VERSION}-${OS}-${ARCHTYPE}.tar.gz /tmp

# unpack and put helm in PATH
RUN set -x \
&& chmod +x /tmp/${FILENAME} \
&& tar -zxvf /tmp/${FILENAME} -C /tmp \
&& ls -la /tmp/linux-amd64/ \
&& mv /tmp/${OS}-${ARCHTYPE}/helm /usr/local/bin/ \
&& rm -rf /tmp

# Helm is a Go binary and most are not built on Alpine so we need to 
# symlink these or helm command will not "be found". ldd helm showed this
# and this thread provided the solution:
# http://stackoverflow.com/questions/34729748/installed-go-binary-not-found-in-path-on-alpine-linux-docker
RUN mkdir /lib64 && ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2

# just to see it work
RUN helm

ENTRYPOINT ["/usr/local/bin/helm"]

k8s Job

apiVersion: batch/v1
kind: Job
metadata:
  generateName: qstack-helm-
  namespace: helm
  labels:
    app: qstack
spec:
  activeDeadlineSeconds: 300
  template:
    metadata:
      name: qstack-helm
      labels:
        app: qstack
    spec:
      containers:
      - name: helm
        image: sputnick/helm:canary
        imagePullPolicy: Always
        command: ["/bin/sh","-c"]
        args: ["helm init && helm search; helm install stable/redmine"]
      restartPolicy: Never
Docker Pull Command
Owner
sputnick

Comments (0)