Hi community, I would like to propose DSIP-109: Add Git repository as a new resource storage backend.
Motivation: DolphinScheduler currently supports LOCAL, HDFS, S3, OSS, GCS, ABS, OBS, COS as resource storage backends. These are all object/file storage systems. In many scenarios, users want to store and version-control workflow resources (shell scripts, SQL files, Python files, UDFs) directly in a Git repository, gaining: 1. Version history — every resource change is a Git commit with a diffable audit trail 2. GitOps workflow — resources managed through pull requests / code review 3. Git-native CI/CD integration — resources can trigger CI pipelines natively This DSIP proposes adding a new storage plugin module dolphinscheduler-storage-git that implements the existing StorageOperator SPI, supporting GitHub, Gitea, and GitLab as storage backends via their REST Contents/Files APIs. Design: Implements StorageOperator. Maps DS file operations (create/exists/delete/copy/upload/download/list) to Git API calls via REST. github: https://docs.github.com/en/rest/authentication/authenticating-to-the-rest-api?apiVersion=2026-03-10 https://docs.github.com/en/rest/repos/contents?apiVersion=2026-03-10 gitlab: https://docs.gitlab.com/api/rest/#authentication https://docs.gitlab.com/api/repository_files/ gitea: https://docs.gitea.com/development/api-usage https://docs.gitea.com/api/1.25/#tag/repository/operation/repoMigrate I already created a GitHub Issue for my proposal, which you can see in https://github.com/apache/dolphinscheduler/issues/18350. Looking forward to any feedback on this thread. Best regards, eye-gu
