Skip to content

Commit

Permalink
feat(map): sync map.jinja with template-formula
Browse files Browse the repository at this point in the history
  • Loading branch information
n-rodriguez committed Sep 20, 2019
1 parent 1a7dd94 commit 2b4c4d5
Show file tree
Hide file tree
Showing 5 changed files with 118 additions and 13 deletions.
59 changes: 48 additions & 11 deletions apt-cacher/ng/map.jinja
Original file line number Diff line number Diff line change
@@ -1,12 +1,49 @@
{% import_yaml "apt-cacher/ng/defaults.yaml" as defaults %}
{% import_yaml "apt-cacher/ng/osfamilymap.yaml" as osfamilymap %}

{%- set apt_cacher_ng = salt['grains.filter_by'](
defaults,
merge=salt['grains.filter_by'](
osfamilymap,
grain='os_family',
merge=salt['pillar.get']('apt_cacher_ng', {}),
),
base='apt_cacher_ng')
# -*- coding: utf-8 -*-
# vim: ft=jinja

{#- Get the `tplroot` from `tpldir` #}
{%- set tplroot = tpldir.split('/')[0] %}
{#- Start imports as #}
{%- import_yaml tplroot ~ "/ng/defaults.yaml" as default_settings %}
{%- import_yaml tplroot ~ "/ng/osarchmap.yaml" as osarchmap %}
{%- import_yaml tplroot ~ "/ng/osfamilymap.yaml" as osfamilymap %}
{%- import_yaml tplroot ~ "/ng/osmap.yaml" as osmap %}
{%- import_yaml tplroot ~ "/ng/osfingermap.yaml" as osfingermap %}

{#- Retrieve the config dict only once #}
{%- set _config = salt['config.get']('apt_cacher_ng', default={}) %}

{%- set defaults = salt['grains.filter_by'](
default_settings,
default='apt_cacher_ng',
merge=salt['grains.filter_by'](
osarchmap,
grain='osarch',
merge=salt['grains.filter_by'](
osfamilymap,
grain='os_family',
merge=salt['grains.filter_by'](
osmap,
grain='os',
merge=salt['grains.filter_by'](
osfingermap,
grain='osfinger',
merge=salt['grains.filter_by'](
_config,
default='lookup'
)
)
)
)
)
)
%}

{%- set config = salt['grains.filter_by'](
{'defaults': defaults},
default='defaults',
merge=_config
)
%}

{%- set apt_cacher_ng = config %}
35 changes: 35 additions & 0 deletions apt-cacher/ng/osarchmap.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
#
# Setup variables using grains['osarch'] based logic.
# You just need to add the key:values for an `osarch` that differ
# from `defaults.yaml`.
# Only add an `osarch` which is/will be supported by the formula.
#
# If you do not need to provide defaults via the `osarch` grain,
# you will need to provide at least an empty dict in this file, e.g.
# osarch: {}
---
amd64:
arch: amd64

x86_64:
arch: amd64

386:
arch: 386

arm64:
arch: arm64

armv6l:
arch: armv6l

armv7l:
arch: armv7l

ppc64le:
arch: ppc64le

s390x:
arch: s390x
11 changes: 9 additions & 2 deletions apt-cacher/ng/osfamilymap.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,15 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
#
# Setup variables using grains['os_family'] based logic.
# You just need to add the key:values for an `os_family` that differ
# from `defaults.yaml` + `osarch.yaml`.
# Only add an `os_family` which is/will be supported by the formula.
#
# If you do not need to provide defaults via the `os_family` grain,
# you will need to provide at least an empty dict in this file, e.g.
# osfamilymap: {}
---
Debian: {}

FreeBSD:
credentials: /usr/local/etc/apt-cacher-ng/security.conf
root_group: wheel
Expand Down
13 changes: 13 additions & 0 deletions apt-cacher/ng/osfingermap.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
#
# Setup variables using grains['osfinger'] based logic.
# You just need to add the key:values for an `osfinger` that differ
# from `defaults.yaml` + `osarch.yaml` + `os_family.yaml` + `osmap.yaml`.
# Only add an `osfinger` which is/will be supported by the formula.
#
# If you do not need to provide defaults via the `os_finger` grain,
# you will need to provide at least an empty dict in this file, e.g.
# osfingermap: {}
---
osfingermap: {}
13 changes: 13 additions & 0 deletions apt-cacher/ng/osmap.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
#
# Setup variables using grains['os'] based logic.
# You just need to add the key:values for an `os` that differ
# from `defaults.yaml` + `osarch.yaml` + `os_family.yaml`.
# Only add an `os` which is/will be supported by the formula.
#
# If you do not need to provide defaults via the `os` grain,
# you will need to provide at least an empty dict in this file, e.g.
# osmap: {}
---
osmap: {}

0 comments on commit 2b4c4d5

Please sign in to comment.