{"id":15096945,"url":"https://github.com/apache/dolphinscheduler-operator","last_synced_at":"2025-10-19T13:31:14.397Z","repository":{"id":42940249,"uuid":"510199196","full_name":"apache/dolphinscheduler-operator","owner":"apache","description":"Apache DolphinScheduler Kubernetes Operator.","archived":false,"fork":false,"pushed_at":"2023-12-18T22:14:16.000Z","size":275,"stargazers_count":27,"open_issues_count":5,"forks_count":18,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-01-30T10:34:38.283Z","etag":null,"topics":["airflow","azkaban","cronjob-schedule","data-schedule","distributed-schedule-system","etl-dependency","job-schedule","job-scheduler","oozie","schedule","task-schedule","task-scheduler","workflow-platform","workflow-schedule","workflow-scheduling-system"],"latest_commit_sha":null,"homepage":"https://dolphinscheduler.apache.org/","language":"Go","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apache.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-07-04T03:28:10.000Z","updated_at":"2025-01-08T08:02:44.000Z","dependencies_parsed_at":"2024-01-29T03:57:53.605Z","dependency_job_id":null,"html_url":"https://github.com/apache/dolphinscheduler-operator","commit_stats":{"total_commits":42,"total_committers":4,"mean_commits":10.5,"dds":0.6190476190476191,"last_synced_commit":"53a75e477bcc4667712152bac4ddb0cf5cb60869"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fdolphinscheduler-operator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fdolphinscheduler-operator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fdolphinscheduler-operator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fdolphinscheduler-operator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/dolphinscheduler-operator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237133514,"owners_count":19260497,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["airflow","azkaban","cronjob-schedule","data-schedule","distributed-schedule-system","etl-dependency","job-schedule","job-scheduler","oozie","schedule","task-schedule","task-scheduler","workflow-platform","workflow-schedule","workflow-scheduling-system"],"created_at":"2024-09-25T16:02:44.337Z","updated_at":"2025-10-19T13:31:09.073Z","avatar_url":"https://github.com/apache.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\n  ~ Licensed to the Apache Software Foundation (ASF) under one\n  ~ or more contributor license agreements.  See the NOTICE file\n  ~ distributed with this work for additional information\n  ~ regarding copyright ownership.  The ASF licenses this file\n  ~ to you under the Apache License, Version 2.0 (the\n  ~ \"License\"); you may not use this file except in compliance\n  ~ with the License.  You may obtain a copy of the License at\n  ~\n  ~   http://www.apache.org/licenses/LICENSE-2.0\n  ~\n  ~ Unless required by applicable law or agreed to in writing,\n  ~ software distributed under the License is distributed on an\n  ~ \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n  ~ KIND, either express or implied.  See the License for the\n  ~ specific language governing permissions and limitations\n  ~ under the License.\n--\u003e\n\n# dolphinscheduler-operator\n\n## Features\n\n- Deploy and manage the master, worker, alert, api components.\n- Scale the Pod numbers with one commond.\n- Update the component's version (not include the database schema).\n\n## Project Status\n\nProject status: `alpha1`\n\nCurrent API version: `v1alpha1`\n\n## Get Started\n\n- Create a namespace `ds`\n\n```shell\nkubectl create namespace ds\n```\n\n- Install PostgreSQL database (Optional)\n\nIf you don't have a running database, you can run \n```shell\nkubectl apply -f config/ds/postgreSQL\n```\n\nto create a demo database, note that this is only for demonstration, DO NOT use it in production environment.\nYou need to replace the `hostPath.path` in `postgres-pv.yaml` if you don't have a directory `/var/lib/data`.\n\nConnect to PostgreSQL and initialize the database schema by executing\n[`dolphinscheduler/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_postgresql.sql`](https://github.com/apache/dolphinscheduler/blob/dev/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_postgresql.sql).\n\n- Install zookeeper (Optional)\n\nIf you don't have a running zookeeper, the demo doployment file is in `config/ds/zookeeper`,\n\n```shell\nkubectl apply -f config/ds/zookeeper\n```\n\n\n- Create pv and pvc (Optional)\n\nIf you have pv and pvc, you can config it in `config/sameples`.\n\nOr you can create it with `config/ds/ds-pv.yaml` and `config/ds/ds-pvc.yaml`.\nNotice to replace the `hostPath.path` in `ds-pv.yaml`.\n\nAnd you can mount the lib in dolphinscheduler `/opt/soft`  in config/samples/ds_v1alpha1_dsworker.yaml with paramter named lib_pvc_name\n\nMount the logs in `/opt/dolphinscheduler/logs` with the pvcname named `log_pvc_name`.\n\n\n## query the status of worker\n\n```shell\nkubectl get dsworkers.ds.apache.dolphinscheduler.dev -n ds\n```\n\n\n## api explain\n\n```shell\nkubectl explain dsmaster\n```\n\n## how to test\n\n* Replace the database config and zookeeper config paramters in [`config/samples/`](./config/samples/).\n\n* Replace the nodeport in [`config/samples/ds_v1alpha1_api.yaml`](./config/samples/ds_v1alpha1_dsapi.yaml)\n\n* Install CRDs and controller\n\n\n## how to deploy\n\n```shell\nexport IMG=ghcr.io/apache/dolphinscheduler-operator:latest\nmake build \u0026\u0026 make manifests \u0026\u0026 make install \u0026\u0026 make deploy\n```\n\n* Deploy the sample\n\n```shell\ncd config/samples\nkubectl apply -f ds_v1alpha1_dsalert.yaml\nkubectl apply -f ds_v1alpha1_dsapi.yaml -f ds_v1alpha1_dsmaster.yaml -f ds_v1alpha1_dsworker.yaml\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fdolphinscheduler-operator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Fdolphinscheduler-operator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fdolphinscheduler-operator/lists"}