Add checking of status of local http server used to serve deb packages
[osm/devops.git] / docker / Keystone / Dockerfile
index 4451116..a608f87 100644 (file)
@@ -1,28 +1,32 @@
-# Copyright 2021 Whitestack, LLC
+#######################################################################################
+# Copyright ETSI Contributors and Others.
 #
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
 #
-#         http://www.apache.org/licenses/LICENSE-2.0
+#    http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-# For those usages not covered by the Apache License, Version 2.0 please
-# contact: fbravo@whitestack.com or glavado@whitestack.com
-##
-
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#######################################################################################
 FROM ubuntu:20.04
 
+ARG APT_PROXY
+RUN if [ ! -z $APT_PROXY ] ; then \
+    echo "Acquire::http::Proxy \"$APT_PROXY\";" > /etc/apt/apt.conf.d/proxy.conf ;\
+    echo "Acquire::https::Proxy \"$APT_PROXY\";" >> /etc/apt/apt.conf.d/proxy.conf ;\
+    fi
+
 EXPOSE 5000
 
-WORKDIR /keystone
+WORKDIR /app
 
-COPY scripts/start.sh /keystone/start.sh
+COPY scripts/start.sh /app/start.sh
 
 RUN DEBIAN_FRONTEND=noninteractive apt-get update && \
     DEBIAN_FRONTEND=noninteractive apt-get upgrade -y && \
@@ -53,7 +57,33 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && \
     rm -rf /var/lib/apt/lists/* && \
     chmod +x start.sh
 
-RUN pip3 install -U pip==21.3.1 && pip3 install python-ldap==3.2.0 ldappool==3.0.0
+RUN pip3 install -U pip==21.3.1 && \
+    pip3 install python-ldap==3.2.0 ldappool==3.0.0 python-openstackclient==5.7.0
+
+# Creating the user for the app
+RUN groupadd -g 1000 appuser && \
+    useradd -u 1000 -g 1000 -d /app appuser && \
+    usermod -a -G keystone appuser && \
+    usermod -a -G adm appuser && \
+    chown -R appuser:appuser /app && \
+    chown root:keystone /etc/keystone && \
+    chmod 770 /etc/keystone && \
+    chown root:keystone /etc/ssl/certs && \
+    chmod 770 /etc/ssl/certs && \
+    chown root:keystone /etc/apache2/apache2.conf && \
+    chmod 664 /etc/apache2/apache2.conf && \
+    sed -i 's/Listen 80/Listen 8080/g' /etc/apache2/ports.conf && \
+    chown root:keystone /var/spool && \
+    chmod 775 /var/spool && \
+    chmod 770 /var/log/apache2 && \
+    chmod 660 /var/log/apache2/* && \
+    chmod 770 /var/log/keystone && \
+    chown root:keystone /var/run/apache2 && \
+    chmod 775 /var/run/apache2 && \
+    mkdir -p /etc/sudoers.d && \
+    echo "%appuser ALL= NOPASSWD: /sbin/service apache2 *" > /etc/sudoers.d/appuser
+
+USER appuser
 
 # database
 ENV DB_HOST                 keystone-db