# ============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 rust (needed for "cryptography", needed for "cloudify" RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > /rustinstall \ && chmod +x /rustinstall \ && /rustinstall -y # Install pip and Cloudify CLI RUN source /root/.cargo/env \ && pip install --upgrade pip \ && 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