From 76a7029babc2ef3123fbcbd0c6c08a77cba1991e Mon Sep 17 00:00:00 2001 From: Daniel Dehennin Date: Sat, 15 Feb 2020 18:09:25 +0100 Subject: [PATCH] =?UTF-8?q?feat(maj.jinja):=20authorise=20literal=20file?= =?UTF-8?q?=20path=20in=20=E2=80=9Cmap.jinja:sources=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This mimic the behavior of “libtofs.jinja”. --- TEMPLATE/map.jinja | 3 ++- TEMPLATE/parameters/defaults.yaml | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/TEMPLATE/map.jinja b/TEMPLATE/map.jinja index 4fd936a1..d70e2afa 100644 --- a/TEMPLATE/map.jinja +++ b/TEMPLATE/map.jinja @@ -34,7 +34,8 @@ {%- for map_source in map_sources %} {# Lookup the grain/pillar/... #} - {%- set map_values = salt['config.get'](map_source, []) %} + {# Fallback to use the source name as a direct filename #} + {%- set map_values = salt['config.get'](map_source, [map_source]) %} {%- if map_values is string %} {%- set map_values = [map_values] %} {%- endif %} diff --git a/TEMPLATE/parameters/defaults.yaml b/TEMPLATE/parameters/defaults.yaml index 8c437396..11d124a4 100644 --- a/TEMPLATE/parameters/defaults.yaml +++ b/TEMPLATE/parameters/defaults.yaml @@ -12,7 +12,12 @@ subcomponent: # Just here for testing added_in_defaults: defaults_value winner: defaults -# Configure map.jinja to load formula parameters values +# Configure map.jinja to load formula parameters values and merge them +# in the order from most generic (first) to most specific (last). +# Each source can define the merging `strategy` which default to the +# `smart` strategy of `salt.slsutil.merge`. +# Note: Any value not evaluated by `config.get` will be used literally. +# This can be used to set custom paths, as many levels deep as required. map.jinja: sources: - osarch @@ -20,3 +25,4 @@ map.jinja: - os - osfinger - roles + - any/path/can/be/used/here.yaml