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]

Reply via email to