Merge pull request #248 from myii/ci/standardise-structure

chore: use `semantic-release` cross-formula standard structure
This commit is contained in:
Imran Iqbal 2019-07-25 10:08:26 +01:00 committed by GitHub
commit 6c89ef50cf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 28 additions and 19 deletions

View File

@ -325,6 +325,7 @@ We can simplify the ``conf.sls`` with the new ``files_switch`` macro to use in t
* This uses ``config.get``, searching for ``ntp:tofs:source_files:Configure NTP`` to determine the list of template files to use. * This uses ``config.get``, searching for ``ntp:tofs:source_files:Configure NTP`` to determine the list of template files to use.
* If this returns a result, the default of ``['/etc/ntp.conf.jinja']`` will be appended to it.
* If this does not yield any results, the default of ``['/etc/ntp.conf.jinja']`` will be used. * If this does not yield any results, the default of ``['/etc/ntp.conf.jinja']`` will be used.
In ``libtofs.jinja``, we define this new macro ``files_switch``. In ``libtofs.jinja``, we define this new macro ``files_switch``.
@ -426,7 +427,6 @@ The list of ``source_files`` can be given:
tofs: tofs:
source_files: source_files:
Configure NTP: Configure NTP:
- '/etc/ntp.conf.jinja'
- '/etc/ntp.conf_alt.jinja' - '/etc/ntp.conf_alt.jinja'
Resulting in: Resulting in:
@ -434,10 +434,13 @@ Resulting in:
.. code-block:: sls .. code-block:: sls
- source: - source:
- salt://ntp/files/theminion/etc/ntp.conf.jinja
- salt://ntp/files/theminion/etc/ntp.conf_alt.jinja - salt://ntp/files/theminion/etc/ntp.conf_alt.jinja
- salt://ntp/files/Debian/etc/ntp.conf.jinja - salt://ntp/files/theminion/etc/ntp.conf.jinja
- salt://ntp/files/Debian/etc/ntp.conf_alt.jinja - salt://ntp/files/Debian/etc/ntp.conf_alt.jinja
- salt://ntp/files/default/etc/ntp.conf.jinja - salt://ntp/files/Debian/etc/ntp.conf.jinja
- salt://ntp/files/default/etc/ntp.conf_alt.jinja - salt://ntp/files/default/etc/ntp.conf_alt.jinja
- salt://ntp/files/default/etc/ntp.conf.jinja
Note: This does *not* override the default value.
Rather, the value from the pillar/config is prepended to the default.

View File

@ -10,7 +10,7 @@
Params: Params:
* source_files: ordered list of files to look for * source_files: ordered list of files to look for
* lookup: key under '<tplroot>:tofs:source_files' to override * lookup: key under '<tplroot>:tofs:source_files' to prepend to the
list of source files list of source files
* default_files_switch: if there's no config (e.g. pillar) * default_files_switch: if there's no config (e.g. pillar)
'<tplroot>:tofs:files_switch' this is the ordered list of grains to '<tplroot>:tofs:files_switch' this is the ordered list of grains to
@ -55,14 +55,13 @@
tplroot ~ ':tofs:files_switch', tplroot ~ ':tofs:files_switch',
default_files_switch default_files_switch
) %} ) %}
{#- Lookup source_files (v2), files (v1), or fallback to source_files parameter #} {#- Lookup source_files (v2), files (v1), or fallback to an empty list #}
{%- set src_files = salt['config.get']( {%- set src_files = salt['config.get'](
tplroot ~ ':tofs:source_files:' ~ lookup, tplroot ~ ':tofs:source_files:' ~ lookup,
salt['config.get']( salt['config.get'](tplroot ~ ':tofs:files:' ~ lookup, [])
tplroot ~ ':tofs:files:' ~ lookup,
source_files
)
) %} ) %}
{#- Append the default source_files #}
{%- set src_files = src_files + source_files %}
{#- Only add to [''] when supporting older TOFS implementations #} {#- Only add to [''] when supporting older TOFS implementations #}
{%- set path_prefix_exts = [''] %} {%- set path_prefix_exts = [''] %}
{%- if v1_path_prefix != '' %} {%- if v1_path_prefix != '' %}
@ -83,18 +82,25 @@
{%- for fs in fsl %} {%- for fs in fsl %}
{%- for src_file in src_files %} {%- for src_file in src_files %}
{%- if fs %} {%- if fs %}
{%- set fs_dir = salt['config.get'](fs, fs) %} {%- set fs_dirs = salt['config.get'](fs, fs) %}
{%- else %} {%- else %}
{%- set fs_dir = salt['config.get'](tplroot ~ ':tofs:dirs:default', 'default') %} {%- set fs_dirs = salt['config.get'](tplroot ~ ':tofs:dirs:default', 'default') %}
{%- endif %} {%- endif %}
{%- set url = [ {#- Force the `config.get` lookup result as a list where necessary #}
'- salt:/', {#- since we need to also handle grains that are lists #}
path_prefix_inc_ext.strip('/'), {%- if fs_dirs is string %}
files_dir.strip('/'), {%- set fs_dirs = [fs_dirs] %}
fs_dir.strip('/'), {%- endif %}
src_file.strip('/'), {%- for fs_dir in fs_dirs %}
] | select | join('/') %} {%- set url = [
'- salt:/',
path_prefix_inc_ext.strip('/'),
files_dir.strip('/'),
fs_dir.strip('/'),
src_file.strip('/'),
] | select | join('/') %}
{{ url | indent(indent_width, true) }} {{ url | indent(indent_width, true) }}
{%- endfor %}
{%- endfor %} {%- endfor %}
{%- endfor %} {%- endfor %}
{%- endfor %} {%- endfor %}