├── .gitignore ├── LICENSE ├── README-EN.md ├── README.md ├── define ├── constant.go └── state_error.go ├── docs └── img │ ├── 1.png │ ├── 2-EN.png │ ├── 2.png │ ├── 3.png │ ├── 4.png │ └── 5.png ├── go.mod ├── go.sum ├── implement ├── resource_k8s.go └── wfengine │ ├── wf_history_recorder_k8s.go │ ├── wf_hook_k8s.go │ ├── wf_meta_loader_k8s.go │ ├── wf_recover_k8s.go │ └── wf_runtime_memento_storage_k8s.go ├── statemachine ├── event.go ├── lock.go ├── stable_state.go └── statemachine.go ├── test ├── data │ └── k8s │ │ ├── config │ │ ├── configmap │ │ └── db_cluster_sample-workflow.yml │ │ └── dbcluster │ │ ├── db_cluster_sample.yml │ │ ├── db_cluster_sample_1.yml │ │ ├── db_cluster_sample_2.yml │ │ └── db_cluster_sample_3.yml ├── dbclusterwf │ ├── db_cluster_resource.go │ ├── wfImplement.go │ └── workflow │ │ └── dbcluster │ │ ├── test_step_group.yaml │ │ ├── wf1.yaml │ │ └── wf2.yaml ├── init.go ├── integrationtest │ ├── main.go │ └── workflow_runtime_test.go ├── mock │ ├── statemachine.go │ ├── wf_hook.go │ ├── wf_meta_loader.go │ ├── wf_recover.go │ ├── wf_runtime_memento_storage.go │ └── wf_step_action.go └── unittest │ ├── main.go │ ├── resource_workflow_test.go │ ├── statemachine_test.go │ ├── wf_history_recorder_k8s_test.go │ ├── wf_hook_k8s_test.go │ ├── wf_manager_test.go │ ├── wf_meta_loader_k8s_test.go │ ├── wf_recover_k8s_test.go │ ├── wf_runtime_memento_storage_k8s_test.go │ ├── wf_runtime_memento_test.go │ └── wf_runtime_test.go ├── utils ├── k8sutil │ ├── client.go │ └── k8sutil.go └── util.go └── wfengine ├── resource_workflow.go ├── wf_hook.go ├── wf_manager.go ├── wf_meta_loader.go ├── wf_recover.go ├── wf_runtime.go ├── wf_runtime_memento.go ├── wf_step_action.go └── wf_step_runtime.go /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/LICENSE -------------------------------------------------------------------------------- /README-EN.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/README-EN.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/README.md -------------------------------------------------------------------------------- /define/constant.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/define/constant.go -------------------------------------------------------------------------------- /define/state_error.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/define/state_error.go -------------------------------------------------------------------------------- /docs/img/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/docs/img/1.png -------------------------------------------------------------------------------- /docs/img/2-EN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/docs/img/2-EN.png -------------------------------------------------------------------------------- /docs/img/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/docs/img/2.png -------------------------------------------------------------------------------- /docs/img/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/docs/img/3.png -------------------------------------------------------------------------------- /docs/img/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/docs/img/4.png -------------------------------------------------------------------------------- /docs/img/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/docs/img/5.png -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/go.sum -------------------------------------------------------------------------------- /implement/resource_k8s.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/implement/resource_k8s.go -------------------------------------------------------------------------------- /implement/wfengine/wf_history_recorder_k8s.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/implement/wfengine/wf_history_recorder_k8s.go -------------------------------------------------------------------------------- /implement/wfengine/wf_hook_k8s.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/implement/wfengine/wf_hook_k8s.go -------------------------------------------------------------------------------- /implement/wfengine/wf_meta_loader_k8s.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/implement/wfengine/wf_meta_loader_k8s.go -------------------------------------------------------------------------------- /implement/wfengine/wf_recover_k8s.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/implement/wfengine/wf_recover_k8s.go -------------------------------------------------------------------------------- /implement/wfengine/wf_runtime_memento_storage_k8s.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/implement/wfengine/wf_runtime_memento_storage_k8s.go -------------------------------------------------------------------------------- /statemachine/event.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/statemachine/event.go -------------------------------------------------------------------------------- /statemachine/lock.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/statemachine/lock.go -------------------------------------------------------------------------------- /statemachine/stable_state.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/statemachine/stable_state.go -------------------------------------------------------------------------------- /statemachine/statemachine.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/statemachine/statemachine.go -------------------------------------------------------------------------------- /test/data/k8s/config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/data/k8s/config -------------------------------------------------------------------------------- /test/data/k8s/configmap/db_cluster_sample-workflow.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/data/k8s/configmap/db_cluster_sample-workflow.yml -------------------------------------------------------------------------------- /test/data/k8s/dbcluster/db_cluster_sample.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/data/k8s/dbcluster/db_cluster_sample.yml -------------------------------------------------------------------------------- /test/data/k8s/dbcluster/db_cluster_sample_1.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/data/k8s/dbcluster/db_cluster_sample_1.yml -------------------------------------------------------------------------------- /test/data/k8s/dbcluster/db_cluster_sample_2.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/data/k8s/dbcluster/db_cluster_sample_2.yml -------------------------------------------------------------------------------- /test/data/k8s/dbcluster/db_cluster_sample_3.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/data/k8s/dbcluster/db_cluster_sample_3.yml -------------------------------------------------------------------------------- /test/dbclusterwf/db_cluster_resource.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/dbclusterwf/db_cluster_resource.go -------------------------------------------------------------------------------- /test/dbclusterwf/wfImplement.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/dbclusterwf/wfImplement.go -------------------------------------------------------------------------------- /test/dbclusterwf/workflow/dbcluster/test_step_group.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/dbclusterwf/workflow/dbcluster/test_step_group.yaml -------------------------------------------------------------------------------- /test/dbclusterwf/workflow/dbcluster/wf1.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/dbclusterwf/workflow/dbcluster/wf1.yaml -------------------------------------------------------------------------------- /test/dbclusterwf/workflow/dbcluster/wf2.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/dbclusterwf/workflow/dbcluster/wf2.yaml -------------------------------------------------------------------------------- /test/init.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/init.go -------------------------------------------------------------------------------- /test/integrationtest/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/integrationtest/main.go -------------------------------------------------------------------------------- /test/integrationtest/workflow_runtime_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/integrationtest/workflow_runtime_test.go -------------------------------------------------------------------------------- /test/mock/statemachine.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/mock/statemachine.go -------------------------------------------------------------------------------- /test/mock/wf_hook.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/mock/wf_hook.go -------------------------------------------------------------------------------- /test/mock/wf_meta_loader.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/mock/wf_meta_loader.go -------------------------------------------------------------------------------- /test/mock/wf_recover.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/mock/wf_recover.go -------------------------------------------------------------------------------- /test/mock/wf_runtime_memento_storage.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/mock/wf_runtime_memento_storage.go -------------------------------------------------------------------------------- /test/mock/wf_step_action.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/mock/wf_step_action.go -------------------------------------------------------------------------------- /test/unittest/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/unittest/main.go -------------------------------------------------------------------------------- /test/unittest/resource_workflow_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/unittest/resource_workflow_test.go -------------------------------------------------------------------------------- /test/unittest/statemachine_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/unittest/statemachine_test.go -------------------------------------------------------------------------------- /test/unittest/wf_history_recorder_k8s_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/unittest/wf_history_recorder_k8s_test.go -------------------------------------------------------------------------------- /test/unittest/wf_hook_k8s_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/unittest/wf_hook_k8s_test.go -------------------------------------------------------------------------------- /test/unittest/wf_manager_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/unittest/wf_manager_test.go -------------------------------------------------------------------------------- /test/unittest/wf_meta_loader_k8s_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/unittest/wf_meta_loader_k8s_test.go -------------------------------------------------------------------------------- /test/unittest/wf_recover_k8s_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/unittest/wf_recover_k8s_test.go -------------------------------------------------------------------------------- /test/unittest/wf_runtime_memento_storage_k8s_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/unittest/wf_runtime_memento_storage_k8s_test.go -------------------------------------------------------------------------------- /test/unittest/wf_runtime_memento_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/unittest/wf_runtime_memento_test.go -------------------------------------------------------------------------------- /test/unittest/wf_runtime_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/test/unittest/wf_runtime_test.go -------------------------------------------------------------------------------- /utils/k8sutil/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/utils/k8sutil/client.go -------------------------------------------------------------------------------- /utils/k8sutil/k8sutil.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/utils/k8sutil/k8sutil.go -------------------------------------------------------------------------------- /utils/util.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/utils/util.go -------------------------------------------------------------------------------- /wfengine/resource_workflow.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/wfengine/resource_workflow.go -------------------------------------------------------------------------------- /wfengine/wf_hook.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/wfengine/wf_hook.go -------------------------------------------------------------------------------- /wfengine/wf_manager.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/wfengine/wf_manager.go -------------------------------------------------------------------------------- /wfengine/wf_meta_loader.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/wfengine/wf_meta_loader.go -------------------------------------------------------------------------------- /wfengine/wf_recover.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/wfengine/wf_recover.go -------------------------------------------------------------------------------- /wfengine/wf_runtime.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/wfengine/wf_runtime.go -------------------------------------------------------------------------------- /wfengine/wf_runtime_memento.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/wfengine/wf_runtime_memento.go -------------------------------------------------------------------------------- /wfengine/wf_step_action.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/wfengine/wf_step_action.go -------------------------------------------------------------------------------- /wfengine/wf_step_runtime.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ApsaraDB/PolarDB-Stack-Workflow/HEAD/wfengine/wf_step_runtime.go --------------------------------------------------------------------------------