Aias00 opened a new issue, #7308:
URL: https://github.com/apache/shenyu/issues/7308

   ## Background
   
   Consul support is an optional vertical integration rather than one request 
plugin. The current implementation spans:
   
   - `shenyu-admin-listener-consul`;
   - `shenyu-sync-data-consul`;
   - `shenyu-registry-consul`;
   - `shenyu-spring-boot-starter-sync-data-consul`;
   - the admin and default-bootstrap dependency graphs.
   
   Moving only one module would leave a split owner and an untestable 
configuration path. The entire Consul stack must move as one migration unit.
   
   Tracked by #7306. Depends on #7294.
   
   ## Scope
   
   ### plugin-store
   
   - Add a supported top-level layout for admin listeners, data-sync adapters, 
registry/instance adapters, and sync starters.
   - Migrate all four Consul modules with their current unit tests.
   - Preserve all fixes present at cutover, including concurrent watcher state, 
registry executor shutdown, instance watcher consistency, 
multi-selector/multi-registry behavior, update detection, and resource cleanup.
   - Add missing starter auto-configuration tests.
   - Add a Testcontainers-based integration/E2E environment using a real 
disposable Consul server, ShenYu admin, and ShenYu gateway.
   - Cover:
     - initial plugin/selector/rule synchronization;
     - create, update, and delete propagation;
     - namespace/key-prefix isolation;
     - watch interruption and reconnect/recovery;
     - service instance register, update, deregister, and discovery;
     - multiple selectors or registry endpoints;
     - orderly shutdown without leaked watcher/executor threads.
   - Document Consul ACL/TLS/datacenter configuration, key layout, supported 
Consul/client versions, licensing considerations for the test/runtime 
environment, and ShenYu compatibility.
   
   ### apache/shenyu
   
   - Remove the Consul admin-listener dependency from admin, sync-data module, 
registry module, sync starter, aggregator entries, and default-bootstrap 
dependency only after external parity.
   - Update dependency management, configuration metadata, examples, docs, CI 
matrices, LICENSE/NOTICE, and distribution packaging.
   - Preserve historical release notes and upgrade/configuration documentation.
   - Confirm HTTP, WebSocket, ZooKeeper, Nacos, and other sync/registry 
implementations pass regression tests after removal.
   - Provide a migration and rollback guide for existing Consul keyspaces and 
gateway/admin configuration.
   
   ## Acceptance Criteria
   
   - [ ] Admin listener, data sync, registry/instance support, and starter are 
owned and built together in plugin-store.
   - [ ] Unit tests cover create/update/delete, watcher concurrency, reconnect, 
instance updates, and shutdown.
   - [ ] Starter auto-configuration has direct test coverage.
   - [ ] E2E proves admin-to-gateway synchronization and instance registration 
through a real Consul server.
   - [ ] Other sync and registry implementations remain green after 
main-repository removal.
   - [ ] Existing Consul key layout/configuration has documented compatibility 
and rollback steps.
   - [ ] A minimal admin/gateway deployment can enable Consul solely through 
external artifacts and configuration.
   - [ ] Artifact publication and main-repository removal are coordinated 
without duplicate coordinates.
   
   


-- 
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