summaryrefslogtreecommitdiffstats
path: root/Dockerfile-template
blob: 54609ca5f7902c0e4759b357a197994cb50a0bfd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# ============LICENSE_START=======================================================
# org.onap.dcae
# ================================================================================
# Copyright (c) 2018-2020 AT&T Intellectual Property. 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=========================================================

FROM centos:7.4.1708
LABEL maintainer="maintainer"

ENV DCAE_REPO {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}
ENV CCSDK_REPO {{ ONAPTEMPLATE_RAWREPOURL_org_onap_ccsdk_platform_plugins_releases }}
ENV BP_REPO {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_blueprints_releases }}

# Install gcc
RUN yum install -y gcc python-devel

# Install Consul
RUN yum install -y unzip \
  && mkdir -p /opt/consul/bin \
  && mkdir -p /opt/consul/data \
  && mkdir -p /opt/consul/config \
  && curl -Ssf https://releases.hashicorp.com/consul/1.2.1/consul_1.2.1_linux_amd64.zip > /tmp/consul.zip \
  && unzip -pj /tmp/consul.zip > /opt/consul/bin/consul \
  && chmod +x /opt/consul/bin/consul
COPY config/00-consul.json /opt/consul/config/

# 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 (stay at version 4.2 because of changes in higher versions)
RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py \
  && python get-pip.py \
  && rm get-pip.py \
  && pip install cloudify==4.2

# Copy scripts
RUN mkdir scripts
COPY scripts/ /scripts

# Get plugins from raw repos
RUN scripts/load-plugins.sh ${DCAE_REPO} ${CCSDK_REPO} \
  && rm scripts/load-plugins.sh \
# Make sure scripts are executable
  && chmod +x /scripts/*.sh

# Load blueprints and input templates
COPY blueprints/  /blueprints

# Set up runtime script
ENTRYPOINT exec "/scripts/bootstrap.sh"

# Set up a non-root user
RUN mkdir -p /opt/bootstrap \
  && useradd -d /opt/bootstrap bootstrap \
  && chown -R bootstrap:bootstrap /opt/bootstrap \
  && chown -R bootstrap:bootstrap /scripts \
  && chown -R bootstrap:bootstrap /blueprints \
  && chown -R bootstrap:bootstrap /opt/consul
USER bootstrap