--- openwrt_arch: x86 openwrt_target: geode openwrt_profile: generic openwrt_output_image_suffixes: - "{{ openwrt_profile }}-ext4-combined.img.gz" openwrt_packages_remove: - ppp - ppp-mod-pppoe - kmod-ppp - kmod-pppoe - kmod-pppox - firewall - dnsmasq - odhcpd-ipv6only openwrt_packages_add: - kmod-e100 - kmod-usb-serial-option - haveged - htop - ip - less - nano - tcpdump-mini - iperf - iperf3 - mtr - iptraf-ng - prometheus-node-exporter-lua - prometheus-node-exporter-lua-netstat - prometheus-node-exporter-lua-openwrt - usbutils - usb-modeswitch - smstools3 openwrt_mixin: /etc/dropbear/authorized_keys: content: "{{ ssh_keys_root | join('\n') }}\n" /etc/htoprc: file: "{{ global_files_dir }}/common/htoprc" /etc/rc.d/S95sachet: link: "../init.d/sachet" /etc/init.d/sachet: mode: "0755" content: | #!/bin/sh /etc/rc.common START=95 USE_PROCD=1 start_service() { procd_open_instance procd_set_param command /root/sachet -config /etc/sachet.yml procd_set_param respawn procd_set_param stdout 1 procd_close_instance } /etc/sachet.yml: content: | providers: smstools: outgoing_dir: /var/spool/sms/outgoing receivers: - name: 'equinox-sms' provider: 'smstools' to: - '+436644800222' /etc/usb-mode.json: content: | { "messages" : [ "55534243000000000000000000000011060000000000000000000000000000" ], "devices": { "12d1:1f01": { "*": { "t_vendor": 4817, "t_product": [ 5340 ], "msg": [ 0 ] } } } } /etc/smsd.conf: content: | # # generated by ansible # devices = GSM1 incoming = /var/spool/sms/incoming outgoing = /var/spool/sms/outgoing checked = /var/spool/sms/checked failed = /var/spool/sms/failed sent = /var/spool/sms/sent receive_before_send = no autosplit = 3 logfile = 1 loglevel = 5 [GSM1] init = AT^CURC=0 device = /dev/ttyUSB0 incoming = yes pin = {{ vault_sms_modem_pin }} baudrate = 115200 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' prometheus-node-exporter-lua: - name: prometheus-node-exporter-lua 'main' options: listen_interface: 'lan' listen_ipv6: '0' listen_port: '9100' dropbear: - name: dropbear options: PasswordAuth: 'off' RootPasswordAuth: 'off' Port: '{{ ansible_port | default(22) }}' 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: eth0 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: eth1 proto: none prometheus_scrape_endpoint: "{{ network_zones.lan.prefix | ansible.utils.ipaddr(network_zones.lan.offsets[inventory_hostname]) | ansible.utils.ipaddr('address') }}:9100" prometheus_exporters_default: - openwrt ### TODO: # # git clone github:spreadspace/sachet # git checkout topic/add-smstools # cd sachet/cmd/sachet # export GOARCH=386 # export GO386=softfloat # go build -a -installsuffix cgo -mod vendor -o ../../sachet . # scp ../../sachet ch-alix1d:/root/sachet