magnum/dockerfiles/kubernetes-apiserver/Dockerfile
Spyros Trigazis c9262419fd ci: Fix ADD_ALLOW_PRIV build-arg
In [0] we added a build-arg for the deprecaeted
--allow-priv option. This arg needs to be defined
after the FROM line in the dockerfile.

Note, other systems like podman can use the
arg even before the FROM statement. Docker needs
it after.

[0] I2935d34ace08800c805028f1673bc515f2f577e6

story: 2005124

Change-Id: I34af2451e92962b835ac0f1a1e49dfcbfd477830
Signed-off-by: Spyros Trigazis <spyridon.trigazis@cern.ch>
2019-07-12 16:04:19 +02:00

43 lines
1.5 KiB
Docker

ARG KUBE_VERSION=v1.13.0
FROM fedora:rawhide
ARG KUBE_VERSION
ARG ADD_KUBE_ALLOW_PRIV=false
RUN curl -o /root/kubectl -O https://storage.googleapis.com/kubernetes-release/release/${KUBE_VERSION}/bin/linux/amd64/kubectl
FROM gcr.io/google-containers/kube-apiserver-amd64:${KUBE_VERSION}
ENV container=docker
ENV NAME=kubernetes-apiserver VERSION=0.1 RELEASE=8 ARCH=x86_64
LABEL bzcomponent="$NAME" \
name="$FGC/$NAME" \
version="$VERSION" \
release="$RELEASE.$DISTTAG" \
architecture="$ARCH" \
atomic.type='system' \
maintainer="Jason Brooks <jbrooks@redhat.com>"
COPY launch.sh /usr/bin/kube-apiserver-docker.sh
COPY service.template config.json.template /exports/
# copy kubectl into the host, another way to do this would be:
#
# echo "runc exec -- kube-apiserver /usr/bin/kubectl \$@" \
# > /exports/hostfs/usr/local/bin/kubectl && chmod +x \
# /exports/hostfs/usr/local/bin/kubectl
#
# however, this would require hard-coding the container name
COPY apiserver config /etc/kubernetes/
RUN [ "$ADD_KUBE_ALLOW_PRIV" = "true" ] && echo "KUBE_ALLOW_PRIV=\"--allow-privileged=false\"" >> /etc/kubernetes/config || true
RUN mkdir -p /exports/hostfs/usr/local/bin/
COPY --from=0 /root/kubectl /exports/hostfs/usr/local/bin/
RUN chmod +x /exports/hostfs/usr/local/bin/kubectl && \
mkdir -p /exports/hostfs/etc/kubernetes && \
cp /etc/kubernetes/config /exports/hostfs/etc/kubernetes/ && \
cp /etc/kubernetes/apiserver /exports/hostfs/etc/kubernetes/
ENTRYPOINT ["/usr/bin/kube-apiserver-docker.sh"]