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]