Salt-Orchestrated OpenSource based Software-Defined-Freifunk-Infrastructre-Network configuration
Maximilian Wilhelm 5006ff1cdf dhcp-client: Don't update /etc/resolv.conf | 1 viikko sitten | |
---|---|---|
Documentation | 1 vuosi sitten | |
_modules | 2 viikkoa sitten | |
anycast-healthchecker | 8 kuukautta sitten | |
apt | 11 kuukautta sitten | |
apu2 | 5 vuotta sitten | |
bash | 8 kuukautta sitten | |
batman | 8 kuukautta sitten | |
bird | 8 kuukautta sitten | |
build | 8 kuukautta sitten | |
burp | 6 kuukautta sitten | |
certs | 8 kuukautta sitten | |
dhcp-client | 1 viikko sitten | |
dhcp-server | 8 kuukautta sitten | |
dns-server | 8 kuukautta sitten | |
docker | 6 vuotta sitten | |
elasticsearch | 4 vuotta sitten | |
fastd | 8 kuukautta sitten | |
ffinfo | 8 kuukautta sitten | |
firewall | 4 vuotta sitten | |
firmware | 8 kuukautta sitten | |
gogs | 8 kuukautta sitten | |
grafana | 8 kuukautta sitten | |
graylog | 1 vuosi sitten | |
icinga2 | 5 kuukautta sitten | |
icingaweb2 | 8 kuukautta sitten | |
influxdb | 1 vuosi sitten | |
install-server | 9 kuukautta sitten | |
kernel | 3 vuotta sitten | |
kvm | 1 vuosi sitten | |
locales | 11 kuukautta sitten | |
mongodb | 1 vuosi sitten | |
mosh | 8 vuotta sitten | |
motd | 7 vuotta sitten | |
needrestart | 4 vuotta sitten | |
network | 8 kuukautta sitten | |
nftables | 8 kuukautta sitten | |
nginx | 8 kuukautta sitten | |
ntp | 8 vuotta sitten | |
openvpn | 8 kuukautta sitten | |
postfix | 8 kuukautta sitten | |
pppoe | 8 kuukautta sitten | |
prometheus-exporters | 8 kuukautta sitten | |
prometheus-server | 6 kuukautta sitten | |
respondd | 8 kuukautta sitten | |
rsyslog | 1 viikko sitten | |
salt-minion | 3 vuotta sitten | |
screen | 8 vuotta sitten | |
slapd | 4 vuotta sitten | |
snmpd | 8 kuukautta sitten | |
ssh | 8 kuukautta sitten | |
sudo | 11 kuukautta sitten | |
sury | 1 vuosi sitten | |
sysctl | 8 kuukautta sitten | |
systemd | 3 vuotta sitten | |
timezone | 5 vuotta sitten | |
unattended-upgrades | 6 kuukautta sitten | |
users | 2 vuotta sitten | |
vim | 4 vuotta sitten | |
wireguard | 2 viikkoa sitten | |
yanic | 8 kuukautta sitten | |
.gitignore | 1 vuosi sitten | |
README.md | 1 vuosi sitten | |
top.sls | 2 viikkoa sitten | |
utils.sls | 3 vuotta sitten |
This repository contains the Salt environment (states + modules) used to configure the infrastructure of the Freifunk Hochstift community network.
It uses the NetBox Abstraction and Caching Layer (NACL) as its interface to communicate with NetBox, which holds all node specific configuration. This includes the node name, role(s), interfaces, IP addresses, tags, config contexts, etc.
This whole code base follows the principles of Holistic (network) automation, which means that as much configuration bits are derived from properties of nodes or its relationship(s) to other nodes. This includes but is not limited to, OSPF adjacencies, internal BGP sessions, B.A.T.M.A.N. adv. configuration, Nftables rules, etc.
Most of these bits live inside the Python modules which are included in this repository (see the _modules/
directory), which contains modules for authentication, netfilter, and networking related configuration.
The ffho_net
modules currently is the heart of our SDN logic, with more recent pieces (e.g. iBGP mesh calculation) living inside NACL.
Eventually most logic should move over to NACL or another daemon which takes over the SDN role, so that Salt is only used to apply configuration based on a generic device configuration.
Our CTO, @BarbarossaTM, has started a blog series about our infrastructure, its architecture and evolution and also blogs about NetBox related things, which may or may not be related to this code base - it mostly is though :-)