Repository navigation
[Task] Migrate the Apollo registry, data-sync, admin-listener, and starters to shenyu-plugin-store #7599
Description
Background
Apache ShenYu is executing a phased migration of optional integrations out of the
main repository and into the external extension repository
apache/shenyu-plugin-store (tracked
by #7306). Consul is the reference precedent (#7308), with Eureka (#7596) and etcd
(#7597) following the same pattern.
The registry layer was decoupled in #7578: every registry now implements the
ShenyuInstanceRegisterRepository SPI and is loaded via
ShenyuInstanceRegisterRepositoryFactory.loadRepository, so it can be cleanly
externalized without touching the gateway core. Apollo already follows this pattern
(ApolloInstanceRegisterRepository + RegistrySpiTest), which makes it a good
candidate for the same move.
Note: unlike Consul (already marked external), Apollo is still a first-class,
supported backend — the README lists it alongside Nacos/etcd as an available
sync mechanism ("HTTP long polling, ZooKeeper, Nacos, etcd, and Apollo are
available"). Therefore externalizing it requires a dev-list consensus + deprecation
cycle, exactly as etcd (#7597). Apollo is also not part of the original #7306
child set (#7294–#7308), so this issue extends the plan rather than completing it.
Scope
Remove / move out of apache/shenyu
shenyu-registry/shenyu-registry-apollo(registry implementation; implementsShenyuInstanceRegisterRepository)shenyu-sync-data-center/shenyu-sync-data-apollo(data-sync backend;ApolloDataService,ApolloConfig)shenyu-admin-listener/shenyu-admin-listener-apollo(ApolloSyncConfiguration)shenyu-spring-boot-starter/shenyu-spring-boot-starter-sync-data-center/shenyu-spring-boot-starter-sync-data-apolloshenyu-common/.../constant/ApolloPathConstants.java(evaluate — may be shared; move or keep minimal shim)- README.md line "and Apollo are available" → update to "external extension (see plugin-store-apollo.md)"
Add to apache/shenyu-plugin-store
Mirror the Consul structure (docs/plugin-store-consul.md):
shenyu-registry-apollo+shenyu-sync-data-apollo+shenyu-admin-listener-apollo+ startersdocs/plugin-store-apollo.mddocumenting install/enable + cutover contract
Acceptance Criteria
- All Apollo artifacts build and pass tests inside
shenyu-plugin-store. -
ShenyuInstanceRegisterRepositoryFactory.loadRepositorystill resolves Apollo when the plugin-store jar is on the classpath (no core change). -
docs/plugin-store-apollo.mdpublished with install + enable steps and the [Task] Track the phased migration of optional integrations to shenyu-plugin-store #7306 cutover contract. - README updated; deprecation note + migration guide added for one release before removal from core.
- CI: main-repo build no longer compiles Apollo; plugin-store CI covers it.
Related
- [Task] Track the phased migration of optional integrations to shenyu-plugin-store #7306 (umbrella) · [Task] Migrate the Consul data-sync and registry integration to shenyu-plugin-store #7308 (Consul, precedent) · [Task] Migrate the Eureka registry integration to shenyu-plugin-store #7596 (Eureka) · [Task] Migrate the etcd registry and data-sync integration to shenyu-plugin-store #7597 (etcd)
- [ISSUE #7311] Decouple registry core from implementations. #7578 (registry SPI decoupling that enables this)
Activity
github-actions commentedon Oct 13, 2026
👋 Hello @Aias00
A new issue has been opened by @Aias00:
Please review when you have time. Thank you! 🙏
yangjj-iso commentedon Oct 14, 2026
/assign