Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit 60ffaffa authored by Joze RIHTARSIC's avatar Joze RIHTARSIC
Browse files

- add new parameters to SML-SMP image for domibus DDC testing

parent 5578d518
No related branches found
No related tags found
No related merge requests found
......@@ -2,6 +2,8 @@ FROM ubuntu:18.04
MAINTAINER Joze Rihtarsic
ARG SMP_VERSION
ARG SMP_LOGICAL_ADDRESS="${SMP_LOGICAL_ADDRESS:-http://localhost:8080/smp/}"
# Set the SMP_VERSION env variable \
ENV SMP_HOME=/opt/smp \
MYSQL_DRV_VERSION=5.1.46 \
......@@ -11,6 +13,8 @@ ENV SMP_HOME=/opt/smp \
TOMCAT_SHA512=51d8877782bc975b8c566263df7e55f383e617aa3c81ea2c219fed18e1f5d9e8233a92100de95b9a8df69ce5c0ad89a195d5b7e5647fcf9df26231870073a9cb \
SMP_DB_SCHEMA=smp \
SMP_DB_USER=smp \
SMP_INIT_PROPERTY_DELIMITER="||" \
SMP_INIT_PROPERTIES="" \
SMP_DB_USER_PASSWORD=smp \
MYSQL_ROOT_PASSWORD=root \
# sml environment variables
......@@ -77,14 +81,7 @@ RUN apt-get update \
# add SMP init configuration
&& echo "datasource.jndi=java:comp/env/jdbc/eDeliverySmpDs" > $SMP_HOME/apache-tomcat-$TOMCAT_VERSION/classes/smp.config.properties \
&& echo "hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect" >> $SMP_HOME/apache-tomcat-$TOMCAT_VERSION/classes/smp.config.properties \
&& echo "# SMP init parameters" >> $SMP_HOME/apache-tomcat-$TOMCAT_VERSION/classes/smp.config.properties \
&& echo "authentication.blueCoat.enabled=true" >> $SMP_HOME/apache-tomcat-$TOMCAT_VERSION/classes/smp.config.properties \
&& echo "bdmsl.integration.enabled=true" >> $SMP_HOME/apache-tomcat-$TOMCAT_VERSION/classes/smp.config.properties \
&& echo "bdmsl.integration.url=http://localhost:8080/edelivery-sml/" >> $SMP_HOME/apache-tomcat-$TOMCAT_VERSION/classes/smp.config.properties \
&& echo "bdmsl.integration.logical.address=http://localhost:8080/smp/" >> $SMP_HOME/apache-tomcat-$TOMCAT_VERSION/classes/smp.config.properties \
&& echo "bdmsl.integration.physical.address=0.0.0.0" >> $SMP_HOME/apache-tomcat-$TOMCAT_VERSION/classes/smp.config.properties \
&& echo "bdmsl.participant.multidomain.enabled=false" >> $SMP_HOME/apache-tomcat-$TOMCAT_VERSION/classes/smp.config.properties \
# add SML init configuration
# add SML init configuration
&& echo "sml.datasource.jndi=java:comp/env/jdbc/eDeliverySmlDs" > $SMP_HOME/apache-tomcat-$TOMCAT_VERSION/classes/sml.config.properties \
&& echo "sml.hibernate.dialect=org.hibernate.dialect.MySQLDialect" >> $SMP_HOME/apache-tomcat-$TOMCAT_VERSION/classes/sml.config.properties \
&& echo "sml.jsp.servlet.class=org.apache.jasper.servlet.JspServlet" >> $SMP_HOME/apache-tomcat-$TOMCAT_VERSION/classes/sml.config.properties \
......
......@@ -11,5 +11,4 @@ test.edelivery.local IN SOA ns.test.edelivery.local. root.test.edelivery.local.
$ORIGIN test.edelivery.local.
$TTL 60 ; 1 minute
ac A 192.168.56.201
ns A 127.0.0.1
#!/bin/sh
#!/bin/bash
#set -e
......@@ -25,7 +25,7 @@ fi
init_tomcat() {
# add java code coverage angent to image
if [[ -e /opt/jacoco/jacoco-agent.jar ]]; then
if [ -e /opt/jacoco/jacoco-agent.jar ]; then
JAVA_OPTS="-javaagent:/opt/jacoco/jacoco-agent.jar=output=tcpserver,address=*,port=6901 $JAVA_OPTS"
fi
# add allow encoded slashes and disable scheme for proxy
......@@ -67,6 +67,21 @@ init_tomcat() {
sleep 5s
}
init_smp_properties() {
echo "[INFO] init smp properties:"
{ echo "# SMP init parameters"
echo "authentication.blueCoat.enabled=true"
echo "bdmsl.integration.enabled=true"
echo "bdmsl.integration.physical.address=0.0.0.0"
echo "bdmsl.participant.multidomain.enabled=false"
echo "bdmsl.integration.url=http://localhost:8080/edelivery-sml/"
echo "bdmsl.integration.logical.address=${SMP_LOGICAL_ADDRESS}"
} >> "$SMP_HOME/apache-tomcat-$TOMCAT_VERSION/classes/smp.config.properties"
addOrReplaceProperties "$SMP_HOME/apache-tomcat-$TOMCAT_VERSION/classes/smp.config.properties" "$SMP_INIT_PROPERTIES" "$SMP_INIT_PROPERTY_DELIMITER"
}
init_mysql() {
echo "[INFO] init database:"
......@@ -98,19 +113,19 @@ init_mysql() {
echo 'Create smp database'
mysql -h localhost -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '$MYSQL_ROOT_PASSWORD';drop schema if exists $SMP_DB_SCHEMA;DROP USER IF EXISTS $SMP_DB_USER; create schema $SMP_DB_SCHEMA;alter database $SMP_DB_SCHEMA charset=utf8; create user $SMP_DB_USER identified by '$SMP_DB_USER_PASSWORD';grant all on $SMP_DB_SCHEMA.* to $SMP_DB_USER;"
if [ -f "/tmp/custom-database-scripts/mysql5innodb-data.sql" ]
if [ -f "/tmp/custom-data/mysql5innodb.sql" ]
then
echo "Use custom database script! "
mysql -h localhost -u root --password=$MYSQL_ROOT_PASSWORD $SMP_DB_SCHEMA < "tmp/custom-database-scripts/mysql5innodb.ddl"
mysql -h localhost -u root --password=$MYSQL_ROOT_PASSWORD $SMP_DB_SCHEMA < "tmp/custom-data/mysql5innodb.ddl"
else
echo "Use default database ddl script!"
mysql -h localhost -u root --password=$MYSQL_ROOT_PASSWORD $SMP_DB_SCHEMA < "/tmp/smp-setup/database-scripts/mysql5innodb.ddl"
fi
if [ -f "/tmp/custom-database-scripts/mysql5innodb-data.sql" ]
if [ -f "/tmp/custom-data/mysql5innodb-data.sql" ]
then
echo "Use custom init script! "
mysql -h localhost -u root --password=$MYSQL_ROOT_PASSWORD $SMP_DB_SCHEMA < "/tmp/custom-database-scripts/mysql5innodb-data.sql"
mysql -h localhost -u root --password=$MYSQL_ROOT_PASSWORD $SMP_DB_SCHEMA < "/tmp/custom-data/mysql5innodb-data.sql"
else
echo "Use default init script!"
mysql -h localhost -u root --password=$MYSQL_ROOT_PASSWORD $SMP_DB_SCHEMA < "/tmp/smp-setup/database-scripts/mysql5innodb-data.sql"
......@@ -127,19 +142,19 @@ init_mysql() {
echo 'Create sml database'
mysql -h localhost -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '$MYSQL_ROOT_PASSWORD';drop schema if exists $SML_DB_SCHEMA;DROP USER IF EXISTS $SML_DB_USER; create schema $SML_DB_SCHEMA;alter database $SML_DB_SCHEMA charset=utf8; create user $SML_DB_USER identified by '$SML_DB_USER_PASSWORD';grant all on $SML_DB_SCHEMA.* to $SML_DB_USER;"
if [ -f "/tmp/custom-database-scripts/sml-mysql5innodb.sql" ]
if [ -f "/tmp/custom-data/sml-mysql5innodb.sql" ]
then
echo "Use custom database script! "
mysql -h localhost -u root --password=$MYSQL_ROOT_PASSWORD $SML_DB_SCHEMA < "/tmp/custom-database-scripts/sml-mysql5innodb.ddl"
mysql -h localhost -u root --password=$MYSQL_ROOT_PASSWORD $SML_DB_SCHEMA < "/tmp/custom-data/sml-mysql5innodb.ddl"
else
echo "Use default database ddl script!"
mysql -h localhost -u root --password=$MYSQL_ROOT_PASSWORD $SML_DB_SCHEMA < "/tmp/sml-setup/database-scripts/mysql5innodb.ddl"
fi
if [ -f "/tmp/custom-database-scripts/sml-mysql5innodb-data.sql" ]
if [ -f "/tmp/custom-data/sml-mysql5innodb-data.sql" ]
then
echo "Use custom init script! "
mysql -h localhost -u root --password=$MYSQL_ROOT_PASSWORD $SML_DB_SCHEMA < "/tmp/custom-database-scripts/sml-mysql5innodb-data.sql"
mysql -h localhost -u root --password=$MYSQL_ROOT_PASSWORD $SML_DB_SCHEMA < "/tmp/custom-data/sml-mysql5innodb-data.sql"
else
echo "Use default init script!"
mysql -h localhost -u root --password=$MYSQL_ROOT_PASSWORD $SML_DB_SCHEMA < "/tmp/sml-setup/database-scripts/mysql5innodb-data.sql"
......@@ -152,6 +167,45 @@ init_mysql() {
}
addOrReplaceProperties() {
PROP_FILE=$1
INIT_PROPERTIES=$2
INIT_PROPERTY_DELIMITER=$3
# replace domibus properties
if [ -n "$INIT_PROPERTIES" ]; then
echo "Parse init properties: $INIT_PROPERTIES"
# add delimiter also to end :)
s="$INIT_PROPERTIES$INIT_PROPERTY_DELIMITER"
array=()
while [[ $s ]]; do
array+=("${s%%"$INIT_PROPERTY_DELIMITER"*}")
s=${s#*"$INIT_PROPERTY_DELIMITER"}
done
# replace parameters
IFS='='
for property in "${array[@]}"; do
read -r key value <<<"$property"
# escape regex chars ..
keyRE="$(printf '%s' "$key" | sed 's/[.[\*^$()+?{|]/\\&/g')"
propertyRE="$(printf '%s' "$property" | sed 's/[.[\*^$()+?{|/]/\\&/g')"
echo "replace or add property: $property"
# replace key line and commented #key line with new property
sed -i "s/^$keyRE=.*/$propertyRE/;s/^#$keyRE=.*/$propertyRE/" $PROP_FILE
# test if replaced if the line not exists add in on the end
grep -qF -- "$property" "$PROP_FILE" || echo "$property" >>"$PROP_FILE"
done
fi
}
init_bind() {
# move configuration if it does not exist
......@@ -165,15 +219,24 @@ init_bind() {
chmod -R 0775 ${BIND_DATA_DIR}
chown -R ${BIND_USER}:${BIND_USER} ${BIND_DATA_DIR}
# init data
if [ -f "/tmp/custom-data/db.test.edelivery.local" ]
then
echo "Use custom zone file! "
rm -rf /etc/bind/db.test.edelivery.local
cp /tmp/custom-data/db.test.edelivery.local /etc/bind/
fi
}
init_smp_properties
init_bind
init_mysql
init_tomcat
echo "Starting named..."
$(which named) -u ${BIND_USER} &> $BIND_DATA_DIR/bind-console.out & disown
$(which named) -u ${BIND_USER} &> $BIND_DATA_DIR/bind-console.out &
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment