diff options
Diffstat (limited to 'vnfs/DAaaS/microservices/visualization-operator/build')
3 files changed, 40 insertions, 0 deletions
diff --git a/vnfs/DAaaS/microservices/visualization-operator/build/Dockerfile b/vnfs/DAaaS/microservices/visualization-operator/build/Dockerfile new file mode 100644 index 00000000..2ac838fc --- /dev/null +++ b/vnfs/DAaaS/microservices/visualization-operator/build/Dockerfile @@ -0,0 +1,15 @@ +FROM registry.access.redhat.com/ubi7/ubi-minimal:latest + +ENV OPERATOR=/usr/local/bin/visualization-operator \ + USER_UID=1001 \ + USER_NAME=visualization-operator + +# install operator binary +COPY build/_output/bin/visualization-operator ${OPERATOR} + +COPY build/bin /usr/local/bin +RUN /usr/local/bin/user_setup + +ENTRYPOINT ["/usr/local/bin/entrypoint"] + +USER ${USER_UID} diff --git a/vnfs/DAaaS/microservices/visualization-operator/build/bin/entrypoint b/vnfs/DAaaS/microservices/visualization-operator/build/bin/entrypoint new file mode 100755 index 00000000..f862b484 --- /dev/null +++ b/vnfs/DAaaS/microservices/visualization-operator/build/bin/entrypoint @@ -0,0 +1,12 @@ +#!/bin/sh -e + +# This is documented here: +# https://docs.openshift.com/container-platform/3.11/creating_images/guidelines.html#openshift-specific-guidelines + +if ! whoami &>/dev/null; then + if [ -w /etc/passwd ]; then + echo "${USER_NAME:-visualization-operator}:x:$(id -u):$(id -g):${USER_NAME:-visualization-operator} user:${HOME}:/sbin/nologin" >> /etc/passwd + fi +fi + +exec ${OPERATOR} $@ diff --git a/vnfs/DAaaS/microservices/visualization-operator/build/bin/user_setup b/vnfs/DAaaS/microservices/visualization-operator/build/bin/user_setup new file mode 100755 index 00000000..1e36064c --- /dev/null +++ b/vnfs/DAaaS/microservices/visualization-operator/build/bin/user_setup @@ -0,0 +1,13 @@ +#!/bin/sh +set -x + +# ensure $HOME exists and is accessible by group 0 (we don't know what the runtime UID will be) +mkdir -p ${HOME} +chown ${USER_UID}:0 ${HOME} +chmod ug+rwx ${HOME} + +# runtime user will need to be able to self-insert in /etc/passwd +chmod g+rw /etc/passwd + +# no need for this script to remain in the image after running +rm $0 |