DanielCarter-stack commented on issue #10554: URL: https://github.com/apache/seatunnel/issues/10554#issuecomment-3985421993
<!-- code-pr-reviewer --> Thanks for proposing this valuable feature! I've reviewed the codebase and confirmed this doesn't exist yet—currently all data source configurations (URL, username, password) are required directly in job configs per `JdbcCommonOptions.java` (lines 161-165). The approach is feasible and aligns well with SeaTunnel's architecture: - Existing SPI mechanism (`Factory` + `SeaTunnelFactoryDiscovery.java`) can be leveraged - Gravitino integration (`MetaLakeFactory.java`, `GravitinoClient`) provides a foundation - `seatunnel.yaml` can be extended for datasource center config **Design considerations:** - Place `DataSourceProvider`/`DataSourceMapper` interfaces in `seatunnel-api` module alongside existing `Factory` SPI - Define clear merge strategy for `datasourceId` vs job-level overrides - Adjust `OptionRule` in JDBC connectors to make URL/USERNAME/PASSWORD optional when `datasourceId` is present - Add mutual exclusion validation (either `datasourceId` OR direct config, not both) **Clarification questions:** 1. Should we support dynamic refresh of datasource configurations at runtime? 2. Do we plan to expose the datasource list in Web UI for user selection? 3. Should we support multiple datasource centers simultaneously (e.g., Gravitino + custom system)? Looking forward to your PR! -- 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]
