Skip to content

Commit

Permalink
refactor(map.jinja): standardise v5 structure [skip ci]
Browse files Browse the repository at this point in the history
* Automated using myii/ssf-formula#382
  • Loading branch information
myii committed Oct 26, 2021
1 parent 4a0469e commit 3162842
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 14 deletions.
3 changes: 3 additions & 0 deletions CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,11 @@
/docs/CHANGELOG.rst @saltstack-formulas/ssf
/docs/TOFS_pattern.rst @saltstack-formulas/ssf
/*/_mapdata/ @saltstack-formulas/ssf
/*/libmapstack.jinja @saltstack-formulas/ssf
/*/libmatchers.jinja @saltstack-formulas/ssf
/*/libsaltcli.jinja @saltstack-formulas/ssf
/*/libtofs.jinja @saltstack-formulas/ssf
/*/map.jinja @saltstack-formulas/ssf
/test/integration/**/_mapdata.rb @saltstack-formulas/ssf
/test/integration/**/libraries/system.rb @saltstack-formulas/ssf
/test/integration/**/inspec.yml @saltstack-formulas/ssf
Expand Down
30 changes: 20 additions & 10 deletions openssh/libmapstack.jinja
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

{#- Get the `tplroot` from `tpldir` #}
{%- set tplroot = tpldir.split("/")[0] %}
{%- from tplroot ~ "/libmatchers.jinja" import parse_matchers, query_map %}
{%- from tplroot ~ "/libmatchers.jinja" import parse_matchers, query_map with context %}

{%- set _default_config_dirs = [
"parameters/",
Expand Down Expand Up @@ -95,8 +95,10 @@
{%- set stack = defaults | default({"values": {} }, boolean=True) %}

{#- Build configuration file names based on matchers #}
{%- set config_get_strategy = salt["config.get"](tplroot ~ ":strategy", None) %}
{%- set matchers = parse_matchers(
matchers,
config_get_strategy=config_get_strategy,
log_prefix=log_prefix
)
| load_yaml %}
Expand Down Expand Up @@ -194,6 +196,19 @@
{%- set yaml_names = [yaml_names] %}
{%- endif %}

{#- Try to load a `.yaml.jinja` file for each `.yaml` file #}
{%- set all_yaml_names = [] %}
{%- for name in yaml_names %}
{%- set extension = name.rpartition(".")[2] %}
{%- if extension not in ["yaml", "jinja"] %}
{%- do all_yaml_names.extend([name ~ ".yaml", name ~ ".yaml.jinja"]) %}
{%- elif extension == "yaml" %}
{%- do all_yaml_names.extend([name, name ~ ".jinja"]) %}
{%- else %}
{%- do all_yaml_names.append(name) %}
{%- endif %}
{%- endfor %}

{#- `yaml_dirname` can be an empty string with literal path like `myconf.yaml` #}
{%- set yaml_dir = [
param_dir,
Expand All @@ -202,15 +217,10 @@
| select
| join("/") %}

{%- for yaml_name in yaml_names %}
{#- Make sure to have a `.yaml` extension #}
{#- Use `.rpartition` to strip last `.yaml` in `dir.yaml/file.yaml` #}
{%- for yaml_name in all_yaml_names %}
{%- set yaml_filename = [
yaml_dir.rstrip("/"),
yaml_name.rpartition(".yaml")
| reject("equalto", ".yaml")
| join
~ ".yaml"
yaml_name
]
| select
| join("/") %}
Expand All @@ -228,7 +238,7 @@
{%- do salt["log.debug"](
log_prefix
~ "loaded configuration values from "
~ yaml_name
~ yaml_filename
~ ":\n"
~ yaml_values
| yaml(False)
Expand Down Expand Up @@ -271,7 +281,7 @@
{%- do salt["log.debug"](
log_prefix
~ "merged configuration values from "
~ yaml_name
~ yaml_filename
~ ", merge: strategy='"
~ strategy
~ "', merge_lists='"
Expand Down
2 changes: 1 addition & 1 deletion openssh/libmatchers.jinja
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

{#- Get the `tplroot` from `tpldir` #}
{%- set tplroot = tpldir.split("/")[0] %}
{%- from tplroot ~ "/libsaltcli.jinja" import cli %}
{%- from tplroot ~ "/libsaltcli.jinja" import cli with context %}

{%- set query_map = {
"C": "config.get",
Expand Down
11 changes: 8 additions & 3 deletions openssh/map.jinja
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# -*- coding: utf-8 -*-
# vim: ft=jinja
{#- -*- coding: utf-8 -*- #}
{#- vim: ft=jinja #}

{#- Get the `tplroot` from `tpldir` #}
{%- set tplroot = tpldir.split("/")[0] %}
{%- from tplroot ~ "/libmapstack.jinja" import mapstack %}
{%- from tplroot ~ "/libmapstack.jinja" import mapstack with context %}

{#- Where to lookup parameters source files #}
{%- set formula_param_dir = tplroot ~ "/parameters" %}
Expand Down Expand Up @@ -38,6 +38,7 @@

{#- Load formula parameters values #}
{%- set _formula_matchers = ["defaults.yaml"] + map_sources %}

{%- set _formula_settings = mapstack(
matchers=_formula_matchers,
dirs=[formula_param_dir],
Expand All @@ -59,3 +60,7 @@

{%- do salt["log.debug"]("map.jinja: save parameters in variable 'mapdata'") %}
{%- set mapdata = _formula_settings["values"] %}

{#- Per formula post-processing of `mapdata` if it exists #}
{%- do salt["log.debug"]("map.jinja: post-processing of 'mapdata'") %}
{%- include tplroot ~ "/post-map.jinja" ignore missing %}

0 comments on commit 3162842

Please sign in to comment.