summaryrefslogtreecommitdiff
path: root/inventory/host_vars/ch-raspi-openwrt.yml
blob: 9539b1c8e317e1a785e438a12a1850180edd8598 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
---
openwrt_arch: bcm27xx
openwrt_target: bcm2708
openwrt_profile: rpi
openwrt_output_image_suffixes:
  - "{{ openwrt_profile }}-ext4-sysupgrade.img.gz"

openwrt_packages_remove:
  - ppp
  - ppp-mod-pppoe
  - firewall
  - firewall4
  - dnsmasq
  - odhcpd-ipv6only
openwrt_packages_add:
  - kmod-i2c-bcm2835
  - kmod-usb-net-rtl8152
  - 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


openwrt_mixin:
  /etc/dropbear/authorized_keys:
    content: "{{ ssh_keys_root | join('\n') }}\n"

  /etc/htoprc:
    file: "{{ global_files_dir }}/common/htoprc"

  /etc/uci-defaults/99-boot-config.txt:
    content: |
      echo "dtparam=i2c=on" >> /boot/config.txt


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.at.pool.ntp.org
          - 1.at.pool.ntp.org
          - 2.at.pool.ntp.org
          - 3.at.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:
        device: lo
        proto: static
        ipaddr: 127.0.0.1
        netmask: 255.0.0.0

    - name: interface 'lan'
      options:
        device: "wlan0"
        proto: static
        ipaddr: "{{ network_zones.lan.prefix | ansible.utils.ipaddr(network_zones.lan.offsets[inventory_hostname]) | ansible.utils.ipaddr('address') }}"
        netmask: "{{ network_zones.lan.prefix | ansible.utils.ipaddr('netmask') }}"
        gateway: "{{ network_zones.lan.gateway }}"
        dns: "{{ network_zones.lan.dns }}"

    - name: interface 'unused'
      options:
        device: "eth0"
        proto: none

  wireless:
    - name: wifi-device 'radio0'
      options:
        type: 'mac80211'
        path: "platform/soc/20300000.mmcnr/mmc_host/mmc1/mmc1:0001/mmc1:0001:1"
        band: '2g'
        country: AT
        htmode: 'HT20'

    - name: wifi-iface
      options:
        device: 'radio0'
        network: 'lan'
        mode: 'sta'
        ssid: '{{ network_zones.lan.wifi.ssid }}'
        encryption: 'psk2'
        key: '{{ network_zones.lan.wifi.key }}'