mirror of
https://github.com/namibia/openvpn-install.git
synced 2025-01-03 03:40:12 +00:00
Add Vagrantfile for easier testing (#396)
This commit is contained in:
parent
52d67286de
commit
6e402289bd
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
.vagrant/
|
||||||
|
*.log
|
30
Vagrantfile
vendored
Normal file
30
Vagrantfile
vendored
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# Run the script in headless mode for each of the supported OS.
|
||||||
|
|
||||||
|
machines = [
|
||||||
|
{ hostname: 'openvpn-debian-9', box: 'debian/stretch64' },
|
||||||
|
{ hostname: 'openvpn-debian-8', box: 'debian/jessie64' },
|
||||||
|
{ hostname: 'openvpn-ubuntu-1604', box: 'ubuntu/bionic64' },
|
||||||
|
{ hostname: 'openvpn-ubuntu-1804', box: 'ubuntu/xenial64' },
|
||||||
|
{ hostname: 'openvpn-centos-7', box: 'centos/7' },
|
||||||
|
{ hostname: 'openvpn-fedora-29', box: 'fedora/29-cloud-base' },
|
||||||
|
{ hostname: 'openvpn-fedora-28', box: 'fedora/28-cloud-base' },
|
||||||
|
{ hostname: 'openvpn-archlinux', box: 'archlinux/archlinux' }
|
||||||
|
]
|
||||||
|
|
||||||
|
Vagrant.configure('2') do |config|
|
||||||
|
machines.each do |machine|
|
||||||
|
config.vm.provider 'virtualbox' do |v|
|
||||||
|
v.memory = 1024
|
||||||
|
v.cpus = 2
|
||||||
|
end
|
||||||
|
config.vm.define machine[:hostname] do |machineconfig|
|
||||||
|
machineconfig.vm.hostname = machine[:hostname]
|
||||||
|
machineconfig.vm.box = machine[:box]
|
||||||
|
|
||||||
|
machineconfig.vm.provision 'shell', inline: <<-SHELL
|
||||||
|
AUTO_INSTALL=y /vagrant/openvpn-install.sh
|
||||||
|
ps aux | grep openvpn | grep -v grep > /dev/null 2>&1 && echo "Success: OpenVPN is running" && exit 0 || echo "Failure: OpenVPN is not running" && exit 1
|
||||||
|
SHELL
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
@ -568,6 +568,7 @@ function installOpenVPN () {
|
|||||||
CUSTOMIZE_ENC=${CUSTOMIZE_ENC:-n}
|
CUSTOMIZE_ENC=${CUSTOMIZE_ENC:-n}
|
||||||
CLIENT=${CLIENT:-client}
|
CLIENT=${CLIENT:-client}
|
||||||
PASS=${PASS:-1}
|
PASS=${PASS:-1}
|
||||||
|
CONTINUE=${CONTINUE:-y}
|
||||||
|
|
||||||
# Behind NAT, we'll default to the publicly reachable IPv4.
|
# Behind NAT, we'll default to the publicly reachable IPv4.
|
||||||
PUBLIC_IPV4=$(curl ifconfig.co)
|
PUBLIC_IPV4=$(curl ifconfig.co)
|
||||||
@ -602,21 +603,6 @@ function installOpenVPN () {
|
|||||||
elif [[ "$OS" = 'fedora' ]]; then
|
elif [[ "$OS" = 'fedora' ]]; then
|
||||||
dnf install -y openvpn iptables openssl wget ca-certificates curl
|
dnf install -y openvpn iptables openssl wget ca-certificates curl
|
||||||
elif [[ "$OS" = 'arch' ]]; then
|
elif [[ "$OS" = 'arch' ]]; then
|
||||||
echo ""
|
|
||||||
echo "WARNING: As you're using ArchLinux, I need to update the packages on your system to install those I need."
|
|
||||||
echo "Not doing that could cause problems between dependencies, or missing files in repositories (Arch Linux does not support partial upgrades)."
|
|
||||||
echo ""
|
|
||||||
echo "Continuing will update your installed packages and install needed ones."
|
|
||||||
echo ""
|
|
||||||
unset CONTINUE
|
|
||||||
until [[ $CONTINUE =~ (y|n) ]]; do
|
|
||||||
read -rp "Continue? [y/n]: " -e -i y CONTINUE
|
|
||||||
done
|
|
||||||
if [[ "$CONTINUE" = "n" ]]; then
|
|
||||||
echo "Exiting because user did not permit updating the system."
|
|
||||||
exit 4
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Install required dependencies and upgrade the system
|
# Install required dependencies and upgrade the system
|
||||||
pacman --needed --noconfirm -Syu openvpn iptables openssl wget ca-certificates curl
|
pacman --needed --noconfirm -Syu openvpn iptables openssl wget ca-certificates curl
|
||||||
fi
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user