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
git repository contains the Ansible code and data to configure and deploy the Freifunk Bodensee gateway server.
How to Clone the Projekt
# 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.
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:
from the top-level directory of this
For managing all gateways simply run the
# deploy on all ffbsee-managed ansible nodes ansible-plybook site.yml
Freifunk Bodensee Network
Right now, there are some dedicated servers, the Freifunk-Gateways:
- gw01.ffbsee.net - Gateway 01
- Hetzner Server
- AS 24940
Please visit ICVPN META
fdef:1702:b5ee::/48 10.11.160.0/20 10.15.224.0/20
Add another gateway
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 firstname.lastname@example.org'" gw02.ffbsee.yml
Only run the roles with the "update" tag and not the full playbook:
ansible-playbook update_admins.yml --tags "update"