diff --git a/tomcat/map.jinja b/tomcat/map.jinja
index ba7902d6c326680f88ec229db1c8fc810640d7c9..d1fcea567b2e63cd9220453fa0bf3a4534a59245 100644
--- a/tomcat/map.jinja
+++ b/tomcat/map.jinja
@@ -5,7 +5,9 @@
{%- set tplroot = tpldir.split('/')[0] %}
{#- Start imports as #}
{%- import_yaml tplroot ~ "/defaults.yaml" as default_settings %}
+{%- import_yaml tplroot ~ "/osarchmap.yaml" as osarchmap %}
{%- import_yaml tplroot ~ "/osfamilymap.yaml" as osfamilymap %}
+{%- import_yaml tplroot ~ "/osmap.yaml" as osmap %}
{%- import_yaml tplroot ~ "/osfingermap.yaml" as osfingermap %}
{#- Retrieve the config dict only once #}
@@ -15,14 +17,22 @@
default_settings,
default=tplroot,
merge=salt['grains.filter_by'](
- osfamilymap,
- grain='os_family',
+ osarchmap,
+ grain='osarch',
merge=salt['grains.filter_by'](
- osfingermap,
- grain='osfinger',
+ osfamilymap,
+ grain='os_family',
merge=salt['grains.filter_by'](
- _config,
- default='lookup'
+ osmap,
+ grain='os',
+ merge=salt['grains.filter_by'](
+ osfingermap,
+ grain='osfinger',
+ merge=salt['grains.filter_by'](
+ _config,
+ default='lookup'
+ )
+ )
)
)
)
diff --git a/tomcat/osarchmap.yaml b/tomcat/osarchmap.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..ab3bc1f4b23ddbb5eecb9b2a9bc18102e1215227
--- /dev/null
+++ b/tomcat/osarchmap.yaml
@@ -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
diff --git a/tomcat/osfamilymap.yaml b/tomcat/osfamilymap.yaml
index e86ac6b4ad2f4765f1f950f5122fa2176ac2fb37..bdec0c6466ab473c54b234d7e26201c6a7cacada 100644
--- a/tomcat/osfamilymap.yaml
+++ b/tomcat/osfamilymap.yaml
@@ -15,24 +15,20 @@ Debian:
user: tomcat8
group: tomcat8
java_home: /usr/lib/jvm/default-java
+
RedHat:
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
- manager_pkg: tomcat-admin-webapps
- main_config_template: salt://tomcat/files/tomcat-default-CentOS.template
+
Suse:
ver: 8
native_pkg: libtcnative-1-0
manager_pkg: tomcat-admin-webapps
main_config_template: salt://tomcat/files/tomcat-default-CentOS.template
-FreeBSD:
- native_pkg: tomcat-native
- ini_config: /etc/rc.conf
- java_home: /usr
+
+Gentoo: {}
+
Arch:
pkg: tomcat8
ver: 8
@@ -51,6 +47,19 @@ Arch:
# Not used on Arch
manager_pkg: ''
+Alpine: {}
+
+FreeBSD:
+ native_pkg: tomcat-native
+ ini_config: /etc/rc.conf
+ java_home: /usr
+
+OpenBSD: {}
+
+Solaris: {}
+
+Windows: {}
+
{%- if grains.os == 'MacOS' %}
{%- if salt['cmd.run']('/usr/libexec/java_home -F', output_loglevel="quiet") == 0 %}
{%- set darwin_javahome = salt['cmd.run']('/usr/libexec/java_home') %}
diff --git a/tomcat/osfingermap.yaml b/tomcat/osfingermap.yaml
index 16188aa400476bda84bbdc81a2823b29c13da103..f1e70a6695d4317092d47cb2c94fb0ac71406bc2 100644
--- a/tomcat/osfingermap.yaml
+++ b/tomcat/osfingermap.yaml
@@ -1,8 +1,19 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
-Ubuntu-14.04:
- ver: 7
+# os: Debian
+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
+Debian-9: {}
+Debian-8: {}
+Debian-7:
pkg: tomcat7
manager_pkg: tomcat7-admin
conf_dir: /etc/tomcat7
@@ -11,7 +22,12 @@ Ubuntu-14.04:
service: tomcat7
user: tomcat7
group: tomcat7
-Debian-7:
+
+# os: Ubuntu
+Ubuntu-18.04: {}
+Ubuntu-16.04: {}
+Ubuntu-14.04:
+ ver: 7
pkg: tomcat7
manager_pkg: tomcat7-admin
conf_dir: /etc/tomcat7
@@ -20,12 +36,28 @@ Debian-7:
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
+
+# os: Fedora
+Fedora-31: {}
+Fedora-30: {}
+
+# os: CentOS
+CentOS Linux-8: {}
+CentOS Linux-7: {}
+CentOS-6: {}
+
+# os: Amazon
+Amazon Linux-2: {}
+Amazon Linux AMI-2018: {}
+
+# os: SUSE
+Leap-15: {}
+
+# os: FreeBSD
+FreeBSD-12: {}
+
+# os: Windows
+Windows-8.1: {}
+
+# os: Gentoo
+Gentoo-2: {}
diff --git a/tomcat/osmap.yaml b/tomcat/osmap.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..de11a67327c8df5c87f623d5f594bfd8ea414ed4
--- /dev/null
+++ b/tomcat/osmap.yaml
@@ -0,0 +1,33 @@
+# -*- 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: {}
+---
+# os_family: Debian
+Ubuntu: {}
+Raspbian: {}
+
+# os_family: RedHat
+Fedora: {}
+CentOS: {}
+Amazon: {}
+
+# os_family: Suse
+SUSE: {}
+openSUSE: {}
+
+# os_family: Gentoo
+Funtoo: {}
+
+# os_family: Arch
+Manjaro: {}
+
+# os_family: Solaris
+SmartOS: {}