diff options
author | root <root@salt-master.nld3.alpin.pw> | 2019-06-11 19:06:03 +0000 |
---|---|---|
committer | root <root@salt-master.nld3.alpin.pw> | 2019-06-11 19:06:03 +0000 |
commit | aa09aed813a85af585895f67c1a90e0493d7532f (patch) | |
tree | 58d3266af24f1260ab18cf7f3649dd247d47f15c | |
download | salty-aa09aed813a85af585895f67c1a90e0493d7532f.tar.bz2 salty-aa09aed813a85af585895f67c1a90e0493d7532f.tar.xz |
-rw-r--r-- | pillar/builders.sls | 9 | ||||
-rw-r--r-- | pillar/common.sls | 2 | ||||
-rw-r--r-- | pillar/roles.sls | 3 | ||||
-rw-r--r-- | pillar/top.sls | 7 | ||||
-rw-r--r-- | salt/builder/init.sls | 61 | ||||
-rw-r--r-- | salt/builder/mqtt-exec.aports-build.conf | 23 | ||||
-rw-r--r-- | salt/common.sls | 22 | ||||
-rw-r--r-- | salt/roles.sls | 10 | ||||
-rw-r--r-- | salt/top.sls | 8 |
9 files changed, 145 insertions, 0 deletions
diff --git a/pillar/builders.sls b/pillar/builders.sls new file mode 100644 index 0000000..93da98f --- /dev/null +++ b/pillar/builders.sls @@ -0,0 +1,9 @@ +builders: + aports-repo: git://git.alpinelinux.org/aports.git + + salt-minion.nld3.alpin.pw: + branch: master + bootstrapped: false + salt-test-builder.nld3.alpin.pw: + branch: master + bootstrapped: false diff --git a/pillar/common.sls b/pillar/common.sls new file mode 100644 index 0000000..4124f86 --- /dev/null +++ b/pillar/common.sls @@ -0,0 +1,2 @@ +mqtt: + host: msg.alpinelinux.org diff --git a/pillar/roles.sls b/pillar/roles.sls new file mode 100644 index 0000000..4cea05b --- /dev/null +++ b/pillar/roles.sls @@ -0,0 +1,3 @@ +roles: + salt-test-builder.nld3.alpin.pw: + - builder diff --git a/pillar/top.sls b/pillar/top.sls new file mode 100644 index 0000000..405439f --- /dev/null +++ b/pillar/top.sls @@ -0,0 +1,7 @@ +base: + '*': + - common + - roles + 'roles:builder': + - match: grain + - builders 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 %} + diff --git a/salt/builder/mqtt-exec.aports-build.conf b/salt/builder/mqtt-exec.aports-build.conf new file mode 100644 index 0000000..b71230f --- /dev/null +++ b/salt/builder/mqtt-exec.aports-build.conf @@ -0,0 +1,23 @@ +# what git branch to build +git_branch=master + +# what directory to upload to +upload_release=edge + +# prefix for url where logs can be found +logurlprefix=http://build-edge-armhf.local/buildlogs + +buildrepo="buildrepo -p -l /var/cache/distfiles/buildlogs/$(hostname)" +# not all builds - keep going and skip failed +#buildrepo="buildrepo -s -k -p -l /var/cache/distfiles/buildlogs/$(hostname)" + +# list of release formats. unset for no release +# release_formats="iso" + +# mqtt-exec params +exec_command=/usr/bin/aports-build +exec_user=buildozer +mqtt_broker="{{ salt['pillar.get']('mqtt:host') }}" +mqtt_topics="git/aports/$git_branch git/aports/$git_branch/release" +will_topic="build/$(hostname)" +will_retain=yes diff --git a/salt/common.sls b/salt/common.sls new file mode 100644 index 0000000..4b3dacb --- /dev/null +++ b/salt/common.sls @@ -0,0 +1,22 @@ +salt-minion: + service.running: + - watch: + - file: /etc/salt/minion.d/*.conf + +/etc/salt/minion.d/disable_gpu_grains.conf: + file.managed: + - contents: | + enable_gpu_grains: False + +install ssh: + pkg.installed: + - name: openssh + +start ssh: + service.running: + - name: sshd + - enable: True + - watch: + - pkg: openssh + + diff --git a/salt/roles.sls b/salt/roles.sls new file mode 100644 index 0000000..1c02661 --- /dev/null +++ b/salt/roles.sls @@ -0,0 +1,10 @@ +{% set node_id = grains['id'] %} + +/etc/salt/minion.d/roles.conf: + file.managed: + - contents: | + grains: + roles: + {% for role in pillar['roles'][node_id] -%} + - {{ role }} + {% endfor %} diff --git a/salt/top.sls b/salt/top.sls new file mode 100644 index 0000000..7b2eb8a --- /dev/null +++ b/salt/top.sls @@ -0,0 +1,8 @@ +base: + '*': + - roles + - common + 'roles:builder': + - match: grain + - builder + |