fix(web): make SSLVerifyClient configurable and document staging workaround

- Define koji_hub_ssl_verify_client in vars/default.yaml with a warning comment.

- Update roles/koji_hub/tasks/main.yaml to use the new variable.

- Helps document why it is optional in dev/staging (avoid TLS 1.3 PHA) and require in production.

Co-developed-by: Gemini AI <renich+gemini@woralelandia.com>

Signed-off-by: Rénich Bon Ćirić <renich@woralelandia.com>
This commit is contained in:
Rénich Bon Ćirić 2026-06-16 12:11:08 -06:00
commit 60a6827c3c
Signed by: renich
GPG key ID: AB2A9F49384FE324
2 changed files with 6 additions and 1 deletions

View file

@ -155,7 +155,7 @@
- { path: "{{ koji_hub_httpd_ssl_config_file }}", regexp: "^SSLCertificateFile", line: "SSLCertificateFile {{ koji_hub_cert_path }}" } - { path: "{{ koji_hub_httpd_ssl_config_file }}", regexp: "^SSLCertificateFile", line: "SSLCertificateFile {{ koji_hub_cert_path }}" }
- { path: "{{ koji_hub_httpd_ssl_config_file }}", regexp: "^SSLCertificateKeyFile", line: "SSLCertificateKeyFile {{ koji_hub_key_path }}" } - { path: "{{ koji_hub_httpd_ssl_config_file }}", regexp: "^SSLCertificateKeyFile", line: "SSLCertificateKeyFile {{ koji_hub_key_path }}" }
- { path: "{{ koji_hub_httpd_ssl_config_file }}", regexp: "^#?SSLCACertificateFile", line: "SSLCACertificateFile {{ koji_remote_ca_trust_path }}" } - { path: "{{ koji_hub_httpd_ssl_config_file }}", regexp: "^#?SSLCACertificateFile", line: "SSLCACertificateFile {{ koji_remote_ca_trust_path }}" }
- { path: "{{ koji_hub_httpd_ssl_config_file }}", regexp: "^#?SSLVerifyClient", line: "SSLVerifyClient optional" } - { path: "{{ koji_hub_httpd_ssl_config_file }}", regexp: "^#?SSLVerifyClient", line: "SSLVerifyClient {{ koji_hub_ssl_verify_client }}" }
- { path: "{{ koji_hub_httpd_ssl_config_file }}", regexp: "^#?SSLVerifyDepth", line: "SSLVerifyDepth 10" } - { path: "{{ koji_hub_httpd_ssl_config_file }}", regexp: "^#?SSLVerifyDepth", line: "SSLVerifyDepth 10" }
notify: Restart httpd notify: Restart httpd

View file

@ -102,6 +102,11 @@ kojid_mock_root: /var/lib/mock/mxos0-build-x86_64
# HTTPD/Web Paths # HTTPD/Web Paths
koji_hub_httpd_ssl_config_file: /etc/httpd/conf.d/ssl.conf koji_hub_httpd_ssl_config_file: /etc/httpd/conf.d/ssl.conf
# WARNING: Set to "require" in production for security. "optional" is used in
# development/staging to avoid TLS 1.3 Post-Handshake Authentication (PHA)
# browser errors (like "Cannot perform Post-Handshake Authentication") when
# logging in to Koji Web (which enforces client certificate validation).
koji_hub_ssl_verify_client: optional
koji_cleanup_script_path: /usr/local/bin/koji_cleanup.sh koji_cleanup_script_path: /usr/local/bin/koji_cleanup.sh
koji_cleanup_service_path: /etc/systemd/system/koji-cleanup.service koji_cleanup_service_path: /etc/systemd/system/koji-cleanup.service
koji_cleanup_timer_path: /etc/systemd/system/koji-cleanup.timer koji_cleanup_timer_path: /etc/systemd/system/koji-cleanup.timer