summaryrefslogtreecommitdiffstats
path: root/salt/builder/init.sls
diff options
context:
space:
mode:
Diffstat (limited to 'salt/builder/init.sls')
-rw-r--r--salt/builder/init.sls61
1 files changed, 61 insertions, 0 deletions
diff --git a/salt/builder/init.sls b/salt/builder/init.sls
new file mode 100644
index 0000000..f6bc135
--- /dev/null
+++ b/salt/builder/init.sls
@@ -0,0 +1,61 @@
+{% set node_id = grains['id'] %}
+
+{% if not node_id in pillar['builders'] %}
+{{ salt.test.exception("Please add data for node '%s' in pillars/builders.sls" % node_id) }}
+{% endif %}
+
+{% set node_data = pillar['builders'][node_id] %}
+
+dependencies:
+ pkg.installed:
+ - pkgs:
+ - aports-build
+ - git
+ - lua-aports
+ - shadow
+ - abuild
+ - build-base
+ - openssl
+
+buildozer:
+ user.present:
+ - groups:
+ - buildozer
+ - wheel
+ - abuild
+
+/etc/init.d/mqtt-exec.aports-build:
+ file.symlink:
+ - target: mqtt-exec
+
+{% set repo = "/home/buildozer/aports" %}
+{% set repo_remote = pillar['builders']['aports-repo'] %}
+
+aports-repo:
+ git.cloned:
+ - name: {{ repo_remote }}
+ - target: {{ repo }}
+ - user: buildozer
+
+aports-repo-remote:
+ git.config_set:
+ - name: remote.origin.url
+ - repo: {{ repo }}
+ - value: {{ repo_remote }}
+
+/etc/conf.d/mqtt-exec.aports-build:
+ file.managed:
+ - source: salt://builder/mqtt-exec.aports-build.conf
+ - template: jinja
+
+/etc/apk/repositories:
+ file.managed:
+ - contents:
+ {% if node_data['bootstrapped'] %}
+ - /home/buildozer/packages/main
+ - /home/buildozer/packages/community
+ {% else %}
+ - http://dl-cdn.alpinelinux.org/alpine/edge/main
+ - http://dl-cdn.alpinelinux.org/alpine/edge/community
+ {% endif %}
+