1 FROM openecomp/wildfly:1.0
 
   4 ### File Author / Maintainer
 
   5 MAINTAINER "The OpenECOMP Team"
 
   6 LABEL Description="This image contains the OpenECOMP MSO" Version="1.0"
 
  10 ENV HTTP_PROXY=$http_proxy
 
  11 ENV HTTPS_PROXY=$https_proxy
 
  12 ENV http_proxy=$HTTP_PROXY
 
  13 ENV https_proxy=$HTTPS_PROXY
 
  15 ENV CHEF_REPO_NAME="chef-repo"
 
  16 ENV CHEF_CONFIG_NAME="mso-config"
 
  18 ### Downloading dependencies
 
  21 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 && apt-get remove --purge -y curl && apt-get autoremove -y
 
  24 RUN dpkg -i chefdk_0.17.17-1_amd64.deb 
 
  26 COPY scripts/start-jboss-server.sh /opt/mso/scripts/start-jboss-server.sh
 
  28 RUN chown jboss:jboss /opt/mso/scripts/*
 
  29 RUN chmod u+rx /opt/mso/scripts/*
 
  32 RUN chown jboss:jboss /etc/chef
 
  33 RUN chmod u+xrw /etc/chef
 
  36 RUN chown -R jboss:jboss /etc/mso
 
  37 RUN chmod u+xrw /etc/mso
 
  41 RUN chown jboss:jboss /shared
 
  44 RUN mkdir -p /var/chef/nodes
 
  45 RUN chown jboss:jboss /var/chef/nodes
 
  46 RUN mkdir /var/berks-cookbooks
 
  47 RUN chown jboss:jboss /var/berks-cookbooks
 
  48 RUN mkdir -p /home/jboss/.chef/nodes
 
  49 RUN chown jboss:jboss /home/jboss/.chef/nodes
 
  51 COPY chef-configs/${CHEF_REPO_NAME} /var/berks-cookbooks/${CHEF_REPO_NAME}
 
  52 COPY chef-configs/${CHEF_CONFIG_NAME} /var/berks-cookbooks/${CHEF_CONFIG_NAME}
 
  53 COPY chef-configs/solo.rb /var/berks-cookbooks/${CHEF_REPO_NAME}/solo.rb
 
  56 RUN sed "s/CHEF_REPO_NAME_TO_REPLACE/${CHEF_REPO_NAME}/g" -i /var/berks-cookbooks/${CHEF_REPO_NAME}/solo.rb
 
  57 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]
 
  59 RUN mv /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker.json /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker-init.json
 
  60 RUN echo "" > /shared/mso-docker.json
 
  61 RUN ln -s /shared/mso-docker.json /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker.json
 
  63 ## Create the log folder for MSO
 
  64 RUN mkdir -p /var/log/ecomp/MSO/
 
  65 RUN chown jboss:jboss /var/log/ecomp/MSO
 
  67 ### Configure Jboss WildFly
 
  68 RUN mkdir -p $JBOSS_HOME/modules/mariadb/main
 
  69 RUN cp mariadb-java-client-1.5.4.jar $JBOSS_HOME/modules/mariadb/main
 
  70 COPY jboss-configs/modules/mariadb/main/module.xml $JBOSS_HOME/modules/mariadb/main
 
  71 COPY jboss-configs/configuration/standalone-full-ha.xml $JBOSS_HOME/standalone/configuration/standalone-full-ha-mso.xml
 
  72 COPY jboss-configs/configuration/mgmt-users.properties $JBOSS_HOME/standalone/configuration/mgmt-users.properties
 
  73 COPY jboss-configs/configuration/mgmt-groups.properties $JBOSS_HOME/standalone/configuration/mgmt-groups.properties
 
  74 COPY jboss-configs/configuration/application-users.properties $JBOSS_HOME/standalone/configuration/application-users.properties
 
  75 COPY jboss-configs/configuration/application-roles.properties $JBOSS_HOME/standalone/configuration/application-roles.properties
 
  77 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
 
  78 RUN echo "LAUNCH_JBOSS_IN_BACKGROUND=true" >> $JBOSS_HOME/bin/standalone.conf
 
  80 COPY ./maven/artifacts/* $JBOSS_HOME/standalone/deployments/
 
  89 CMD ["/opt/mso/scripts/start-jboss-server.sh"]