diff --git a/config/dovecot/etc/dovecot/conf.d/10-mail.conf b/config/dovecot/etc/dovecot/conf.d/10-mail.conf index 41de850752d963aa17e96efa70a60be58ef4e4bd..01e0365adc953b3fb7e78c25b6204ac1251457fd 100644 --- a/config/dovecot/etc/dovecot/conf.d/10-mail.conf +++ b/config/dovecot/etc/dovecot/conf.d/10-mail.conf @@ -1,4 +1,4 @@ -mail_vsize_bg_after_count = 100 +#mail_vsize_bg_after_count = 100 mailbox_list_index = yes mail_always_cache_fields = body.snippet mail_location = maildir:~/Maildir diff --git a/features/codecept.sh b/features/codecept.sh index efaedae3e86c86e147ac77d0dcf0ec4be31cc3b9..9fe093a2a66feea35a14d08620dad46f78a6c2cb 100755 --- a/features/codecept.sh +++ b/features/codecept.sh @@ -92,20 +92,71 @@ set -- "${POSITIONAL[@]}" # restore positional parameters if [[ "${FEATURE_ENABLE}" = true ]]; then echo "Install Docker !" # TODO -curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - -add-apt-repository \ - "deb [arch=amd64] https://download.docker.com/linux/debian \ - $(lsb_release -cs) \ - stable" -apt-get update && apt-get install docker-ce - - -echo "Install dep" # DEBIAN ONLY ! TODO -curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \ - echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \ - curl -sL https://deb.nodesource.com/setup_12.x | bash - -apt-get update && \ - apt-get install -y git nodejs yarn nmap default-jre jq +# curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - +# add-apt-repository \ +# "deb [arch=amd64] https://download.docker.com/linux/debian \ +# $(lsb_release -cs) \ +# stable" +# apt-get update && apt-get install docker-ce +# curl -fsSL https://get.docker.com -o get-docker.sh +# sh get-docker.sh + + if [[ true == "${ANY_DEB}" ]]; then + # Adding dovecot key + apt-key adv --fetch-keys https://download.docker.com/linux/debian/gpg + { + echo "deb https://download.docker.com/linux/debian ${DIST_VERSION} stable" + } > /etc/apt/sources.list.d/docker.list + + elif [[ true == "${ANY_SLES}" ]]; then + echo "" + echo "ERROR: dovecot setup on sles not yet implemented" + echo "" + sleep 10 + exit 1 + elif [[ true == "${ANY_RHEL}" ]] || [[ true == "${ANY_CENTOS}" ]]; then + echo "" + echo "ERROR: dovecot setup on rhel/centos not yet implemented" + echo "" + sleep 10 + exit 1 + fi + installPackages "docker-ce" + +echo "Install Nodejs" +curl -sL https://deb.nodesource.com/setup_13.x -o nodesource_setup.sh +bash nodesource_setup.sh +installPackages + + + + +echo "Install dependency...." # DEBIAN ONLY ! TODO + if [[ true == "${ANY_DEB}" ]]; then + # Adding yarnpkg key + apt-key adv --fetch-keys https://dl.yarnpkg.com/debian/pubkey.gpg + { + echo "deb https://dl.yarnpkg.com/debian/ stable main" + } > /etc/apt/sources.list.d/yarnpkg.list + # Adding nodejs key + apt-key adv --fetch-keys https://deb.nodesource.com/gpgkey/nodesource.gpg.key + { + echo "deb https://deb.nodesource.com/node_13.x ${DIST_VERSION} main" + } > /etc/apt/sources.list.d/nodesource.list + elif [[ true == "${ANY_SLES}" ]]; then + echo "" + echo "ERROR: dovecot setup on sles not yet implemented" + echo "" + sleep 10 + exit 1 + elif [[ true == "${ANY_RHEL}" ]] || [[ true == "${ANY_CENTOS}" ]]; then + echo "" + echo "ERROR: dovecot setup on rhel/centos not yet implemented" + echo "" + sleep 10 + exit 1 + fi + installPackages "git nodejs yarn nmap default-jre jq" echo "Clone Repo" @@ -114,12 +165,16 @@ git clone --depth 1 -b master https://gitlab.open-xchange.com/frontend/core /op cd /opt/open-xchange/tests/frontend/ui npm install -g allure-commandline --save-dev -setOXProperty PROVISIONING_URL "http://192.168.33.211/" /opt/open-xchange/tests/frontend/ui/.env +if [ -z ${CC_IP} ];then + CC_IP=$(ip a show $(ip r | grep -oP 'default .* \K.+') | grep -oP 'inet \K[\d\.]+') # DEBIAN Only.... -.- +fi + +setOXProperty PROVISIONING_URL "http://${CC_IP}/" /opt/open-xchange/tests/frontend/ui/.env setOXProperty CONTEXT_ID "1337" /opt/open-xchange/tests/frontend/ui/.env setOXProperty SELENIUM_HOST "localhost" /opt/open-xchange/tests/frontend/ui/.env -setOXProperty LAUNCH_URL "http://192.168.33.211/appsuite/" /opt/open-xchange/tests/frontend/ui/.env -setOXProperty SMTP_SERVER "192.168.33.211" /opt/open-xchange/tests/frontend/ui/.env -setOXProperty IMAP_SERVER "192.168.33.211" /opt/open-xchange/tests/frontend/ui/.env +setOXProperty LAUNCH_URL "http://${CC_IP}/appsuite/" /opt/open-xchange/tests/frontend/ui/.env +setOXProperty SMTP_SERVER "${CC_IP}" /opt/open-xchange/tests/frontend/ui/.env +setOXProperty IMAP_SERVER "${CC_IP}" /opt/open-xchange/tests/frontend/ui/.env yarn [ ! "$(docker ps -a | grep "hA4uYS")" ] && docker run --name "hA4uYS" -d -p 4444:4444 -p 5900:5900 -v /dev/shm:/dev/shm selenium/standalone-chrome-debug:latest diff --git a/features/dovecot.sh b/features/dovecot.sh index 55267236a309aaa664c1715b9350c35a337ccba3..9c9997cb349a511c7c7ebc157abafaebc7fb4013 100755 --- a/features/dovecot.sh +++ b/features/dovecot.sh @@ -1,4 +1,3 @@ - #!/bin/bash # # Copyright (C) 2019 OX Software GmbH @@ -95,7 +94,36 @@ done set -- "${POSITIONAL[@]}" # restore positional parameters if [[ "${FEATURE_INSTALL}" = true ]]; then -installDovecot + if [[ -z "${DC_VERSION}" ]]; then + echo "Version not specified, set to latest" + DC_VERSION=2.3-latest + fi + if [[ true == "${ANY_DEB}" ]]; then + # Adding dovecot key + apt-key adv --fetch-keys https://repo.dovecot.org/DOVECOT-REPO-GPG + { + echo "deb https://repo.dovecot.org/ce-${DC_VERSION}/debian/${DIST_VERSION} ${DIST_VERSION} main" + } > /etc/apt/sources.list.d/dovecot.list + + elif [[ true == "${ANY_SLES}" ]]; then + echo "" + echo "ERROR: dovecot setup on sles not yet implemented" + echo "" + sleep 10 + exit 1 + elif [[ true == "${ANY_RHEL}" ]] || [[ true == "${ANY_CENTOS}" ]]; then + echo "" + echo "ERROR: dovecot setup on rhel/centos not yet implemented" + echo "" + sleep 10 + exit 1 + fi + installPackages "dovecot-core dovecot-imapd dovecot-lmtpd dovecot-managesieved dovecot-sieve dovecot-pop3d dovecot-ldap postfix rsyslog" + echo "Copy Dovecot Configs" + rm -rf /etc/dovecot/* + cp -R config/dovecot/etc/dovecot/* /etc/dovecot/ + restartService dovecot + INIT_STATE_FILE="/etc/dovecot/dovecot-init-done" if [ ! -f "/etc/dovecot/dovecot.conf" ]; then @@ -106,6 +134,7 @@ fi if [ ! -f ${INIT_STATE_FILE} ]; then + mkdir /var/log/dovecot echo "Executing init-config script (dovecot-backend) " echo "$0 $@" echo "Creating user and group: vmail" @@ -148,7 +177,7 @@ if [ ! -f ${INIT_STATE_FILE} ]; then #postconf -e "smtpd_tls_cert_file=${SSL_DIR}/certs/${FQDN}.crt" #postconf -e "smtpd_tls_key_file=${SSL_DIR}/private/${FQDN}.key" postconf -e "dovecot_destination_recipient_limit = 1" - postconf -e "virtual_mailbox_domains = ${MAIL_DOMAIN}" + postconf -e "virtual_mailbox_domains = $(hostname -f)" postconf -e "virtual_transport = dovecot" postconf -e "myorigin = \$mydomain" postconf -e "mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 ${ENV_SUBNET}" @@ -156,7 +185,7 @@ if [ ! -f ${INIT_STATE_FILE} ]; then chown -R vmail:vmail /home/vmail chmod 2770 /home/vmail fi -elif [[ "${FEATURE_ENABLE}" = true ]]; then +elif [[ "${FEATURE_ENABLE}" = false ]]; then INPUT=${SCRIPT_DIR}/../config/environment/qa/users.csv OLDIFS=$IFS IFS=',' @@ -172,7 +201,7 @@ elif [[ "${FEATURE_ENABLE}" = true ]]; then # echo "password : $password" done < $INPUT IFS=$OLDIFS -elif [[ "${FEATURE_ENABLE}" = false ]]; then +elif [[ "${FEATURE_ENABLE}" = true ]]; then INPUT=${SCRIPT_DIR}/../config/environment/qa/users.csv OLDIFS=$IFS IFS=',' diff --git a/lib/dovecot.bash b/lib/dovecot.bash index 822eaf24d36612fe3d29f64994a8014f263b29fa..5f06120147ef3bc41675968c0066d0cf324552d1 100644 --- a/lib/dovecot.bash +++ b/lib/dovecot.bash @@ -43,4 +43,5 @@ function installDovecot { echo "Copy Dovecot Configs" rm -rf /etc/dovecot/* cp -R config/dovecot/etc/dovecot/* /etc/dovecot/ -} \ No newline at end of file +} + diff --git a/ox-installer.sh b/ox-installer.sh index fc3da44cf7be1ff4346e8d5a8f7f33f043ca3009..eb326f14a1df499f0e8a39441d53d1ba377fb829 100755 --- a/ox-installer.sh +++ b/ox-installer.sh @@ -131,6 +131,10 @@ case $key in export INSTALL_TYPE=singlenode shift ;; + --codecept) + export EXECUTE_CODECEPT=true + shift + ;; --config) export CONFIG_DIR="$2" exportProperties ${CONFIG_DIR} @@ -225,7 +229,15 @@ if [ "$INSTALL_GUARD" = true ] ; then fi if [ "$INSTALL_DOVECOT" = true ] ; then - setup/install-dovecot.sh -s + if [[ "${INSTALL_TYPE}" == *"singlenode"* ]]; then + # ensure that all components will be "force" installed if on any singlenode + echo "Installing documents for singlenode environment ..." + features/dovecot.sh --install --enable + else + # let the environment variables do the selection magic + echo "Docker/Dovecot install is currently not supported by ox-installer...." + exit 1 + fi fi if [ "${OX_INIT}" = true ]; then @@ -248,6 +260,11 @@ if [ "${OX_INIT}" = true ]; then fi fi +if [ "${EXECUTE_CODECEPT}" = true ] ; then + echo "Init Codecept...." + features/codecept.sh --enable +fi + FINISHED_AT=$(date) echo "=====================================================================================" echo "Started at: $STARTED_AT"