I once wanted to write an Ansible playbook to install VPN on a server but found out that you cannot just pass parameters via command line like
ansible setup-vpn 1.2.3.4
Ansible expects you to write host address into a file in /etc. So inconvenient. Also, Ansible doesn't support Windows and Cygwin.
It turned out it was easier to write instructions into a Bash program. Sadly, it is non-portable and works only with a specific distribution.
It is also surprising how many files are there in the repository for a relatively simple task. And how complicated installation process is. In PHP everything would be easier, because you can pack your application into a single phar archive like in Java.
They don't support builtin Android client. I remember I installed Strongswan or something like this and it worked with Android out of the box.
I wouldn't recommend Digital Ocean. They don't accept virtual debit card (they want a real card so they can charge you whenever they want) and their VPS are too expensive. $5 per month is too expensive when you can find offers as low as 1 euro/month in Europe with pre-paid system.
>Ansible expects you to write host address into a file in /etc. So inconvenient.
When I was first learning ansible, I was very frustrated about things like this. I came to learn, though, that it is very flexible, and this behavior, as well as other weirdness is completely overrideable.
Two ways to override this behavior, with the inventory.ini file in the same directory as the project:
1) ansible.cfg in the project directory that points to the inventory file (you can also override other default behaviors using this file.)
2) pass in a -i argument with the path to the file.
I usually just go with option 1, because I like overriding many of the default behaviors (like making cowsay random, or turning it off sometimes), or setting up my ansible vault.
Aruba has 1-dollar tiny VPS which could be enough for a VPN server, don't know about their performance though. Vps.ag offers 3 euro instances. Both of them use pre-paid payments and accept virtual cards.
I recommend checking what VPS technology is used. If it is OpenVZ or similar then you won't be able to edit iptables config, load kernel modules, setup ipsec. Because OpenVZ is more like a userspace container rather than a virtual machine. KVM, XEN, VMWare work fine.
ansible setup-vpn 1.2.3.4
Ansible expects you to write host address into a file in /etc. So inconvenient. Also, Ansible doesn't support Windows and Cygwin.
It turned out it was easier to write instructions into a Bash program. Sadly, it is non-portable and works only with a specific distribution.
It is also surprising how many files are there in the repository for a relatively simple task. And how complicated installation process is. In PHP everything would be easier, because you can pack your application into a single phar archive like in Java.
They don't support builtin Android client. I remember I installed Strongswan or something like this and it worked with Android out of the box.
I wouldn't recommend Digital Ocean. They don't accept virtual debit card (they want a real card so they can charge you whenever they want) and their VPS are too expensive. $5 per month is too expensive when you can find offers as low as 1 euro/month in Europe with pre-paid system.