Skip to content

Commit 92189b4

Browse files
committed
make Dockerfile compatible with OpenShift style
Add bridge version to the Dockefile lables Add arguments USERNAME GROUPNAME USERID GROUPID allowing to specify user/group settings at the image build time Set default GROUPID to 0
1 parent ba1c0dd commit 92189b4

File tree

1 file changed

+47
-16
lines changed

1 file changed

+47
-16
lines changed

Dockerfile

Lines changed: 47 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ ARG BASE=registry.access.redhat.com/ubi8/ubi:8.5
22
FROM $BASE
33

44
LABEL com.ibm.name="IBM Spectrum Scale bridge for Grafana"
5-
LABEL com.ibm.vendor="IBM"
5+
LABEL com.ibm.vendor="IBM"
6+
LABEL com.ibm.version="7.0.8-dev"
7+
LABEL com.ibm.url="https://github.com/IBM/ibm-spectrum-scale-bridge-for-grafana"
68
LABEL com.ibm.description="This tool translates the IBM Spectrum Scale performance data collected internally \
79
to the query requests acceptable by the Grafana integrated openTSDB plugin"
810
LABEL com.ibm.summary="It allows the IBM Spectrum Scale users to perform performance monitoring for IBM Spectrum Scale devices using Grafana"
@@ -75,21 +77,50 @@ RUN echo "the log will use $LOGPATH"
7577
WORKDIR /opt/IBM/bridge
7678
RUN echo "$(pwd)"
7779

78-
# Create a user 'bridge' under 'root' group
79-
RUN groupadd -g 2099 bridge
80-
RUN useradd -rm -d /home/2001 -s /bin/bash -g 2099 -u 2001 bridge
81-
82-
# Chown all the files to the grafanabridge 'bridge' user
83-
RUN chown -R 2001:2099 /opt/IBM/bridge
84-
RUN chown -R 2001:2099 /opt/IBM/zimon
85-
RUN chown -R 2001:2099 /var/mmfs/gen
86-
RUN chown -R 2001:2099 /etc/ssl/certs
87-
RUN chown -R 2001:2099 /etc/perfmon-api-keys
88-
RUN chown -R 2001:2099 $TLSKEYPATH
89-
RUN chown -R 2001:2099 $LOGPATH
90-
91-
# Switch to user 'bridge'
92-
USER 2001
80+
ARG USERNAME=bridge
81+
ENV USER=$USERNAME
82+
ARG GROUPNAME=bridge
83+
ENV GROUP=$GROUPNAME
84+
ARG USERID=2001
85+
ENV UID=$USERID
86+
ARG GROUPID=0
87+
ENV GID=$GROUPID
88+
89+
# Create a container user
90+
RUN if [ "$GID" -gt "0" ]; then groupadd -g $GID $GROUP; else echo "Since root GID specified skipping groupadd"; fi
91+
RUN useradd -rm -d /home/$UID -s /bin/bash -g $GID -u $UID $USER
92+
93+
# Change group ownership
94+
RUN chgrp -R $GID /opt/IBM/bridge
95+
RUN chgrp -R $GID /opt/IBM/zimon
96+
RUN chgrp -R $GID /var/mmfs/gen
97+
RUN chgrp -R $GID /etc/ssl/certs
98+
RUN chgrp -R $GID /var/mmfs/gen
99+
RUN chgrp -R $GID /etc/perfmon-api-keys
100+
RUN chgrp -R $GID $TLSKEYPATH
101+
RUN chgrp -R $GID $LOGPATH
102+
103+
# Set group permissions
104+
RUN chmod -R g=u /opt/IBM/bridge
105+
RUN chmod -R g=u /opt/IBM/zimon
106+
RUN chmod -R g=u /var/mmfs/gen
107+
RUN chmod -R g=u /etc/ssl/certs
108+
RUN chmod -R g=u /var/mmfs/gen
109+
RUN chmod -R g=u /etc/perfmon-api-keys
110+
RUN chmod -R g=u $TLSKEYPATH
111+
RUN chmod -R g=u $LOGPATH
112+
113+
# Chown all needed files
114+
RUN chown -R $UID:$GID /opt/IBM/bridge
115+
RUN chown -R $UID:$GID /opt/IBM/zimon
116+
RUN chown -R $UID:$GID /var/mmfs/gen
117+
RUN chown -R $UID:$GID /etc/ssl/certs
118+
RUN chown -R $UID:$GID /etc/perfmon-api-keys
119+
RUN chown -R $UID:$GID $TLSKEYPATH
120+
RUN chown -R $UID:$GID $LOGPATH
121+
122+
# Switch user
123+
USER $GID
93124

94125

95126
CMD ["sh", "-c", "python3 zimonGrafanaIntf.py -c 10 -s $SERVER -r $PROTOCOL -p $PORT -P $SERVERPORT -t $TLSKEYPATH -l $LOGPATH --tlsKeyFile $TLSKEYFILE --tlsCertFile $TLSCERTFILE --apiKeyName $APIKEYNAME --apiKeyValue $APIKEYVALUE"]

0 commit comments

Comments
 (0)