Merge pull request #16 from realraum/openwrt-image
[noc.git] / ansible / tuer.yml
index dcfacab..0d26eb3 100644 (file)
@@ -1,25 +1,42 @@
+---
 - 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_packages_remove:
-          - ppp
-          - ppp-mod-pppoe
-          - dnsmasq
-          - firewall
-          - odhcpd
-        openwrt_packages_add:
-          - flashrom
-          - haveged
-          - htop
-          - hwclock
-          - ip
-          - less
-          - nano
-          - tcpdump
-        openwrt_packages_extra:
-          - git