roles/openwrt-image: Refactor openwrt-mixins
authornicoo <nicoo@realraum.at>
Sun, 6 May 2018 11:38:40 +0000 (13:38 +0200)
committernicoo <nicoo@realraum.at>
Sun, 6 May 2018 11:38:40 +0000 (13:38 +0200)
ansible/roles/openwrt-image/tasks/prepare.yml
ansible/tuer.yml

index 30cd32b..056daf3 100644 (file)
     state: directory
   with_items:
     - "{{ openwrt_imgbuilder_files }}"
-    - "{{ openwrt_mixin.files | map('dirname') | map('regex_replace', '^', openwrt_imgbuilder_files) | unique | list }}"
-    - "{{ openwrt_mixin.content | map('dirname') | map('regex_replace', '^', openwrt_imgbuilder_files) | unique | list }}"
+    - "{{ openwrt_mixin | map('dirname') | map('regex_replace', '^', openwrt_imgbuilder_files) | unique | list }}"
 
 - name: Copy mixins in place [1/2]
   copy:
-    src: "{{ item.value }}"
+    src: "{{ item.file }}"
     dest: "{{ openwrt_imgbuilder_files }}/{{ item.key }}"
-  with_dict: "{{ openwrt_mixin.files }}"
+  with_dict: "{{ openwrt_mixin }}"
+  when: '"file" in item'
   loop_control:
     label: "{{ item.key }}"
 
@@ -28,7 +28,8 @@
   copy:
     content: "{{ item.value }}"
     dest: "{{ openwrt_imgbuilder_files }}/{{ item.key }}"
-  with_dict: "{{ openwrt_mixin.content }}"
+  with_dict: "{{ openwrt_mixin }}"
+  when: '"content" in item'
   loop_control:
     label: "{{ item.key }}"
 
index db757c5..9989e0d 100644 (file)
           - git
 
         openwrt_mixin:
-          files:
-            # Go binaries
-            /usr/local/bin/door_client: "{{ playbook_dir }}/.cache/openwrt/tuer/door_and_sensors/door_client/door_client"
-            /usr/local/bin/door_daemon: "{{ playbook_dir }}/.cache/openwrt/tuer/door_and_sensors/door_daemon/door_daemon"
-            /usr/local/bin/update-keys: "{{ playbook_dir }}/.cache/openwrt/tuer/door_and_sensors/update-keys/update-keys"
+          # 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"
 
-          content:
-            /etc/config/network: |
+          /etc/config/network:
+            content: |
               config interface 'loopback'
                option ifname 'lo'
                option proto 'static'
                option dns     '192.168.33.1'
                option dns_search 'realraum.at'
 
-            /etc/config/dropbear: |
+          /etc/config/dropbear:
+            content: |
               config dropbear
                option PasswordAuth 'off'
                option RootPasswordAuth 'off'
                option Port '22000'
 
-            # TODO: mode needs to be 0600
-            /etc/dropbear/authorized_keys: |-
+          # TODO: mode needs to be 0600
+          /etc/dropbear/authorized_keys:
+            content: |-
               {% for key in noc_ssh_keys %}
               {{ key }}
               {% endfor %}