aboutsummaryrefslogtreecommitdiffstats
path: root/packages/docker/src/main/docker/docker-files/Dockerfile.mso-arquillian
blob: 044e3aa20be76b2bcbda00877ef2d82973f8bcbd (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
FROM openecomp/wildfly:1.0


### File Author / Maintainer
MAINTAINER "The OpenECOMP Team"
LABEL Description="This image contains the OpenECOMP MSO base for arquillian" Version="1.0"

ARG chef_repo_branch_name
ARG chef_repo_address
ARG chef_repo_git_name
ARG chef_repo_git_username
ENV BRANCH_NAME=$chef_repo_branch_name
ENV REPO_USERNAME=$chef_repo_git_username
ENV REPO_ADDRESS=$chef_repo_address
ENV CHEF_REPO_NAME=$chef_repo_git_name

### Downloading dependencies

USER root
RUN apt-get install -y curl && curl -LO  https://packages.chef.io/stable/ubuntu/12.04/chefdk_0.17.17-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 && curl -LO http://search.maven.org/remotecontent?filepath=org/jacoco/jacoco/0.7.7.201606060606/jacoco-0.7.7.201606060606.zip && apt-get remove --purge -y curl && apt-get autoremove -y
RUN apt-get install -y unzip && unzip jacoco-0.7.7.201606060606.zip -d /tmp/jacoco && apt-get remove --purge -y unzip && apt-get autoremove -y
RUN chown -R jboss:jboss /tmp/jacoco
### Install Chef
RUN dpkg -i chefdk_0.17.17-1_amd64.deb 

COPY scripts/init-chef.sh /opt/mso/scripts/init-chef.sh
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 /var/berks-cookbooks
RUN chown jboss:jboss /var/berks-cookbooks
COPY chef-configs/solo.rb /tmp/git/solo.rb
RUN chown -R jboss:jboss /tmp/git/

COPY id_rsa /home/jboss/user
RUN chmod 600 /home/jboss/user
RUN chown -R jboss:jboss /home/jboss

# Start Chef config
RUN mkdir -p /var/nodes
RUN chown jboss:jboss /var/nodes

RUN mkdir -p /home/jboss/.chef/nodes
RUN mkdir /home/jboss/.ssh


RUN apt-get install -y git && sed -i "s@jboss:/bin/false@jboss:/bin/bash@g" /etc/passwd && su jboss -c "/opt/mso/scripts/init-chef.sh" && sed -i "s@jboss:/bin/bash@jboss:/bin/false@g" /etc/passwd && apt-get remove --purge -y git  && apt-get autoremove -y
RUN rm -rf /home/jboss/.ssh
RUN rm /home/jboss/user
RUN echo "" > /shared/mso-docker.json
RUN echo "" > /shared/jacoco-it.exec
RUN ls -latr /
RUN ls -latr /shared
RUN chown jboss:jboss /shared/jacoco-it.exec
RUN mv /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker.json /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker-init.json
RUN ln -s /shared/mso-docker.json /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker.json
RUN rm -rf /tmp/git

## 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/ -javaagent:/tmp/jacoco/lib/jacocoagent.jar=destfile=/shared/jacoco-it.exec,dumponexit=true,append=false,includes=com.att.*:org.openecomp.*\"" >> $JBOSS_HOME/bin/standalone.conf
RUN echo "LAUNCH_JBOSS_IN_BACKGROUND=true" >> $JBOSS_HOME/bin/standalone.conf

### Open Ports
EXPOSE 8080 9990

VOLUME /shared

### Start EAP
USER root
CMD ["/opt/mso/scripts/start-jboss-server.sh"]