update 18.0.0, add JAVA_HOME check, runas systemd unit
parent
0ddbc66448
commit
8bede6791e
|
@ -27,11 +27,12 @@ Role Defaults
|
||||||
|`keycloak_quarkus_https_port`| TLS HTTP port | `8443` |
|
|`keycloak_quarkus_https_port`| TLS HTTP port | `8443` |
|
||||||
|`keycloak_quarkus_ajp_port`| AJP port | `8009` |
|
|`keycloak_quarkus_ajp_port`| AJP port | `8009` |
|
||||||
|`keycloak_quarkus_jgroups_port`| jgroups cluster tcp port | `7600` |
|
|`keycloak_quarkus_jgroups_port`| jgroups cluster tcp port | `7600` |
|
||||||
|`keycloak_quarkus_java_opts`| Additional JVM options | `-Xms1024m -Xmx2048m` |
|
|
||||||
|`keycloak_quarkus_service_user`| Posix account username | `keycloak` |
|
|`keycloak_quarkus_service_user`| Posix account username | `keycloak` |
|
||||||
|`keycloak_quarkus_service_group`| Posix account group | `keycloak` |
|
|`keycloak_quarkus_service_group`| Posix account group | `keycloak` |
|
||||||
|`keycloak_quarkus_service_pidfile`| Pid file path for service | `/run/keycloak.pid` |
|
|`keycloak_quarkus_service_pidfile`| Pid file path for service | `/run/keycloak.pid` |
|
||||||
|`keycloak_quarkus_jvm_package`| RHEL java package runtime | `java-11-openjdk-headless` |
|
|`keycloak_quarkus_jvm_package`| RHEL java package runtime | `java-11-openjdk-headless` |
|
||||||
|
|`keycloak_quarkus_java_home`| JAVA_HOME of installed JRE, leave empty for using specified keycloak_quarkus_jvm_package RPM path | `None` |
|
||||||
|
|`keycloak_quarkus_java_opts`| Additional JVM options | `-Xms1024m -Xmx2048m` |
|
||||||
|`keycloak_quarkus_frontend_url`| Service public URL | `http://localhost:8080/auth` |
|
|`keycloak_quarkus_frontend_url`| Service public URL | `http://localhost:8080/auth` |
|
||||||
|`keycloak_quarkus_http_relative_path` | Service context path | `auth` |
|
|`keycloak_quarkus_http_relative_path` | Service context path | `auth` |
|
||||||
|`keycloak_quarkus_http_enabled`| Enable listener on HTTP port | `True` |
|
|`keycloak_quarkus_http_enabled`| Enable listener on HTTP port | `True` |
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
### Configuration specific to keycloak
|
### Configuration specific to keycloak
|
||||||
keycloak_quarkus_version: 17.0.1
|
keycloak_quarkus_version: 18.0.0
|
||||||
keycloak_quarkus_archive: "keycloak-{{ keycloak_quarkus_version }}.zip"
|
keycloak_quarkus_archive: "keycloak-{{ keycloak_quarkus_version }}.zip"
|
||||||
keycloak_quarkus_download_url: "https://github.com/keycloak/keycloak/releases/download/{{ keycloak_quarkus_version }}/{{ keycloak_quarkus_archive }}"
|
keycloak_quarkus_download_url: "https://github.com/keycloak/keycloak/releases/download/{{ keycloak_quarkus_version }}/{{ keycloak_quarkus_archive }}"
|
||||||
keycloak_quarkus_installdir: "{{ keycloak_quarkus_dest }}/keycloak-{{ keycloak_quarkus_version }}"
|
keycloak_quarkus_installdir: "{{ keycloak_quarkus_dest }}/keycloak-{{ keycloak_quarkus_version }}"
|
||||||
|
@ -10,6 +10,7 @@ keycloak_quarkus_offline_install: False
|
||||||
|
|
||||||
### Install location and service settings
|
### Install location and service settings
|
||||||
keycloak_quarkus_jvm_package: java-11-openjdk-headless
|
keycloak_quarkus_jvm_package: java-11-openjdk-headless
|
||||||
|
keycloak_quarkus_java_home:
|
||||||
keycloak_quarkus_dest: /opt/keycloak
|
keycloak_quarkus_dest: /opt/keycloak
|
||||||
keycloak_quarkus_home: "{{ keycloak_quarkus_installdir }}"
|
keycloak_quarkus_home: "{{ keycloak_quarkus_installdir }}"
|
||||||
keycloak_quarkus_config_dir: "{{ keycloak_quarkus_home }}/conf"
|
keycloak_quarkus_config_dir: "{{ keycloak_quarkus_home }}/conf"
|
||||||
|
@ -47,6 +48,9 @@ keycloak_quarkus_db_enabled: "{{ True if keycloak_quarkus_ha_enabled else False
|
||||||
keycloak_quarkus_http_relative_path: auth
|
keycloak_quarkus_http_relative_path: auth
|
||||||
keycloak_quarkus_frontend_url: http://localhost:8080/auth
|
keycloak_quarkus_frontend_url: http://localhost:8080/auth
|
||||||
|
|
||||||
|
# proxy address forwarding mode if the server is behind a reverse proxy. [edge, reencrypt, passthrough]
|
||||||
|
keycloak_quarkus_proxy_mode: edge
|
||||||
|
|
||||||
keycloak_quarkus_metrics_enabled: False
|
keycloak_quarkus_metrics_enabled: False
|
||||||
keycloak_quarkus_health_enabled: True
|
keycloak_quarkus_health_enabled: True
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,9 @@ argument_specs:
|
||||||
default: "java-11-openjdk-headless"
|
default: "java-11-openjdk-headless"
|
||||||
description: "RHEL java package runtime"
|
description: "RHEL java package runtime"
|
||||||
type: "str"
|
type: "str"
|
||||||
|
keycloak_quarkus_java_home:
|
||||||
|
description: "JAVA_HOME of installed JRE, leave empty for using specified keycloak_jvm_package RPM path"
|
||||||
|
type: "str"
|
||||||
keycloak_quarkus_dest:
|
keycloak_quarkus_dest:
|
||||||
# line 13 of defaults/main.yml
|
# line 13 of defaults/main.yml
|
||||||
default: "/opt/keycloak"
|
default: "/opt/keycloak"
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
---
|
---
|
||||||
# tasks file for keycloak
|
# tasks file for keycloak
|
||||||
|
|
||||||
- name: Check prerequisites
|
- name: Check prerequisites
|
||||||
ansible.builtin.include_tasks: prereqs.yml
|
ansible.builtin.include_tasks: prereqs.yml
|
||||||
tags:
|
tags:
|
||||||
|
@ -53,5 +52,6 @@
|
||||||
- name: Link default logs directory
|
- name: Link default logs directory
|
||||||
ansible.builtin.file:
|
ansible.builtin.file:
|
||||||
state: link
|
state: link
|
||||||
src: "{{ keycloak.home }}/{{ keycloak.log_file }}"
|
src: "{{ keycloak.home }}/{{ keycloak.log.file }}"
|
||||||
dest: /var/log/keycloak
|
dest: /var/log/keycloak
|
||||||
|
force: yes
|
||||||
|
|
|
@ -1,4 +1,13 @@
|
||||||
---
|
---
|
||||||
|
- name: Determine JAVA_HOME for selected JVM RPM # noqa blocked_modules
|
||||||
|
ansible.builtin.shell: |
|
||||||
|
set -o pipefail
|
||||||
|
rpm -ql {{ keycloak_quarkus_jvm_package }} | grep -Po '/usr/lib/jvm/.*(?=/bin/java$)'
|
||||||
|
args:
|
||||||
|
executable: /bin/bash
|
||||||
|
changed_when: False
|
||||||
|
register: rpm_java_home
|
||||||
|
|
||||||
- name: "Configure sysconfig file for keycloak service"
|
- name: "Configure sysconfig file for keycloak service"
|
||||||
become: yes
|
become: yes
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
|
@ -7,6 +16,8 @@
|
||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: root
|
||||||
mode: 0644
|
mode: 0644
|
||||||
|
vars:
|
||||||
|
keycloak_rpm_java_home: "{{ rpm_java_home.stdout }}"
|
||||||
notify:
|
notify:
|
||||||
- restart keycloak
|
- restart keycloak
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
# {{ ansible_managed }}
|
# {{ ansible_managed }}
|
||||||
KEYCLOAK_ADMIN={{ keycloak_quarkus_admin_user }}
|
KEYCLOAK_ADMIN={{ keycloak_quarkus_admin_user }}
|
||||||
KEYCLOAK_ADMIN_PASSWORD='{{ keycloak_quarkus_admin_pass }}'
|
KEYCLOAK_ADMIN_PASSWORD='{{ keycloak_quarkus_admin_pass }}'
|
||||||
|
JAVA_HOME={{ keycloak_java_home | default(keycloak_rpm_java_home, true) }}
|
||||||
|
|
|
@ -22,8 +22,6 @@ https-port={{ keycloak_quarkus_https_port }}
|
||||||
https-certificate-file={{ keycloak.home }}/{{ keycloak_quarkus_cert_file}}
|
https-certificate-file={{ keycloak.home }}/{{ keycloak_quarkus_cert_file}}
|
||||||
https-certificate-key-file={{ keycloak.home }}/{{ keycloak_quarkus_key_file }}
|
https-certificate-key-file={{ keycloak.home }}/{{ keycloak_quarkus_key_file }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
# Do not attach route to cookies and rely on the session affinity capabilities from reverse proxy
|
|
||||||
#spi-sticky-session-encoder-infinispan-should-attach-route=false
|
|
||||||
|
|
||||||
# Hostname for the Keycloak server.
|
# Hostname for the Keycloak server.
|
||||||
hostname={{ keycloak_quarkus_host }}
|
hostname={{ keycloak_quarkus_host }}
|
||||||
|
@ -37,13 +35,13 @@ cache-stack=tcp
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
# Proxy
|
# Proxy
|
||||||
# The proxy address forwarding mode if the server is behind a reverse proxy. [edge, reencrypt, passthrough]
|
proxy={{ keycloak_quarkus_proxy_mode }}
|
||||||
#proxy=
|
# Do not attach route to cookies and rely on the session affinity capabilities from reverse proxy
|
||||||
|
#spi-sticky-session-encoder-infinispan-should-attach-route=false
|
||||||
|
|
||||||
# Logging
|
# Logging
|
||||||
# The format of log entries.
|
|
||||||
#log-format=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n
|
#log-format=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n
|
||||||
log=file
|
log={{ keycloak_quarkus_log }}
|
||||||
log-level={{ keycloak.log.level }}
|
log-level={{ keycloak.log.level }}
|
||||||
log-file={{ keycloak.log.file }}
|
log-file={{ keycloak.log.file }}
|
||||||
log-file-format={{ keycloak.log.format }}
|
log-file-format={{ keycloak.log.format }}
|
||||||
|
|
|
@ -7,7 +7,8 @@ After=network.target
|
||||||
Type=simple
|
Type=simple
|
||||||
EnvironmentFile=-/etc/sysconfig/keycloak
|
EnvironmentFile=-/etc/sysconfig/keycloak
|
||||||
PIDFile={{ keycloak_quarkus_service_pidfile }}
|
PIDFile={{ keycloak_quarkus_service_pidfile }}
|
||||||
ExecStart={{ keycloak.home }}/bin/kc.sh start --auto-build
|
ExecStart={{ keycloak.home }}/bin/kc.sh start --auto-build --log={{ keycloak_quarkus_log }}
|
||||||
|
User={{ keycloak.service_user }}
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
|
Loading…
Reference in New Issue