Aias00 opened a new issue, #7306: URL: https://github.com/apache/shenyu/issues/7306
## Goal Move selected optional ShenYu integrations from the main repository to `apache/shenyu-plugin-store` without losing behavior, tests, release ownership, documentation, or upgrade compatibility. Each plugin/integration is handled by its own issue and two-repository cutover. Target repository: https://github.com/apache/shenyu-plugin-store ## Decision Principles A module is a migration candidate when most of the following hold: - it is not required by the generic request-processing or default data-sync path; - it is a vendor-, middleware-, or protocol-specific adapter; - it can be loaded through a starter/external-plugin contract; - its dependency and release lifecycle should not enlarge the default distribution; - behavior can be preserved by unit and real E2E coverage in the owning repository. Migration does **not** mean abandonment. TARS, SOFA, Pulsar, ClickHouse, cloud logging, Casdoor, and Polaris remain supported extensions. Hystrix is the exception: it is migrated only as a deprecated legacy compatibility plugin because upstream is in maintenance mode. ## Mandatory Cutover Contract Every child issue must satisfy all gates before source removal from `apache/shenyu`: 1. **Foundation**: plugin-store builds from a clean checkout with wrapper, CI, Checkstyle, RAT, unit tests, packaging, and compatibility rules. 2. **Parity**: all main-branch fixes at the cutover commit are present in the store. 3. **Core decoupling**: optional plugin identifiers, DTOs, converters, response handlers, and admin metadata no longer require hard-coded core implementation dependencies, or a documented stable compatibility contract exists. 4. **Tests**: unit and starter auto-configuration tests run and are not skipped. 5. **E2E**: a real gateway plus disposable/mock external service proves success, failure, config refresh, and clean shutdown. Cloud-vendor PR tests must not require shared credentials. 6. **Release**: exactly one repository publishes each Maven coordinate; source/javadoc/signing/LICENSE/NOTICE requirements pass. 7. **Main cleanup**: remove active modules, aggregators, default-bootstrap dependencies, current seed/menu/config entries, examples, duplicate tests, and distribution dependencies. Keep historical release notes and upgrade SQL. 8. **Rollback**: document how to return to the previous artifact/configuration during one supported release window. Use one plugin migration per PR. A child issue may use separate preparation, store-addition, and main-removal PRs, but the removal PR must remain blocked until store artifacts and E2E are green. ## Phase 0: Make the Store a Valid Build Target - [ ] #7294 ## Phase 1: Complete Existing Store Migrations and Legacy Isolation - [ ] #7295 - [ ] #7296 - [ ] #7298 ## Phase 2: Move Leaf Authentication and Logging Adapters - [ ] #7299 - [ ] #7300 - [ ] #7301 - [ ] #7302 - [ ] #7303 - [ ] #7304 ## Phase 3: Move Vertically Coupled Integrations - [ ] #7297 - [ ] #7305 ## Scope Kept in the Main Repository for This Plan - Dubbo, gRPC, Divide/Spring Cloud, and WebSocket proxy paths. - Core plugin API/base/http client and request/response/routing transformations. - Rate limiter and Resilience4j. - Logging common/console and, initially, Kafka/Elasticsearch reference sinks. - HTTP/WebSocket/ZooKeeper/Nacos data-sync paths. - MQTT, TCP, RabbitMQ logging, and RocketMQ logging remain pending real usage/maintainer data and are not part of this migration batch. ## Program Completion Criteria - [ ] All selected integrations have a documented owner and compatibility range. - [ ] Main ShenYu builds and all affected regression suites pass without their source modules. - [ ] The default bootstrap no longer includes migrated third-party SDKs. - [ ] Plugin-store CI and release validation pass for every migrated module. - [ ] Website/user documentation points to external coordinates and configuration. - [ ] No artifact is published by both repositories for the same version. -- 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]
