From d1bb84fdf0c788044ff6b72d45c7dc033346aac6 Mon Sep 17 00:00:00 2001 From: Danny Smit <danny.smit@saabgroup.com> Date: Thu, 16 Apr 2020 15:52:55 +0200 Subject: [PATCH] refactor(map.jinja): use `template-formula` structure & add `debian-10` --- tomcat/map.jinja | 50 ++++++++++++------- tomcat/{osmap.yaml => osfamilymap.yaml} | 4 -- tomcat/{codenamemap.yaml => osfingermap.yaml} | 13 ++++- 3 files changed, 43 insertions(+), 24 deletions(-) rename tomcat/{osmap.yaml => osfamilymap.yaml} (94%) rename tomcat/{codenamemap.yaml => osfingermap.yaml} (72%) diff --git a/tomcat/map.jinja b/tomcat/map.jinja index 987ca24..ba7902d 100644 --- a/tomcat/map.jinja +++ b/tomcat/map.jinja @@ -1,25 +1,39 @@ # -*- coding: utf-8 -*- # vim: ft=jinja -{% import_yaml "tomcat/defaults.yaml" as defaults %} -{% import_yaml "tomcat/osmap.yaml" as osmap %} -{% import_yaml "tomcat/codenamemap.yaml" as codemap %} +{#- Get the `tplroot` from `tpldir` #} +{%- set tplroot = tpldir.split('/')[0] %} +{#- Start imports as #} +{%- import_yaml tplroot ~ "/defaults.yaml" as default_settings %} +{%- import_yaml tplroot ~ "/osfamilymap.yaml" as osfamilymap %} +{%- import_yaml tplroot ~ "/osfingermap.yaml" as osfingermap %} -{# get the settings for the os_family grain #} -{% set osfam = salt['grains.filter_by'](osmap) or {} %} -{# get the settings for the oscodename grain, os_family data will override - oscodename data #} -{% set oscode = salt['grains.filter_by'](codemap, - grain='oscodename', - merge=osfam) or {} %} +{#- Retrieve the config dict only once #} +{%- set _config = salt['config.get'](tplroot, default={}) %} -{# merge the os family/codename specific data over the defaults #} -{% do defaults.tomcat.update(oscode) %} +{%- set defaults = salt['grains.filter_by']( + default_settings, + default=tplroot, + merge=salt['grains.filter_by']( + osfamilymap, + grain='os_family', + merge=salt['grains.filter_by']( + osfingermap, + grain='osfinger', + merge=salt['grains.filter_by']( + _config, + default='lookup' + ) + ) + ) + ) +%} -{# merge the pillar:lookup dict into the defaults/os specific dict #} -{% set lookup = salt['pillar.get']('tomcat:lookup', - default=defaults.tomcat, - merge=True) %} +{%- set config = salt['grains.filter_by']( + {'defaults': defaults}, + default='defaults', + merge=_config + ) +%} -{# merge the actual tomcat pillar into the above combined dict #} -{% set tomcat = salt['pillar.get']('tomcat', default=lookup, merge=True) %} +{%- set tomcat = config %} diff --git a/tomcat/osmap.yaml b/tomcat/osfamilymap.yaml similarity index 94% rename from tomcat/osmap.yaml rename to tomcat/osfamilymap.yaml index bc5bcd9..e86ac6b 100644 --- a/tomcat/osmap.yaml +++ b/tomcat/osfamilymap.yaml @@ -19,10 +19,6 @@ RedHat: native_pkg: tomcat-native manager_pkg: tomcat-admin-webapps main_config_template: salt://tomcat/files/tomcat-default-CentOS.template -CentOS: - native_pkg: tomcat-native - manager_pkg: tomcat-admin-webapps - main_config_template: salt://tomcat/files/tomcat-default-CentOS.template openSUSE: ver: 8 native_pkg: libtcnative-1-0 diff --git a/tomcat/codenamemap.yaml b/tomcat/osfingermap.yaml similarity index 72% rename from tomcat/codenamemap.yaml rename to tomcat/osfingermap.yaml index 9e4d149..16188aa 100644 --- a/tomcat/codenamemap.yaml +++ b/tomcat/osfingermap.yaml @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # vim: ft=yaml --- -trusty: +Ubuntu-14.04: ver: 7 pkg: tomcat7 manager_pkg: tomcat7-admin @@ -11,7 +11,7 @@ trusty: service: tomcat7 user: tomcat7 group: tomcat7 -wheezy: +Debian-7: pkg: tomcat7 manager_pkg: tomcat7-admin conf_dir: /etc/tomcat7 @@ -20,3 +20,12 @@ wheezy: service: tomcat7 user: tomcat7 group: tomcat7 +Debian-10: + ver: 9 + pkg: tomcat9 + manager_pkg: tomcat9-admin + conf_dir: /etc/tomcat9 + main_config: /etc/default/tomcat9 + service: tomcat9 + user: tomcat + group: tomcat -- GitLab