--- - hosts: torwaechter connection: local pre_tasks: - name: Create go directories file: path: .cache/openwrt/tuer/{{ item }} state: directory with_items: [ gopath, gocache ] - name: Clone necessary git repositories git: repo: https://github.com/realraum/{{ item }}.git dest: .cache/openwrt/tuer/{{ item }} update: True with_items: [ door_and_sensors ] - name: Download dependencies command: go get -d ./... args: chdir: .cache/openwrt/tuer/door_and_sensors/{{ item }} environment: GOCACHE: "{{ playbook_dir }}/.cache/openwrt/tuer/gocache" GOPATH: "{{ playbook_dir }}/.cache/openwrt/tuer/gopath" with_items: [ door_client, door_daemon, update-keys ] - name: Cross-compile Go binaries command: go build -ldflags "-s" args: chdir: .cache/openwrt/tuer/door_and_sensors/{{ item }} environment: GOCACHE: "{{ playbook_dir }}/.cache/openwrt/tuer/gocache" GOPATH: "{{ playbook_dir }}/.cache/openwrt/tuer/gopath" GO386: 387 CGO_ENABLED: 0 GOOS: linux GOARCH: 386 with_items: [ door_client, door_daemon, update-keys ] roles: - role: openwrt-image delegate_to: localhost vars: openwrt_arch: x86 openwrt_target: geode openwrt_output_image_suffixes: - combined-ext4.img.gz - combined-squashfs.img openwrt_packages_remove: - ppp - ppp-mod-pppoe - dnsmasq - firewall - odhcpd openwrt_packages_add: - flashrom - haveged - htop - hwclock - ip - less - nano - tcpdump openwrt_packages_extra: - git openwrt_mixin: # Go binaries /usr/local/bin/door_client: file: "{{ playbook_dir }}/.cache/openwrt/tuer/door_and_sensors/door_client/door_client" /usr/local/bin/door_daemon: file: "{{ playbook_dir }}/.cache/openwrt/tuer/door_and_sensors/door_daemon/door_daemon" /usr/local/bin/update-keys: file: "{{ playbook_dir }}/.cache/openwrt/tuer/door_and_sensors/update-keys/update-keys" /etc/config/network: content: | config interface 'loopback' option ifname 'lo' option proto 'static' option ipaddr '127.0.0.1' option netmask '255.0.0.0' config globals 'globals' option ula_prefix 'fdc9:e01f:83db::/48' config interface 'lan' option ifname 'eth0' option accept_ra '0' option proto 'static' option ipaddr '192.168.33.7' option netmask '255.255.255.0' option gateway '192.168.33.1' option dns '192.168.33.1' option dns_search 'realraum.at' /etc/config/dropbear: content: | config dropbear option PasswordAuth 'off' option RootPasswordAuth 'off' option Port '22000' /etc/dropbear/authorized_keys: mode: 0600 content: |- {% for key in noc_ssh_keys %} {{ key }} {% endfor %}