From d066a641f9fda7059fbb9d2c7236722c8c224ad1 Mon Sep 17 00:00:00 2001 From: Georg Pfuetzenreuter Date: Sat, 21 Jan 2023 01:00:22 +0100 Subject: [PATCH] Use nbroles instead of grains Signed-off-by: Georg Pfuetzenreuter --- pillar/top.sls | 4 ++-- salt/_modules/nbroles.py | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 salt/_modules/nbroles.py 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'])