blob: bbb3d1e4bfd66a48c21914bcdcc6feeacb348085 (
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
|
FROM openecomp/wildfly:1.0
### File Author / Maintainer
MAINTAINER "The ONAP Team"
LABEL Description="This image contains the ONAP SO" Version="1.0"
ARG http_proxy
ARG https_proxy
ENV HTTP_PROXY=$http_proxy
ENV HTTPS_PROXY=$https_proxy
ENV http_proxy=$HTTP_PROXY
ENV https_proxy=$HTTPS_PROXY
ENV CHEF_REPO_NAME="chef-repo"
ENV CHEF_CONFIG_NAME="mso-config"
USER root
### Downloading dependencies
# Install specific system libraries to fix CVE vulnerabilities
RUN echo "deb http://archive.ubuntu.com/ubuntu/ artful main restricted" >> /etc/apt/sources.list && \
echo "deb http://security.ubuntu.com/ubuntu/ artful-security main restricted" >> /etc/apt/sources.list && \
echo "deb http://archive.ubuntu.com/ubuntu/ bionic main restricted" >> /etc/apt/sources.list && \
apt-get -y update
# krb5 1.16-2build1
# For CVE-2017-15088 CVE-2017-11462
# libvorbis 1.3.5-4ubuntu0.2
# For CVE-2017-14632 CVE-2017-14160
# libx11 2:1.6.4-3
# For CVE-2016-7943 CVE-2016-7942
# libxtst 1.2.3-1
# For CVE-2016-7951
# ncurses 6.1-1ubuntu1
# For CVE-2017-10685 CVE-2017-10684
# libsqllite3-0 3.22.0-1
# For CVE-2017-10989
# libtiff5 4.0.8-5ubuntu0.1
# For CVE-2017-9117 CVE-2016-9540 CVE-2016-9539 CVE-2016-9538 CVE-2016-9537 CVE-2016-9536 CVE-2016-9535 CVE-2016-9534 CVE-2016-9533 CVE-2015-8668 CVE-2015-7554 CVE-2016-6223 CVE-2017-5563 CVE-2016-3621 CVE-2016-8331
# shadow 1:4.5-1ubuntu1
# For CVE-2017-12424
# perl-base 5.26.0-8ubuntu1.1
# For CVE-2015-8608 CVE-2017-12883
# openssl 1.1.0g-2ubuntu3
# For CVE-2016-6303 CVE-2016-2182 CVE-2016-2177 CVE-2016-2176
# zlib1g 1:1.2.11.dfsg-0ubuntu2
# For CVE-2016-9843 CVE-2016-9841 CVE-2016-9842 CVE-2016-9840
# libexpat1 2.2.5-3
# For CVE-2016-0718 CVE-2016-4472
# libc-bin libc6 2.26-0ubuntu2.1
# For CVE-2018-6485
# openssl 1.1.0g-2ubuntu3
# For CVE-2016-6303 CVE-2016-2182 CVE-2016-2177
# libpcre3 2:8.39-5ubuntu3
# For CVE-2016-3191 CVE-2016-1283
# berkeleydb
# For CVE-2016-3418 CVE-2016-0694 CVE-2016-0689 CVE-2016-0682
# jetty
# For CVE-2017-9735
# libxi
# For CVE-2016-7946 CVE-2016-7945
# xalan
# For CVE-2014-0107
# git
# For CVE-2017-14867
#
USER root
RUN apt-get -y --only-upgrade install \
libkrb5-3 krb5-locales \
libvorbis0a \
libx11-6 libx11-data libx11-doc libx11-xcb1 \
libxtst6 \
ncurses-base ncurses-bin libncurses5 libncursesw5 \
libsqlite3-0 \
libtiff5 \
passwd \
perl-base \
openssl \
zlib1g \
libdb5.3 \
libc-bin libc6 multiarch-support \
libxi6 \
libpcre3 \
expat \
jetty9 \
xalan \
git
RUN apt-get install -y netcat curl && curl -LO https://packages.chef.io/files/stable/chefdk/2.5.3/ubuntu/16.04/chefdk_2.5.3-1_amd64.deb && curl -LO http://central.maven.org/maven2/org/mariadb/jdbc/mariadb-java-client/1.5.4/mariadb-java-client-1.5.4.jar && apt-get remove --purge -y curl && apt-get autoremove -y
### Install Chef
#RUN dpkg -i chefdk_0.17.17-1_amd64.deb
RUN dpkg -i chefdk_2.5.3-1_amd64.deb
COPY scripts/start-jboss-server.sh /opt/mso/scripts/start-jboss-server.sh
RUN chown jboss:jboss /opt/mso/scripts/*
RUN chmod u+rx /opt/mso/scripts/*
RUN mkdir /etc/chef
RUN chown jboss:jboss /etc/chef
RUN chmod u+xrw /etc/chef
RUN mkdir -p /etc/mso
RUN chown -R jboss:jboss /etc/mso
RUN chmod u+xrw /etc/mso
# Setup shared folder
RUN mkdir /shared
RUN chown jboss:jboss /shared
# Setup chef folders
RUN mkdir -p /var/chef/nodes
RUN chown jboss:jboss /var/chef/nodes
RUN mkdir /var/berks-cookbooks
RUN chown jboss:jboss /var/berks-cookbooks
RUN mkdir -p /home/jboss/.chef/nodes
RUN chown jboss:jboss /home/jboss/.chef/nodes
COPY chef-configs/${CHEF_REPO_NAME} /var/berks-cookbooks/${CHEF_REPO_NAME}
COPY chef-configs/${CHEF_CONFIG_NAME} /var/berks-cookbooks/${CHEF_CONFIG_NAME}
COPY chef-configs/solo.rb /var/berks-cookbooks/${CHEF_REPO_NAME}/solo.rb
# Start Chef config
RUN sed "s/CHEF_REPO_NAME_TO_REPLACE/${CHEF_REPO_NAME}/g" -i /var/berks-cookbooks/${CHEF_REPO_NAME}/solo.rb
RUN chef-solo -c /var/berks-cookbooks/${CHEF_REPO_NAME}/solo.rb -o recipe[mso-config::apih],recipe[mso-config::bpmn],recipe[mso-config::jra]
RUN mv /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker.json /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker-init.json
RUN echo "" > /shared/mso-docker.json
RUN ln -s /shared/mso-docker.json /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker.json
## Create the log folder for MSO
RUN mkdir -p /var/log/ecomp/MSO/
RUN chown jboss:jboss /var/log/ecomp/MSO
### Configure Jboss WildFly
RUN mkdir -p $JBOSS_HOME/modules/mariadb/main
RUN cp mariadb-java-client-1.5.4.jar $JBOSS_HOME/modules/mariadb/main
COPY jboss-configs/modules/mariadb/main/module.xml $JBOSS_HOME/modules/mariadb/main
COPY jboss-configs/configuration/standalone-full-ha.xml $JBOSS_HOME/standalone/configuration/standalone-full-ha-mso.xml
COPY jboss-configs/configuration/mgmt-users.properties $JBOSS_HOME/standalone/configuration/mgmt-users.properties
COPY jboss-configs/configuration/mgmt-groups.properties $JBOSS_HOME/standalone/configuration/mgmt-groups.properties
COPY jboss-configs/configuration/application-users.properties $JBOSS_HOME/standalone/configuration/application-users.properties
COPY jboss-configs/configuration/application-roles.properties $JBOSS_HOME/standalone/configuration/application-roles.properties
RUN echo "JAVA_OPTS=\"\$JAVA_OPTS -Xms64m -Xmx4g -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=1g -Djboss.bind.address=0.0.0.0 -Djboss.bind.address.management=0.0.0.0 -Dmso.db=MARIADB -Dmso.config.path=/etc/mso/config.d/\"" >> $JBOSS_HOME/bin/standalone.conf
RUN echo "LAUNCH_JBOSS_IN_BACKGROUND=true" >> $JBOSS_HOME/bin/standalone.conf
COPY ./maven/artifacts/* $JBOSS_HOME/standalone/deployments/
RUN mkdir -p /etc/mso/config.d/ASDC && chown -R jboss:jboss /etc/mso/config.d/ASDC && chmod u+xrw /etc/mso/config.d/ASDC
COPY wait-for.sh /
## Install heatbridge
#RUN apt-get install -y python && apt-get install -y python-pip && echo 'PIP Installed, doing upgrade' && pip install --upgrade pip
#RUN mkdir /opt/mso/heatbridge
#COPY heatbridge/heatbridge-0.3.0.dev0-py2-none-any.whl /opt/mso/heatbridge
#RUN pip install /opt/mso/heatbridge/heatbridge-0.3.0.dev0-py2-none-any.whl
### Open Ports
EXPOSE 8080
VOLUME /shared
### Start EAP
USER root
CMD ["/opt/mso/scripts/start-jboss-server.sh"]
|