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]

Reply via email to