feat: use semantic-release cross-formula standard structure

* Semi-automated using https://github.com/myii/ssf-formula/pull/31
* Includes:
  - Update TOFS
  - Use `bin/kitchen`
  - Use `dist: bionic` in Travis
  - Add `yamllint` and apply rules
  - Use `pillars_from_files` throughout
  - Replace EOL images in Kitchen & Travis
  - Add `develop` images in Kitchen & Travis
* Fix (or ignore)  errors shown below:

```bash
salt-formula$ yamllint -s .
./pillar.example
  1:1       warning  missing document start "---"  (document-start)
  5:23      warning  truthy value should be one of [false, true]  (truthy)
  8:25      warning  truthy value should be one of [false, true]  (truthy)
  11:25     warning  truthy value should be one of [false, true]  (truthy)
  19:21     warning  truthy value should be one of [false, true]  (truthy)
  40:89     error    line too long (108 > 88 characters)  (line-length)
  41:89     error    line too long (112 > 88 characters)  (line-length)
  43:89     error    line too long (112 > 88 characters)  (line-length)
  45:89     error    line too long (110 > 88 characters)  (line-length)
  47:89     error    line too long (89 > 88 characters)  (line-length)
  74:27     warning  truthy value should be one of [false, true]  (truthy)
  82:9      error    wrong indentation: expected 10 but found 8  (indentation)
  101:14    warning  truthy value should be one of [false, true]  (truthy)
  102:20    warning  truthy value should be one of [false, true]  (truthy)
  103:89    error    line too long (119 > 88 characters)  (line-length)
  121:7     warning  comment not indented like content  (comments-indentation)
  122:24    error    syntax error: found character '%' that cannot start any token
  310:89    error    line too long (102 > 88 characters)  (line-length)
  330:89    error    line too long (113 > 88 characters)  (line-length)
  433:1     error    too many blank lines (1 > 0)  (empty-lines)

./salt/osmap.yaml
  4:2       error    syntax error: found character '%' that cannot start any token
  6:89      error    line too long (93 > 88 characters)  (line-length)
  22:89     error    line too long (137 > 88 characters)  (line-length)
  23:89     error    line too long (134 > 88 characters)  (line-length)
  33:89     error    line too long (149 > 88 characters)  (line-length)
  34:89     error    line too long (146 > 88 characters)  (line-length)

./salt/osfamilymap.yaml
  4:2       error    syntax error: found character '%' that cannot start any token
  6:89      error    line too long (94 > 88 characters)  (line-length)
  24:89     error    line too long (149 > 88 characters)  (line-length)
  25:89     error    line too long (146 > 88 characters)  (line-length)
  39:89     error    line too long (105 > 88 characters)  (line-length)
  40:89     error    line too long (127 > 88 characters)  (line-length)
  56:89     error    line too long (101 > 88 characters)  (line-length)

./salt/ospyvermap.yaml
  4:1       warning  missing document start "---"  (document-start)

./salt/defaults.yaml
  3:1       warning  missing document start "---"  (document-start)
  7:21      warning  truthy value should be one of [false, true]  (truthy)
  8:12      warning  truthy value should be one of [false, true]  (truthy)
  9:23      warning  truthy value should be one of [false, true]  (truthy)
  10:19     warning  truthy value should be one of [false, true]  (truthy)
  14:25     warning  truthy value should be one of [false, true]  (truthy)
  15:25     warning  truthy value should be one of [false, true]  (truthy)
  16:27     warning  truthy value should be one of [false, true]  (truthy)
  17:27     warning  truthy value should be one of [false, true]  (truthy)
  39:28     warning  truthy value should be one of [false, true]  (truthy)
  41:28     warning  truthy value should be one of [false, true]  (truthy)
  45:24     warning  truthy value should be one of [false, true]  (truthy)
  49:30     warning  truthy value should be one of [false, true]  (truthy)
  54:28     warning  truthy value should be one of [false, true]  (truthy)
  63:25     warning  truthy value should be one of [false, true]  (truthy)
  68:15     warning  truthy value should be one of [false, true]  (truthy)
```
This commit is contained in:
Imran Iqbal
2019-09-13 07:58:18 +01:00
parent b59500cf5d
commit ebfeba2c4f
27 changed files with 523 additions and 223 deletions
+16 -15
View File
@@ -1,20 +1,21 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
salt:
version: ''
rootuser: root
rootgroup: root
install_packages: True
use_pip: False
clean_config_d_dir: True
restart_via_at: False
install_packages: true
use_pip: false
clean_config_d_dir: true
restart_via_at: false
config_path: /etc/salt
minion_remove_config: False
master_remove_config: False
minion_config_use_TOFS: False
master_config_use_TOFS: False
minion_remove_config: false
master_remove_config: false
minion_config_use_TOFS: false
master_config_use_TOFS: false
minion_service: salt-minion
master_service: salt-master
@@ -36,22 +37,22 @@ salt:
gitfs:
dulwich:
install_from_source: True
install_from_source: true
pygit2:
install_from_source: True
install_from_source: true
version: 0.23.0
git:
# if not false, should be state name
require_state: False
require_state: false
install_from_package: git
libgit2:
version: 0.23.0
install_from_source: True
install_from_source: true
build_parent_dir: /usr/src/
# hash necessary until github issue #9272 is addressed
download_hash: 683d1164e361e2a0a8d52652840e2340
gitpython:
install_from_source: False
install_from_source: false
cloud:
template_sources:
@@ -60,12 +61,12 @@ salt:
maps: salt://salt/files/cloud.maps.d
salt_formulas:
checkout_orig_branch: False
checkout_orig_branch: false
git_opts:
default:
baseurl: https://github.com/saltstack-formulas
basedir: /srv/formulas
update: False
update: false
options:
rev: master
output_loglevel: 'quiet'
+32 -21
View File
@@ -2,7 +2,7 @@
lookup=None,
default_files_switch=['id', 'os_family'],
indent_width=6,
v1_path_prefix='') %}
use_subpath=False) %}
{#-
Returns a valid value for the "source" parameter of a "file.managed"
state function. This makes easier the usage of the Template Override and
@@ -10,15 +10,15 @@
Params:
* 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
* default_files_switch: if there's no config (e.g. pillar)
'<tplroot>:tofs:files_switch' this is the ordered list of grains to
use as selector switch of the directories under
"<path_prefix>/files"
* indent_witdh: indentation of the result value to conform to YAML
* v1_path_prefix: (deprecated) only used for injecting a path prefix into
the source, to support older TOFS configs
* use_subpath: defaults to `False` but if set, lookup the source file
recursively from the current state directory up to `tplroot`
Example (based on a `tplroot` of `xxx`):
@@ -55,20 +55,24 @@
tplroot ~ ':tofs: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'](
tplroot ~ ':tofs:source_files:' ~ lookup,
salt['config.get'](
tplroot ~ ':tofs:files:' ~ lookup,
source_files
)
salt['config.get'](tplroot ~ ':tofs:files:' ~ lookup, [])
) %}
{#- Append the default source_files #}
{%- set src_files = src_files + source_files %}
{#- Only add to [''] when supporting older TOFS implementations #}
{%- set path_prefix_exts = [''] %}
{%- if v1_path_prefix != '' %}
{%- do path_prefix_exts.append(v1_path_prefix) %}
{%- if use_subpath and tplroot != tpldir %}
{#- Walk directory tree to find {{ files_dir }} #}
{%- set subpath_parts = tpldir.lstrip(tplroot).lstrip('/').split('/') %}
{%- for path in subpath_parts %}
{%- set subpath = subpath_parts[0:loop.index] | join('/') %}
{%- do path_prefix_exts.append('/' ~ subpath) %}
{%- endfor %}
{%- endif %}
{%- for path_prefix_ext in path_prefix_exts %}
{%- for path_prefix_ext in path_prefix_exts|reverse %}
{%- set path_prefix_inc_ext = path_prefix ~ path_prefix_ext %}
{#- For older TOFS implementation, use `files_switch` from the config #}
{#- Use the default, new method otherwise #}
@@ -83,18 +87,25 @@
{%- for fs in fsl %}
{%- for src_file in src_files %}
{%- if fs %}
{%- set fs_dir = salt['config.get'](fs, fs) %}
{%- set fs_dirs = salt['config.get'](fs, fs) %}
{%- else %}
{%- set fs_dir = salt['config.get'](tplroot ~ ':tofs:dirs:default', 'default') %}
{%- set fs_dirs = salt['config.get'](tplroot ~ ':tofs:dirs:default', 'default') %}
{%- endif %}
{%- set url = [
'- salt:/',
path_prefix_inc_ext.strip('/'),
files_dir.strip('/'),
fs_dir.strip('/'),
src_file.strip('/'),
] | select | join('/') %}
{#- Force the `config.get` lookup result as a list where necessary #}
{#- since we need to also handle grains that are lists #}
{%- if fs_dirs is string %}
{%- set fs_dirs = [fs_dirs] %}
{%- endif %}
{%- for fs_dir in fs_dirs %}
{%- set url = [
'- salt:/',
path_prefix_inc_ext.strip('/'),
files_dir.strip('/'),
fs_dir.strip('/'),
src_file.strip('/'),
] | select | join('/') %}
{{ url | indent(indent_width, true) }}
{%- endfor %}
{%- endfor %}
{%- endfor %}
{%- endfor %}
+10 -9
View File
@@ -1,5 +1,6 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
{% import_yaml "salt/ospyvermap.yaml" as ospyvermap %}
{% set ospyver = salt['grains.filter_by'](ospyvermap, grain='os_family') or {} %}
@@ -27,13 +28,13 @@ Debian:
pyinotify: python-pyinotify
gitfs:
pygit2:
install_from_source: True
install_from_source: true
version: 0.22.1
git:
require_state: False
require_state: false
install_from_package: git
libgit2:
install_from_source: False
install_from_source: false
RedHat:
pkgrepo: 'https://repo.saltstack.com/{{ py_ver_repr }}/redhat/$releasever/$basearch/{{ salt_release }}'
@@ -42,11 +43,11 @@ RedHat:
python_git: GitPython
gitfs:
gitpython:
install_from_source: False
install_from_source: false
pygit2:
install_from_source: False
install_from_source: false
git:
require_state: False
require_state: false
install_from_package: git
master:
gitfs_provider: pygit2
@@ -58,9 +59,9 @@ Suse:
pyinotify: python-pyinotify
gitfs:
pygit2:
install_from_source: False
install_from_source: false
git:
require_state: False
require_state: false
install_from_package: git
master:
gitfs_provider: pygit2
@@ -71,7 +72,7 @@ Gentoo:
salt_syndic: app-admin/salt
salt_api: app-admin/salt
salt_cloud: app-admin/salt
pyinotify: dev-python/pyinotify
pyinotify: dev-python/pyinotify
Arch:
salt_master: salt
+4 -3
View File
@@ -1,5 +1,6 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
{% import_yaml "salt/ospyvermap.yaml" as ospyvermap %}
{% set ospyver = salt['grains.filter_by'](ospyvermap, grain='os_family') or {} %}
@@ -24,9 +25,9 @@ Ubuntu:
pygit2: python-pygit2
gitfs:
pygit2:
install_from_source: False
install_from_source: false
git:
require_state: False
require_state: false
install_from_package: Null
Raspbian:
@@ -46,7 +47,7 @@ SmartOS:
python_dulwich: 'py27-dulwich'
gitfs:
dulwich:
install_from_source: False
install_from_source: false
config_path: /opt/local/etc/salt
master:
gitfs_provider: dulwich
+1 -1
View File
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
Debian:
py2: 'apt'
py3: 'py3'
+1 -1
View File
@@ -5,7 +5,7 @@
salt-pkgrepo-install-saltstack-suse:
pkgrepo.managed:
- name: systemsmanagement_saltstack_products
- humanname: SaltStack repo for Opensuse 42.3
- humanname: SaltStack repo for Opensuse 15.x
- baseurl: {{ salt_settings.pkgrepo }}
- enabled: 1
- gpgcheck: 1