aboutsummaryrefslogtreecommitdiffstats
path: root/Dockerfile
diff options
context:
space:
mode:
authorJack Lucas <jflos@sonoris.net>2021-01-13 12:50:10 -0500
committerJack Lucas <jflos@sonoris.net>2021-01-13 12:50:10 -0500
commitec9906058fd977947b970af72725dc00c591587b (patch)
tree8c0d1317543212de443fa027cddffa382d9cbc5f /Dockerfile
parent95afae23452a6debbbeaf5bd18f6466522457197 (diff)
Move bootstrap container to python 33.0.0
Move to an Alpine python base image and install a Python 3 version of the Cloudify CLI. Also remove loading of k8s plugin configurations. (Will move to CM via an init container.) Issue-ID: DCAEGEN2-2543 Issue-ID: DCAEGEN2-2582 Signed-off-by: Jack Lucas <jflos@sonoris.net> Change-Id: I6d147bbbce863ee8e04d2bd70d7189dc63fa9950
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile59
1 files changed, 59 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..51c704c
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,59 @@
+# ============LICENSE_START=======================================================
+# org.onap.dcae
+# ================================================================================
+# Copyright (c) 2018-2020 AT&T Intellectual Property. All rights reserved.
+# Copyright (c) 2021 J. F. Lucas. All rights reserved.
+# ================================================================================
+# 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
+#
+# 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.
+# ============LICENSE_END=========================================================
+
+# cloudify CLI requires python 3.6
+# won't work with 3.7 or later, hence won't work
+# with the ONAP integration-python base images
+FROM python:3.6-alpine
+LABEL maintainer="ONAP DCAE Team"
+LABEL Description="DCAE bootstrap image"
+
+ARG user=onap
+ARG group=onap
+
+# Install packages needed for cloudify and for running bootstrap script
+RUN apk --no-cache add build-base libffi-dev openssl-dev curl bash
+
+# Install jq
+RUN curl -Ssf -L "https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64" > /bin/jq \
+&& chmod +x /bin/jq
+
+# Install pip and Cloudify CLI
+RUN pip install cloudify==5.1.1
+
+# Copy scripts
+RUN mkdir scripts
+COPY scripts/ /scripts
+
+# Load blueprints and input templates
+COPY blueprints/ /blueprints
+
+# Set up runtime script
+ENTRYPOINT exec "/scripts/bootstrap.sh"
+
+# Make scripts executable & set up a non-root user
+RUN chmod +x /scripts/*.sh \
+ && mkdir -p /opt/bootstrap \
+ && addgroup -S $group \
+ && adduser -S -D -h /opt/bootstrap -s /bin/bash $user $group \
+ && chown -R $user:$group /opt/bootstrap \
+ && chown -R $user:$group /scripts \
+ && chown -R $user:$group /blueprints
+
+USER $user