Skip to content

Commit

Permalink
Use configure-app-server.js for rundev.sh (#761)
Browse files Browse the repository at this point in the history
* Rename configureAppServer.js
* Convert configure-app-server.js to use ES6 let/const
* Reduce default logging; add --quiet option
* Create jboss-cli-jjs
* Add file comments with basic documentation
* Avoid some Mozilla extensions
* Convert to plain JavaScript instead of Nashorn -scripting
* Sort system properties
* Refactor configure-app-server.js and integrate rundev options
* Switch rundev.sh to use configure-app-server.js
* Fix port config for rundev.sh
* Add authentication options
* Require at least one authentication method
* Move some top-level code to functions
* Simplify most of the functions
* Move some system properties to options object
* Fix type confusion for callbacks; enable ts-check
* Fix --list-commands option
* Split out individual options
* Use docker hub image's env var names for DB and MAIL
* Add more env vars to generated config
* Eliminate my-smtp socket binding
  • Loading branch information
seanf committed Apr 23, 2018
1 parent 91f9564 commit 90ff2fc
Show file tree
Hide file tree
Showing 12 changed files with 980 additions and 543 deletions.
9 changes: 6 additions & 3 deletions server/docker/Dockerfile
Expand Up @@ -12,11 +12,14 @@ COPY conf/mysql-module/ /opt/jboss/wildfly/modules/
RUN yum -y install mysql-connector-java && yum clean all && \
ln -sf /usr/share/java/mysql-connector-java.jar /opt/jboss/wildfly/modules/com/mysql/main/mysql-connector-java.jar

COPY conf/zanata-config.cli /tmp/

USER jboss

RUN /opt/jboss/wildfly/bin/jboss-cli.sh --file=/tmp/zanata-config.cli
COPY target/jboss-cli-jjs target/configure-app-server.js /tmp/

# Uses JAVA_HOME and JBOSS_HOME vars from base image
RUN /tmp/jboss-cli-jjs --language=es6 /tmp/configure-app-server.js -- \
--auth-internal --auth-openid --auth-saml2 --datasource \
--disable-file-logger --oauth --rundev

# override the sun jdk module file to support java melody (com.sun.management.* for heap dump)
# TODO remove this when https://github.com/javamelody/javamelody/issues/585 is resolved
Expand Down
204 changes: 0 additions & 204 deletions server/docker/conf/zanata-config.cli

This file was deleted.

4 changes: 2 additions & 2 deletions server/docker/docker-compose.yml
Expand Up @@ -22,8 +22,8 @@ services:
- zanatadb
environment:
DB_HOSTNAME: zanatadb
DB_NAME: zanata
DB_USER: zanata
DB_SCHEMA: zanata
DB_USERNAME: zanata
DB_PASSWORD: zanatapw
# TODO MAIL_HOST, MAIL_PORT, MAIL_USERNAME, MAIL_PASSWORD
PREPEND_JAVA_OPTS: "-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/jboss/zanata"
Expand Down
17 changes: 11 additions & 6 deletions server/docker/rundev.sh
Expand Up @@ -2,17 +2,18 @@

# determine directory containing this script
SOURCE="${BASH_SOURCE[0]}"
declare SCRIPT_DIR
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
SCRIPT_DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
SOURCE="$(realpath "$SOURCE")"
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
[[ $SOURCE != /* ]] && SOURCE="$SCRIPT_DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
SCRIPT_DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"

source ${DIR}/common
source $SCRIPT_DIR/common

# change to top of the git working directory
cd $DIR/../
# change to the server directory
cd $SCRIPT_DIR/../
ZANATA_WAR=$(echo $PWD/zanata-war/target/zanata-*.war)

# volume mapping for JBoss deployment folder (put exploded war or war file here to deploy)
Expand Down Expand Up @@ -104,6 +105,10 @@ ZANATA_DIR=$HOME/docker-volumes/zanata
# create the data directory and set permissions (SELinux)
mkdir -p $ZANATA_DIR

# make config scripts available inside Docker
mkdir -p docker/target
cp -a etc/scripts/jboss-cli-jjs etc/scripts/configure-app-server.js docker/target/

# build the docker dev image
# TODO rename docker/Dockerfile to docker/Dockerfile.zanata-base
docker build --tag zanata/server-dev --file docker/Dockerfile docker/
Expand Down
2 changes: 1 addition & 1 deletion server/etc/scripts/allocate-jboss-ports
Expand Up @@ -21,7 +21,7 @@ JBOSS_REMOTING_PORT
JBOSS_TXN_RECOVERY_PORT
JBOSS_TXN_STATUS_PORT
MYSQL_PORT
SMTP_PORT
MAIL_PORT
EOF
)
# we might want these in future:
Expand Down

0 comments on commit 90ff2fc

Please sign in to comment.