Open genofire opened 8 years ago
Hi!
Der Begriff gluon sollte imho besser vermieden werden, da die Supernodes/ Exits/VPN-Server/whatever unabhängig von der verwendeten Firmware sind.
Aus demselben Grund wurde die "gluon-gateway-doku" in Freifunk MWU Gateway Doku umbenannt.
LG, kerel
Vorschlag? - Danke für den Hinweiß, doch Kritik kann jeder ausüben :P (bringt uns einfach kein Schritt vorwärts)
Es sollte auf jedenfall ein gateway
mit drin stehen,
da ich auch gerne später weitere repos für das verwalten von node konfigurationen einpflegen möchte.
Zudem sollte man bedenken, das andere Communities immer noch olsr
benutzen.
Ich würde vorschlagen, dass diese Funktionen (Gateway, GluonNode, Node) in playbooks eingearbeitet werden. Von mir auch gerne in einem separatem Repository verwaltet (ansible-playbook-node-gateway-exit, ansible-playbook-node-gateway-uplink, ansible-node-gluon, ansible-playbook-node-mapviewer, ansible-playbook-node-buildserver, ansible-playbook-node-whatever-service) oder direkt im Unterverzeichnis playbooks hier in ansible-freifunk.
In diesen Playbooks werden dann die Rollen aufgerufen (hier für lokalen Rechner):
---
- hosts: local
connection: local
user: root
vars_files:
- [ "vars/{{ ansible_distribution }}.yml", "vars/{{ ansible_os_family }}.yml", "vars/defaults.yml" ]
roles:
- common
- { role: ansible-role-batmand, status: 'removed' }
- { role: ansible-role-babel, status: 'disabled' }
- { role: ansible-role-batman-adv, status: 'enabled' }
- { role: ansible-role-fastd, status: 'enabled', version: 14 }
Die Rollen werden jeweils in separaten Repositories gepflegt. Nach dem Namensschema ansible-role-rolename. Diese Role sollte folgende Grund-Funktionen beinhalten:
- include: removed.yml
when: status == 'removed'
- include: disabled.yml
when: status == 'disabled'
- include: enabled.yml
when: status == 'enabled'
- include: status-Debian.yml
when: ansible_os_family == 'Debian'
Und weiter differenziert in status-{{ ansible_os_family }}.yml mit
- include: status-Ubuntu.yml
when: ansible_distribution == 'Ubuntu'
(und je nach Bedarf in den anderen Subtasks)
- include: installed.yml
when: current_software_version != version
- include: installed-from-source.yml
when: current_software_version != version
- include: configured.yml
template: src= {{ item }} dest=/etc/software/software.conf
with_first_found:
- files:
- software-{{ ansible_distribution }}.conf
- software-{{ ansible_os_family }}.conf
- software.conf
- name: secret task
shell: /usr/bin/do_something --value={{ secret_value }}
no_log: True
Lust unser Ansible einfach zu clonen? (FreifunkBremen/ansible)
Zudem sollte villeicht das projekt selber zu gluon-gateway umgenannt werden. Falls noch andere Communties mit anderen ansible-scripten ankommen.