mirror of
https://github.com/mail-in-a-box/mailinabox.git
synced 2025-04-01 23:57:05 +00:00
88 lines
2.4 KiB
Ruby
88 lines
2.4 KiB
Ruby
#####
|
|
##### This file is part of Mail-in-a-Box-LDAP which is released under the
|
|
##### terms of the GNU Affero General Public License as published by the
|
|
##### Free Software Foundation, either version 3 of the License, or (at
|
|
##### your option) any later version. See file LICENSE or go to
|
|
##### https://github.com/downtownallday/mailinabox-ldap for full license
|
|
##### details.
|
|
#####
|
|
|
|
load '../funcs.rb'
|
|
|
|
Vagrant.configure("2") do |config|
|
|
|
|
config.vm.synced_folder "../../..", "/mailinabox", id: "mailinabox", automount: false
|
|
config.vm.network "public_network", bridge: "#$default_network_interface"
|
|
use_preloaded_box config, "ubuntu/jammy64", ".."
|
|
|
|
if ENV['tests']=='ciab'
|
|
|
|
# vanilla connected to ciab (ciab does not need to be up)
|
|
|
|
config.vm.define "vanilla" do |m1|
|
|
m1.vm.provision :shell, :inline => <<-SH
|
|
cat >/tmp/provision.sh <<EOF
|
|
#!/bin/bash
|
|
if [ \\$EUID -ne 0 ]; then
|
|
echo "Must be root"
|
|
exit 1
|
|
fi
|
|
cd /mailinabox
|
|
export PRIMARY_HOSTNAME=vanilla.local
|
|
export NC_PROTO=https
|
|
export NC_HOST=vanilla-ciab.local
|
|
export NC_PORT=443
|
|
export NC_PREFIX=/
|
|
export SKIP_SYSTEM_UPDATE=0
|
|
tests/system-setup/vanilla.sh --qa-ca --enable-mod=remote-nextcloud
|
|
if ! ufw status | grep remote_nextcloud >/dev/null; then
|
|
# firewall rules aren't added when ciab is down
|
|
echo "For testing, allow ldaps from anywhere"
|
|
ufw allow ldaps
|
|
fi
|
|
echo "Add smart host alias - so \\$NC_HOST can send mail to/via this host"
|
|
(
|
|
source tests/lib/all.sh
|
|
rest_urlencoded POST /admin/mail/aliases/add qa@abc.com Test_1234 "address=@\\$NC_HOST" "description=smart-host" "permitted_senders=qa@abc.com" 2>/dev/null
|
|
echo "\\$REST_HTTP_CODE: \\$REST_OUTPUT"
|
|
)
|
|
EOF
|
|
chmod +x /tmp/provision.sh
|
|
/tmp/provision.sh
|
|
SH
|
|
end # vanilla connected to ciab
|
|
|
|
else
|
|
|
|
|
|
# vanilla (default) install
|
|
|
|
config.vm.define "vanilla" do |m1|
|
|
m1.vm.provision :shell, :inline => <<-SH
|
|
cat >/tmp/provision.sh <<EOF
|
|
#!/bin/bash
|
|
if [ \\$EUID -ne 0 ]; then
|
|
echo "Must be root"
|
|
exit 1
|
|
fi
|
|
start=\\$(date +%s)
|
|
cd /mailinabox
|
|
export PRIMARY_HOSTNAME=vanilla.local
|
|
#export FEATURE_MUNIN=false
|
|
#export FEATURE_NEXTCLOUD=false
|
|
export SKIP_SYSTEM_UPDATE=0
|
|
tests/system-setup/vanilla.sh
|
|
# --enable-mod=roundcube-master \
|
|
# --enable-mod=roundcube-debug \
|
|
# --enable-mod=rcmcarddav-composer
|
|
end=\\$(date +%s)
|
|
echo "Provisioning took \\$(source tests/lib/misc.sh; elapsed_pretty \\$start \\$end)"
|
|
EOF
|
|
chmod +x /tmp/provision.sh
|
|
/tmp/provision.sh
|
|
SH
|
|
end # vanilla (default)
|
|
|
|
end
|
|
end
|