Aias00 opened a new issue, #7596: URL: https://github.com/apache/shenyu/issues/7596
## Background Eureka support is an optional service-registry / discovery integration rather than a request plugin. The current implementation spans: - `shenyu-registry-eureka`; - its Spring Boot starter (currently bundled in the compatibility `shenyu-spring-boot-starter-registry`); - `shenyu-examples-eureka`; - references in `shenyu-e2e-case` and the admin/compatibility distribution graphs. Eureka is registry-only in ShenYu (there is no Eureka data-sync/admin-listener path), so the migration unit is smaller than Consul (#7308). Moving it out reduces the default distribution's Eureka 2.x client footprint and aligns with the #7306 decision principles: a vendor/middleware-specific adapter, loadable through an external starter contract, whose dependency and release lifecycle should not enlarge the default distribution. Netflix Eureka is in maintenance mode upstream, which reinforces the external-extension ownership model. Tracked by #7306. Depends on #7294. Precedent: #7308 (Consul). ## Scope ### plugin-store - Add a `shenyu-registry-eureka` module using the established store layout. - Migrate with current unit tests; preserve all fixes present at cutover (instance register/deregister, discovery refresh, lease/heartbeat behavior). - Add starter auto-configuration tests. - Add an E2E environment with a real disposable Eureka server, ShenYu admin, and ShenYu gateway covering instance registration, discovery, deregistration, and config refresh. - Document Eureka version compatibility, ShenYu compatibility, and configuration. ### apache/shenyu - Remove the in-tree `shenyu-registry-eureka` module, its starter wiring, aggregator entries, default-bootstrap/admin distribution dependency, and examples only after external parity. - Update dependency management, examples, docs, CI matrices, LICENSE/NOTICE, and distribution packaging. - Reuse the #7578 SPI factory (`ShenyuInstanceRegisterRepositoryFactory.loadRepository`) so the `eureka` type key resolves to an external SPI implementation without hard-coded core coupling. - Preserve the `eureka` registry type name and any enum/SQL compatibility contracts. - Provide migration and rollback guidance for existing `registerType: eureka` deployments. ## Acceptance Criteria - [ ] Eureka registry/instance support is owned and built in plugin-store. - [ ] Unit tests cover register/deregister, discovery refresh, and shutdown. - [ ] Starter auto-configuration has direct test coverage. - [ ] E2E proves instance registration and discovery through a real Eureka server. - [ ] Other registry implementations remain green after main-repository removal. - [ ] Existing `eureka` type name/configuration has documented compatibility and rollback steps. - [ ] A minimal deployment can enable Eureka 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]
