hanicz opened a new pull request, #1243: URL: https://github.com/apache/knox/pull/1243
[KNOX-3332](https://issues.apache.org/jira/browse/KNOX-3332) - Add listeners on gateway config changes for observers ## What changes were proposed in this pull request? - Adds an observer pattern so clients are notified if gateway config changes. - Knox LDAP Server Manager reloads the LDAP configs if there are changes and restart the LDAP service. ## How was this patch tested? Unit tests Manual test: Started a local Knox and LDAP instance. Changed the knoxsso ldap port to 33390 and tried to login into the homepage which failed. Updated the gateway-reloadable.xml with the new port 33395 and I was able to log into the homepage. ``` 2026-05-29 11:26:10,426 INFO knox.gateway (GatewayServer.java:refreshGatewayConfig(275)) - Refreshed gateway config 2026-05-29 11:26:10,426 INFO services.ldap (KnoxLDAPServerManager.java:onGatewayConfigChanged(109)) - Reloading LDAP configuration 2026-05-29 11:26:10,427 INFO services.ldap (KnoxLDAPServerManager.java:stop(218)) - Stopping LDAP service on port 33,390 2026-05-29 11:26:10,445 INFO services.ldap (KnoxLDAPServerManager.java:stop(236)) - LDAP service stopped successfully 2026-05-29 11:26:10,448 INFO services.ldap (BackendFactory.java:createBackend(39)) - Loading backend: ldap (via ServiceLoader) 2026-05-29 11:26:10,448 INFO services.ldap (LdapProxyBackend.java:initialize(140)) - Loading backend: ldap (via Proxying dc=hadoop,dc=apache,dc=org to ldap://localhost:33389 (dc=hadoop,dc=apache,dc=org) with uid attribute using group searches) 2026-05-29 11:26:10,449 INFO services.ldap (LdapProxyBackend.java:initializeConnectionPool(180)) - Loading backend: ldap (via Initialized connection pool with maxActive=8) 2026-05-29 11:26:10,449 INFO services.ldap (KnoxLDAPServerManager.java:start(131)) - Starting LDAP service on port 33,395 with base DN: dc=hadoop,dc=apache,dc=org 2026-05-29 11:26:10,540 INFO services.ldap (KnoxLDAPServerManager.java:start(190)) - LDAP service started successfully on port 33,395 ``` gateway-site.xml ``` <!-- KnoxLDAP Service Configuration --> <property> <name>gateway.ldap.enabled</name> <value>true</value> </property> <property> <name>gateway.ldap.port</name> <value>33390</value> </property> <property> <name>gateway.ldap.base.dn</name> <value>dc=hadoop,dc=apache,dc=org</value> </property> <property> <name>gateway.ldap.backend.type</name> <value>ldap</value> </property> <!-- LDAP Backend specific configuration (proxying to demo ldap) --> <property> <name>gateway.ldap.backend.ldap.url</name> <value>ldap://localhost:33389</value> </property> <property> <name>gateway.ldap.backend.ldap.remoteBaseDn</name> <value>dc=hadoop,dc=apache,dc=org</value> </property> <property> <name>gateway.ldap.backend.ldap.systemUsername</name> <value>uid=guest,ou=people,dc=hadoop,dc=apache,dc=org</value> </property> <property> <name>gateway.ldap.backend.ldap.systemPassword</name> <value>guest-password</value> </property> <property> <name>gateway.ldap.backend.ldap.userSearchBase</name> <value>ou=people,dc=hadoop,dc=apache,dc=org</value> </property> <property> <name>gateway.ldap.backend.ldap.groupSearchBase</name> <value>ou=groups,dc=hadoop,dc=apache,dc=org</value> </property> <property> <name>gateway.ldap.backend.ldap.groupMemberAttribute</name> <value>member</value> </property> ``` knoxsso.xml: ``` <param> <name>main.ldapRealm.contextFactory.url</name> <value>ldap://localhost:33395</value> </param> ``` gateway-reloadable.xml ``` <configuration> <property> <name>gateway.ldap.port</name> <value>33395</value> </property> </configuration> ``` ## Integration Tests N/A ## UI changes N/A -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
