Imran Iqbal
9955923682
Merge pull request #191 from baby-gnu/feature/map-config-targeting-like-syntax
feat(map): use targeting like syntax for configuration
4 years ago
Daniel Dehennin
7de2d6fd75
style(mapstack): variables in macro can't be exported
No need to prefix some of them with underscore `_`.
4 years ago
Daniel Dehennin
ff6b56c4a4
refactor(map): load formula configuration with `libmatchers`
4 years ago
Daniel Dehennin
174bb68432
refactor(map): load `defaults.jinja` configuration with `libmapstack`
4 years ago
Daniel Dehennin
568bb7ce40
refactor(map): load `map.jinja` configuration with `libmapstack`
4 years ago
Daniel Dehennin
d69556d5ae
feat(matchers): add delimiter option for source definitions
4 years ago
Daniel Dehennin
925c86ea69
refactor(map): compound matchers like parsing with `libmatchers`
4 years ago
Daniel Dehennin
7ecb24bdc1
docs(map): document the new `map.jinja` with targeting like syntax
4 years ago
Daniel Dehennin
1be0d8725a
feat(map): use targeting like syntax for configuration
The `config_get_lookup` and `config_get` sources lack flexibility.
It's not easy to query several pillars and/or grains keys with the
actual system. And the query method is forced to `config.get` without
being configurable by the user.
We define a mechanism to select `map.jinja` sources with similar
notation as the salt targeting system.
The `map.jinja` file uses several sources where to lookup parameter
values. The list of sources can be modified by two files:
1. a global salt://parameters/map_jinja.yaml
2. a per formula salt://{{ tplroot }}/parameters/map_jinja.yaml.
Each source definition has the form `<TYPE>:<OPTION>@<KEY>` where
`<TYPE>` can be one of:
- `Y` to load values from YAML files, this is the default when no type
is defined
- `C` to lookup values with `config.get`
- `G` to lookup values with `grains.get`
- `I` to lookup values with `pillar.get`
The YAML type option can define the query method to lookup the key
value to build the file name:
- `C` to query with `config.get`, this is the default when to query
method is defined
- `G` to query with `grains.get`
- `I` to query with `pillar.get`
The `C`, `G` or `I` types can define the `SUB` option to store values
in the sub key `mapdata.<key>` instead of directly in `mapdata`.
Finally, the `<KEY>` describe what to lookup to either build the YAML
filename or gather values using one of the query method.
BREAKING CHANGE: the configuration `map_jinja:sources` is only
configurable with `salt://parameters/map_jinja.yaml`
and `salt://{{ tplroot }}/parameters/map_jinja.yaml`
BREAKING CHANGE: the `map_jinja:config_get_roots` is replaced by
compound like `map_jinja:sources`
BREAKING CHANGE: the two `config_get_lookup` and `config_get` are
replaced by `C@<tplroot>:lookup` and `C@<tplroot>`
sources
4 years ago
semantic-release-bot
b9b8eb7618
chore(release): 2.0.6 [skip ci]
## [2.0.6](https://github.com/saltstack-formulas/openssh-formula/compare/v2.0.5...v2.0.6 ) (2020-12-23)
### Code Refactoring
* **map:** use top-level `values:` key in `map.jinja` dumps ([37597e5
](37597e5b12
))
4 years ago
Imran Iqbal
e246937ebe
Merge pull request #197 from myii/refactor/use-top-level-values-in-map-jinja-dumps
refactor(map): use top-level `values:` key in `map.jinja` dumps
4 years ago
Imran Iqbal
37597e5b12
refactor(map): use top-level `values:` key in `map.jinja` dumps
* Semi-automated using https://github.com/myii/ssf-formula/pull/284
4 years ago
semantic-release-bot
f941871f0b
chore(release): 2.0.5 [skip ci]
## [2.0.5](https://github.com/saltstack-formulas/openssh-formula/compare/v2.0.4...v2.0.5 ) (2020-12-22)
### Continuous Integration
* **commitlint:** ensure `upstream/master` uses main repo URL [skip ci] ([7af3bf2
](7af3bf255d
))
* **gitlab-ci:** add `rubocop` linter (with `allow_failure`) [skip ci] ([37b9f3a
](37b9f3ac09
))
* **gitlab-ci:** use GitLab CI as Travis CI replacement ([bccd5fd
](bccd5fd3d8
))
* **pre-commit:** add to formula [skip ci] ([4e13609
](4e13609b99
))
* **pre-commit:** enable/disable `rstcheck` as relevant [skip ci] ([094bef5
](094bef5406
))
* **pre-commit:** finalise `rstcheck` configuration [skip ci] ([75e843a
](75e843a7bd
))
### Tests
* **map:** standardise `map.jinja` verification ([2bab68f
](2bab68f5ff
))
4 years ago
Imran Iqbal
a7d9ae2dc1
Merge pull request #193 from myii/test/compare-mapdata-using-yaml
test(map): standardise `map.jinja` verification
4 years ago
Imran Iqbal
2bab68f5ff
test(map): standardise `map.jinja` verification
* Automated using https://github.com/myii/ssf-formula/pull/281
4 years ago
Imran Iqbal
7af3bf255d
ci(commitlint): ensure `upstream/master` uses main repo URL [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/278
4 years ago
Imran Iqbal
37b9f3ac09
ci(gitlab-ci): add `rubocop` linter (with `allow_failure`) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/277
4 years ago
Imran Iqbal
bccd5fd3d8
ci(gitlab-ci): use GitLab CI as Travis CI replacement
* Automated using https://github.com/myii/ssf-formula/pull/275
4 years ago
Imran Iqbal
3f5dba1102
chore(gemfile+lock): update to latest gem versions (2020-W44) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/274
4 years ago
Imran Iqbal
97c2ebf8f3
chore(gemfile+lock): update to latest gem versions (2020-W43) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/273
4 years ago
Imran Iqbal
75e843a7bd
ci(pre-commit): finalise `rstcheck` configuration [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/267
4 years ago
Dafydd Jones
340cc0abe7
chore(commitlint): add `{body,footer,header}-max(-line)-length` [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/265
4 years ago
Imran Iqbal
4d49d24490
chore(gemfile+lock): update to latest gem versions (2020-W41) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/263
4 years ago
Imran Iqbal
094bef5406
ci(pre-commit): enable/disable `rstcheck` as relevant [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/262
4 years ago
Dafydd Jones
4e13609b99
ci(pre-commit): add to formula [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/259
4 years ago
semantic-release-bot
1c3a6b8ab8
chore(release): 2.0.4 [skip ci]
## [2.0.4](https://github.com/saltstack-formulas/openssh-formula/compare/v2.0.3...v2.0.4 ) (2020-09-27)
### Bug Fixes
* **pillar:** `tofs` must not be under `mine_functions` ([c0d5052
](c0d5052f6a
))
### Tests
* **inspec:** `_mapdata` files should have `tofs` configuration ([5e9033f
](5e9033f500
))
4 years ago
Imran Iqbal
91bc8bebe4
Merge pull request #196 from baby-gnu/fix/tofs-pillars
fix(pillar): `tofs` must not be under `mine_functions`
4 years ago
Daniel Dehennin
c0d5052f6a
fix(pillar): `tofs` must not be under `mine_functions`
The debug output of test jobs don't show the use of TOFS as it should
and the pillar.example show that `tofs` is under `mine_functions`
instead of `openssh`.
* pillar.example: move `tofs` under `openssh`.
* test/salt/pillar/default.sls: ditoo.
4 years ago
Daniel Dehennin
5e9033f500
test(inspec): `_mapdata` files should have `tofs` configuration
4 years ago
Imran Iqbal
9576b72eb2
chore(inspec): fix typo [skip ci]
* https://github.com/myii/ssf-formula/commit/839898aedb34
4 years ago
semantic-release-bot
91d4b0d6ea
chore(release): 2.0.3 [skip ci]
## [2.0.3](https://github.com/saltstack-formulas/openssh-formula/compare/v2.0.2...v2.0.3 ) (2020-09-09)
### Continuous Integration
* **kitchen:** force the hostname of the containers ([208f873
](208f87380c
))
### Tests
* **inspec:** no more need to mangle mapdata for hostname ([8cb31c6
](8cb31c6967
))
* **share:** standardise structure ([15241d3
](15241d39c5
))
4 years ago
Imran Iqbal
cf9abf5e5a
Merge pull request #195 from baby-gnu/ci/force-hostname
test(inspec): use static hostname in mapdata
4 years ago
Imran Iqbal
15241d39c5
test(share): standardise structure
* Standardised using https://github.com/myii/ssf-formula/pull/251
4 years ago
Daniel Dehennin
8cb31c6967
test(inspec): no more need to mangle mapdata for hostname
We force the hostname in `kitchen` so the `_mapdata` files can be
static.
4 years ago
Daniel Dehennin
208f87380c
ci(kitchen): force the hostname of the containers
4 years ago
semantic-release-bot
b49824b343
chore(release): 2.0.2 [skip ci]
## [2.0.2](https://github.com/saltstack-formulas/openssh-formula/compare/v2.0.1...v2.0.2 ) (2020-08-26)
### Tests
* **inspec:** display proper diff when `_mapdata` mismatch ([1c99556
](1c99556695
))
4 years ago
Imran Iqbal
a472db6913
Merge pull request #192 from baby-gnu/test/mapdata-proper-inspec-diff
test(inspec): display proper diff when `_mapdata` mismatch
4 years ago
Daniel Dehennin
1c99556695
test(inspec): display proper diff when `_mapdata` mismatch
The use of `eq` instead of `include` premits to have a nice diff after
the `expected/got` oneliners.
4 years ago
semantic-release-bot
34a9c8f703
chore(release): 2.0.1 [skip ci]
## [2.0.1](https://github.com/saltstack-formulas/openssh-formula/compare/v2.0.0...v2.0.1 ) (2020-08-21)
### Bug Fixes
* **map:** `path_join` can be used only for local file access ([3845d5f
](3845d5ff61
))
4 years ago
Javier Bértoli
27c527a172
Merge pull request #190 from baby-gnu/fix/no-path_join-for-salt-url
fix(map): `path_join` can be used only for local file access
4 years ago
Daniel Dehennin
3845d5ff61
fix(map): `path_join` can be used only for local file access
On windows machines, the `path_join` build wrong URL by using
backslash as separator.
URL used for fileserver access must use only slashes `/`.
4 years ago
semantic-release-bot
b32ec9819c
chore(release): 2.0.0 [skip ci]
# [2.0.0](https://github.com/saltstack-formulas/openssh-formula/compare/v1.3.1...v2.0.0 ) (2020-08-01)
### Features
* **map:** `config.get` lookups from configurable roots ([ad4385b
](ad4385b077
))
* **map:** update to v4 “map.jinja” ([df477b2
](df477b25c2
))
4 years ago
Imran Iqbal
db67ce6f42
Merge pull request #186 from baby-gnu/feature/v4-map.jinja
feat(map): update to v4 and add config.get lookup from multiple roots
4 years ago
Imran Iqbal
a0af21a996
chore: add breaking change message for new `map.jinja`
BREAKING CHANGE: `map.jinja` has been upgraded from using `pillar.get`
to `config.get`.
4 years ago
Daniel Dehennin
ad4385b077
feat(map): `config.get` lookups from configurable roots
We avoid compatibility break with user pillars by looking up
configuration values using `config.get` in configurable roots.
We provide a new parameter `map_jinja:config_get_roots` in the formula
`parameters/defaults.yaml`to retrives values not only from
`tplroot=openssh` but from `sshd_config` and `ssh_config` too.
We need to update the `_mapdata` reference files to include the new
`map_jinja:config_get_roots`.
4 years ago
Daniel Dehennin
df477b25c2
feat(map): update to v4 “map.jinja”
The `map.jinja` now exports a single variable called `mapdata`.
We extract the `openssh`, `sshd_config` and `ssh_config` from it to
minimize the changes to `.sls` files.
4 years ago
semantic-release-bot
a8cd7370df
chore(release): 1.3.1 [skip ci]
## [1.3.1](https://github.com/saltstack-formulas/openssh-formula/compare/v1.3.0...v1.3.1 ) (2020-07-31)
### Bug Fixes
* **inspec:** use the name `_mapdata` everywhere for coherency ([14e843e
](14e843ec2b
))
4 years ago
Imran Iqbal
94a12d86d9
Merge pull request #189 from baby-gnu/fix/rename-mapdata-test-directory
fix(inspec): use the name `_mapdata` everywhere for coherency
4 years ago
Daniel Dehennin
14e843ec2b
fix(inspec): use the name `_mapdata` everywhere for coherency
4 years ago
semantic-release-bot
9f3c2f2686
chore(release): 1.3.0 [skip ci]
# [1.3.0](https://github.com/saltstack-formulas/openssh-formula/compare/v1.2.2...v1.3.0 ) (2020-07-30)
### Continuous Integration
* **kitchen:** execute `_mapdata` state ([70389b5
](70389b5964
))
### Features
* **map:** generate a YAML file to validate `map.jinja` ([e4ab335
](e4ab335077
))
### Tests
* **inspec:** share library to access some minion informations ([a8d61f4
](a8d61f4307
))
* **inspec:** verify `map.jinja` dump ([0eafbd9
](0eafbd945c
))
4 years ago