summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorg Pfuetzenreuter2023-01-21 01:00:22 +0100
committerGeorg Pfuetzenreuter2023-01-21 01:22:29 +0100
commitbf0dfeb9411a7b7c4b5d3fb0ded70d6943ba82ae (patch)
treeae3d8c4b350d6e504f063a372a711e7276d12d1c
parent2181a4999f6f0083e65025470f216ba3cd0ef49f (diff)
downloadsalt-bf0dfeb9411a7b7c4b5d3fb0ded70d6943ba82ae.tar.gz
salt-bf0dfeb9411a7b7c4b5d3fb0ded70d6943ba82ae.tar.bz2
salt-bf0dfeb9411a7b7c4b5d3fb0ded70d6943ba82ae.zip
Use nbroles instead of grains
Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
-rw-r--r--pillar/top.sls4
-rw-r--r--salt/_modules/nbroles.py12
-rw-r--r--salt/top.sls4
3 files changed, 16 insertions, 4 deletions
diff --git a/pillar/top.sls b/pillar/top.sls
index 37638b7..872dc8b 100644
--- a/pillar/top.sls
+++ b/pillar/top.sls
@@ -1,5 +1,5 @@
-{% set roles = salt['grains.get']('roles', []) %}
-{% set id = salt['grains.get']('id') %}
+{%- set id = salt['grains.get']('id') -%}
+{%- set roles = salt['nbroles.get'](id) -%}
{{ saltenv }}:
'*':
diff --git a/salt/_modules/nbroles.py b/salt/_modules/nbroles.py
new file mode 100644
index 0000000..54c4b79
--- /dev/null
+++ b/salt/_modules/nbroles.py
@@ -0,0 +1,12 @@
+#to-do: tidy this up, make host configurable
+
+import requests
+
+host = 'http://127.0.0.1:5000/roles?machine='
+
+def get(name):
+ req = requests.get(host + name)
+ if req.status_code == 404:
+ return([])
+ if req.status_code == 200:
+ return(req.json()['roles'])
diff --git a/salt/top.sls b/salt/top.sls
index d937aad..a534cc5 100644
--- a/salt/top.sls
+++ b/salt/top.sls
@@ -1,5 +1,5 @@
-{% set client_id = salt['grains.get']('id') %}
-{% set roles = salt['grains.get']('roles', []) %}
+{%- set id = salt['grains.get']('id') -%}
+{%- set roles = salt['nbroles.get'](id) -%}
{{ saltenv }}:
'*':