Ansible is a radically simple IT automation engine that automates cloud provisioning, configuration management, application deployment, intra-service orchestration, and many other IT needs. Ansible works by connecting to your nodes and pushing out small programs, called "Ansible modules" to them. These programs are written to be resource models of the desired state of the system. Ansible then executes these modules (over SSH by default), and removes them when finished. Learn more
This git
repository contains the Ansible code and data to configure and deploy the Freifunk Bodensee gateway server.
# Clone the Git
git clone https://github.com/ffbsee/ansible.git ffbsee-ansible
# Clone the Submodules too
cd ffbsee-ansible
git submodule update --init --recursive
# always keep the submodules up to date:
git config --global submodule.recurse true
We use ansible to deploy all gateways on the Freifunk Bodensee Network.
First we did this only sometimes at some of the time. And we always had the issue, tat there probably are non-commited changes on each gateway and running ansible would crash everything.
With this ansible playbook collection and the change to B.A.T.M.A.N. V
we will improve this with a 100% coverage of ansible. Let's see, if this will work.
REMEBER:
DON'T CHANGE ANYTHING LOCAL ON THE GATEWAYS. USE ANSIBLE AND COMMIT AND PUSH YOUR CHANGES!!!
There is an Ansible playbook for each Gateway that runs wit B.A.T.M.A.N. V
. To deploy the latest changes or the whole setup on any gateway simply execute on your own machine:
ansible-playbook $GATEWAY.yml
from the top-level directory of this git
repository.
For managing all gateways simply run the site.yml
playbook!
# deploy on all ffbsee-managed ansible nodes
ansible-plybook site.yml
Right now, there are some dedicated servers, the Freifunk-Gateways:
- gw01.ffbsee.net - Gateway 01
- Hetzner Server
- Germany
- Dual-Stack
- AS 24940
Please visit ICVPN META
fdef:1702:b5ee::/48
10.11.160.0/20
10.15.224.0/20
To add an other gateway please read the Instructions and talk to us via #ffbsee or mailing list!
If you need a jump host to reach a gateway simply use this command:
ansible-playbook --ssh-common-args="-o ProxyCommand='ssh -W [%h]:%p [email protected]'" gw02.ffbsee.yml
Only run the roles with the "update" tag and not the full playbook:
ansible-playbook update_admins.yml --tags "update"