diff options
author | Christian Pointner <equinox@spreadspace.org> | 2021-08-22 22:49:18 +0200 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2021-08-22 22:49:18 +0200 |
commit | e115d41b23a45b0fe4b6b661e041e2a3ae5a40cd (patch) | |
tree | 806b02bd5cd383a8c53cfd3b30525b7372296add | |
parent | update accesspoint openwrt version (diff) |
initial support for new iot sensor nodes
-rw-r--r-- | inventory/group_vars/chaos-at-home-sensors/vars.yml | 122 | ||||
-rw-r--r-- | inventory/group_vars/chaos-at-home/network.yml | 3 | ||||
-rw-r--r-- | inventory/host_vars/ch-sensors1.yml | 2 | ||||
-rw-r--r-- | inventory/hosts.ini | 6 |
4 files changed, 133 insertions, 0 deletions
diff --git a/inventory/group_vars/chaos-at-home-sensors/vars.yml b/inventory/group_vars/chaos-at-home-sensors/vars.yml new file mode 100644 index 00000000..c725c053 --- /dev/null +++ b/inventory/group_vars/chaos-at-home-sensors/vars.yml @@ -0,0 +1,122 @@ +--- +sensornode_network_wired: no + +install_playbook: openwrt + +openwrt_variant: openwrt +openwrt_release: 19.07.8 +openwrt_arch: ramips +openwrt_target: mt76x8 +openwrt_profile: omega2p +openwrt_output_image_suffixes: + - "{{ openwrt_profile }}-squashfs-sysupgrade.bin" + +openwrt_packages_remove: + - ppp + - ppp-mod-pppoe + - firewall + - dnsmasq + - odhcpd-ipv6only +openwrt_packages_add: + - kmod-i2c-mt7628 + - kmod-iio-bmp280-i2c + - kmod-usb-storage + - kmod-usb-storage-extras + - kmod-fs-vfat + - kmod-fs-exfat + - kmod-fs-ext4 + - haveged + - htop + - ip + - less + - nano + - tcpdump-mini + - iperf + - iperf3 + - mtr + - iptraf-ng + - usbutils + - i2c-tools + - prometheus-node-exporter-lua + - prometheus-node-exporter-lua-netstat + - prometheus-node-exporter-lua-openwrt + - prometheus-node-exporter-lua-wifi + + +openwrt_mixin: + /etc/dropbear/authorized_keys: + content: "{{ ssh_keys_root | join('\n') }}\n" + + /etc/htoprc: + file: "{{ global_files_dir }}/common/htoprc" + + +openwrt_uci: + system: + - name: system + options: + hostname: '{{ host_name }}' + timezone: 'CET-1CEST,M3.5.0,M10.5.0/3' + ttylogin: '0' + log_size: '64' + urandom_seed: '0' + + - name: timeserver 'ntp' + options: + enabled: '1' + enable_server: '0' + server: + - '0.lede.pool.ntp.org' + - '1.lede.pool.ntp.org' + - '2.lede.pool.ntp.org' + - '3.lede.pool.ntp.org' + + dropbear: + - name: dropbear + options: + PasswordAuth: 'off' + RootPasswordAuth: 'off' + Port: '{{ ansible_port }}' + + network: + - name: globals 'globals' + options: + ula_prefix: "fc{{ '%02x:%04x:%04x' | format((255 | random(seed=inventory_hostname + '0')), (65535 | random(seed=inventory_hostname + '1')), (65535 | random(seed=inventory_hostname + '2'))) }}::/48" + + - name: interface 'loopback' + options: + ifname: lo + proto: static + ipaddr: 127.0.0.1 + netmask: 255.0.0.0 + + - name: interface 'iot' + options: + ifname: "{{ sensornode_network_wired | ternary('eth0', 'wlan0') }}" + proto: static + ipaddr: "{{ network_zones.iot.prefix | ipaddr(network_zones.iot.offsets[inventory_hostname]) | ipaddr('address') }}" + netmask: "{{ network_zones.iot.prefix | ipaddr('netmask') }}" + + - name: interface 'unused' + options: + ifname: "{{ sensornode_network_wired | ternary('wlan0', 'eth0') }}" + proto: none + + wireless: + - name: wifi-device 'radio0' + options: + type: 'mac80211' + hwmode: '11g' + country: AT + path: "platform/10300000.wmac" + htmode: 'HT20' + disabled: "{{ sensornode_network_wired | ternary('1', '0') }}" + + - name: wifi-iface + options: + device: 'radio0' + network: 'iot' + mode: 'sta' + ssid: '{{ network_zones.iot.wifi.ssid }}' + encryption: 'psk2' + key: '{{ network_zones.iot.wifi.key }}' diff --git a/inventory/group_vars/chaos-at-home/network.yml b/inventory/group_vars/chaos-at-home/network.yml index 305c1f93..c6102d7f 100644 --- a/inventory/group_vars/chaos-at-home/network.yml +++ b/inventory/group_vars/chaos-at-home/network.yml @@ -42,6 +42,9 @@ network_zones: key: "{{ vault_wifi_keys.iot }}" offsets: ch-wled-test: 1 + ch-sensors0: 10 + ch-sensors1: 11 + ch-sensors2: 12 ch-mon: 230 ch-iot: 254 diff --git a/inventory/host_vars/ch-sensors1.yml b/inventory/host_vars/ch-sensors1.yml new file mode 100644 index 00000000..1fab589f --- /dev/null +++ b/inventory/host_vars/ch-sensors1.yml @@ -0,0 +1,2 @@ +--- +sensornode_network_wired: yes diff --git a/inventory/hosts.ini b/inventory/hosts.ini index 1d684ac8..07b178f3 100644 --- a/inventory/hosts.ini +++ b/inventory/hosts.ini @@ -54,6 +54,7 @@ ch-alix1d mz-chaos-at-home chaos-at-home-switches chaos-at-home-ap +chaos-at-home-sensors [mz-chaos-at-home] mz-router ansible_host=chmz-router @@ -71,6 +72,11 @@ ch-sw1 host_name=sw1 ansible_host=192.168.42.201 ch-ap0 host_name=ap0 ch-ap1 host_name=ap1 +[chaos-at-home-sensors] +ch-sensors0 host_name=sensors0 +ch-sensors1 host_name=sensors1 +ch-sensors2 host_name=sensors2 + [chaos-at-home-vpn-extern] ch-router ch-pan |