/
Dockerfile-int
67 lines (54 loc) · 2.76 KB
/
Dockerfile-int
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
FROM quay.io/f5networks/rhel8_base_builder:latest as base
ENV BASE_PATH "$GOPATH/src/github.com/F5Networks"
RUN mkdir -p "$BASE_PATH"
ENV REPO_NAME k8s-bigip-ctlr
WORKDIR "$BASE_PATH/$REPO_NAME"
ARG RUN_TESTS=0
ARG COVERALLS_TOKEN
ARG BUILD_VERSION
ARG BUILD_INFO
ARG LICENSE
# Copy Source code to workdir
COPY . .
RUN /bin/bash -ex $BASE_PATH/$REPO_NAME/build-tools/rel-build.sh
FROM registry.redhat.io/ubi7/ubi-minimal as final
LABEL name="f5networks/k8s-bigip-ctlr" \
vendor="F5 Networks" \
# version - should be passed in via docker build
url="http://clouddocs.f5.com/products/connectors/k8s-bigip-ctlr/latest/" \
summary="F5 BIG-IP Controller for Kubernetes" \
description="Manages F5 BIG-IP from Kubernetes" \
run='docker run --name ${NAME} ${IMAGE} /app/bin/k8s-bigip-ctlr' \
io.k8s.description="Manages F5 BIG-IP from Kubernetes" \
io.k8s.display-name="F5 BIG-IP Controller for Kubernetes" \
io.openshift.expose-services="" \
io.openshift.tags="f5,f5networks,bigip,openshift,router"
ENV APPPATH /app
RUN mkdir -p "$APPPATH/bin" \
&& chmod -R 755 "$APPPATH"
WORKDIR $APPPATH
ARG BUILD_INFO
ARG VERSION_INFO
COPY $BASE_PATH/$REPO_NAME/build-tools/help.md /tmp/
#COPY LICENSE /licenses/
# Add epel repo for golang-github-cpuguy83-go-md2man install
RUN curl -o epel-release-latest-7.noarch.rpm -SL https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm \
--retry 9 --retry-max-time 0 -C - && \
rpm -ivh epel-release-latest-7.noarch.rpm && rm epel-release-latest-7.noarch.rpm && \
microdnf -y install --enablerepo=epel --setopt=tsflags=nodocs golang-github-cpuguy83-go-md2man
RUN microdnf --enablerepo=ubi-7 \
--enablerepo=ubi-7-server-devtools-rpms --enablerepo=ubi-7-server-extras-rpms --enablerepo=ubi-7-server-optional-rpms --enablerepo=ubi-server-rhscl-7-rpms install --nodocs \
rh-python36 git shadow-utils && \
microdnf update && \
microdnf --enablerepo=ubi-7 --enablerepo=ubi-7-server-devtools-rpms --enablerepo=ubi-7-server-extras-rpms --enablerepo=ubi-7-server-optional-rpms --enablerepo=ubi-server-rhscl-7-rpms update nss-tools nss-softokn nss-util && \
go-md2man -in /tmp/help.md -out /help.1 && rm -f /tmp/help.md && \
adduser ctlr && \
microdnf remove golang-github-cpuguy83-go-md2man git fipscheck fipscheck-lib less libedit \
libgnome-keyring openssh openssh-clients perl-Git perl-TermReadKey perl-macros rsync shadow-utils && \
microdnf clean all \
&& echo "{\"version\": \"${VERSION_INFO}\", \"build\": \"${BUILD_INFO}\"}" \
> $APPPATH/VERSION_BUILD.json
COPY --from=base "/build/mnt/linux-amd64-release-go1.15/bin/k8s-bigip-ctlr" $APPPATH/bin
USER ctlr
# Run the run application in the projects bin directory.
CMD [ "/app/bin/k8s-bigip-ctlr" ]