diff --git a/roles/infinispan/README.md b/roles/infinispan/README.md index fe16274..ba65a13 100644 --- a/roles/infinispan/README.md +++ b/roles/infinispan/README.md @@ -18,7 +18,9 @@ Role Defaults |`jdg_jgroups_relay_sites`| List of site names for cross-DC relaying | `[]` | |`jdg_jgroups_relay_site`| Site the inventory host is in when cross-DC is enabled | `''` | |`jdg_jgroups_jdbcping`| Enable clustering using JDBC PING discovery | `False` | - +|`jdg_keycloak_persistence`| Enable persitence datasource for keycloak caches | `False` | +|`jdg_service_user`| posix account for the service installation | `jdg` | +|`jdg_service_group`| posix group for the service installation | `jdg` | Role Variables diff --git a/roles/infinispan/defaults/main.yml b/roles/infinispan/defaults/main.yml index 91629e5..82aba06 100644 --- a/roles/infinispan/defaults/main.yml +++ b/roles/infinispan/defaults/main.yml @@ -19,6 +19,8 @@ jdg_bind_address: localhost jdg_port: 11222 jdg_jgroups_port: 7800 jdg_jgroups_relay_port: 7801 +jdg_service_user: jdg +jdg_service_group: jdg # flag to enable protocol encryption jdg_default_realm_tls: False @@ -34,3 +36,6 @@ jdg_jgroups_relay_site: '' # flag to enable keycloak integration infinispan_keycloak_caches: False + +# flag to enable datasource for keycloak integration +jdg_keycloak_persistence: False \ No newline at end of file diff --git a/roles/infinispan/handlers/main.yml b/roles/infinispan/handlers/main.yml index ec9ed20..050d212 100644 --- a/roles/infinispan/handlers/main.yml +++ b/roles/infinispan/handlers/main.yml @@ -1,5 +1,6 @@ --- - name: restart infinispan + throttle: 1 systemd: name: "{{ jdg.service.name }}" state: restarted diff --git a/roles/infinispan/templates/infinispan.xml.j2 b/roles/infinispan/templates/infinispan.xml.j2 index 611f57b..cfa6f58 100644 --- a/roles/infinispan/templates/infinispan.xml.j2 +++ b/roles/infinispan/templates/infinispan.xml.j2 @@ -83,25 +83,53 @@ {% if jdg_jgroups_relay %} -{% else %} - -{% endif %} + {% for keycloak_cache in jdg_keycloak_cache.caches %} - + +{% if jdg_keycloak_persistence %} + + + + + + + + + + + +{% else %} +{% endif %} {% for site in jdg_jgroups_relay_sites %} - {% if site != jdg_jgroups_relay_site %}{% endif %} +{% if site != jdg_jgroups_relay_site %} +{% endif %} {% endfor %} - + +{% endfor %} +{% else %} + + +{% for keycloak_cache in jdg_keycloak_cache.caches %} + + + + {% endfor %} + + + + + +{% endif %} {% endif %} @@ -140,7 +168,19 @@ - +{% if jdg_keycloak_persistence %} + + + + + + + +{% endif %} diff --git a/roles/infinispan/vars/main.yml b/roles/infinispan/vars/main.yml index f1a7bf5..2dfb17f 100644 --- a/roles/infinispan/vars/main.yml +++ b/roles/infinispan/vars/main.yml @@ -22,9 +22,9 @@ jdg: users: "{{ override_jdg_config_users_properties | default('users.properties') }}" groups: "{{ override_jdg_config_group_properties | default('groups.properties') }}" user: - name: "{{ override_jdg_user | default('jdg') }}" + name: "{{ jdg_service_user }}" group: - name: "{{ override_jdg_group | default('jdg') }}" + name: "{{ jdg_service_group }}" service: name: "{{ override_jdg_service_name | default('jdg' if jdg_rhn_id is defined else 'infinispan') }}" users: "{{ [ jdg_supervisor ] + infinispan_users }}" @@ -48,4 +48,3 @@ jdg_keycloak_cache: - offlineClientSessions - loginFailures - actionTokens - - work \ No newline at end of file