├── .dockerignore ├── .github └── workflows │ ├── image.yml │ └── pr.yml ├── .gitignore ├── LICENSE ├── Makefile ├── PROJECT ├── README.md ├── api └── v1beta1 │ ├── announcement_types.go │ ├── file_types.go │ ├── groupversion_info.go │ ├── job_types.go │ ├── manager_types.go │ └── zz_generated.deepcopy.go ├── cmd └── main.go ├── config ├── controller │ ├── controller.yaml │ └── kustomization.yaml ├── crd │ ├── bases │ │ ├── mirror.redrock.team_announcements.yaml │ │ ├── mirror.redrock.team_files.yaml │ │ ├── mirror.redrock.team_jobs.yaml │ │ └── mirror.redrock.team_managers.yaml │ └── kustomization.yaml ├── default │ └── kustomization.yaml ├── rbac │ ├── kustomization.yaml │ ├── role.yaml │ ├── role_binding.yaml │ └── service_account.yaml └── samples │ ├── kustomization.yaml │ ├── mirror_v1beta1_announcement.yaml │ ├── mirror_v1beta1_file.yaml │ ├── mirror_v1beta1_job.yaml │ └── mirror_v1beta1_manager.yaml ├── docker ├── Dockerfile.controller ├── Dockerfile.manager ├── Dockerfile.worker └── worker │ ├── anaconda │ ├── Dockerfile │ └── anaconda.py │ ├── bandersnatch │ ├── Dockerfile │ └── pypi.sh │ ├── entware │ ├── Dockerfile │ └── entware.sh │ ├── git │ ├── Dockerfile │ └── git.sh │ └── github-release │ ├── Dockerfile │ └── github-release.py ├── docs ├── design.md └── examples │ ├── controller.yaml │ ├── front.yaml │ ├── job.yaml │ └── manager.yaml ├── go.mod ├── go.sum ├── hack └── boilerplate.go.txt ├── internal ├── controller │ ├── announcement_controller.go │ ├── const.go │ ├── job_controller.go │ ├── job_helper.go │ ├── manager_controller.go │ ├── manager_helper.go │ ├── suite_test.go │ └── utils.go ├── recognizer.go └── types.go ├── manager ├── cmd │ └── main.go ├── external │ ├── base.go │ └── gitea.go ├── mirrorz │ └── types.go └── server.go └── worker ├── base_provider.go ├── btrfs_snapshot_hook.go ├── btrfs_snapshot_hook_nolinux.go ├── cmd └── main.go ├── cmd_provider.go ├── common.go ├── config.go ├── context.go ├── exec_post_hook.go ├── hooks.go ├── job.go ├── logger.go ├── loglimit_hook.go ├── provider.go ├── rsync_provider.go ├── runner.go ├── schedule.go ├── two_stage_rsync_provider.go ├── util.go ├── utils └── reporter ├── worker.go └── zfs_hook.go /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/.dockerignore -------------------------------------------------------------------------------- /.github/workflows/image.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/.github/workflows/image.yml -------------------------------------------------------------------------------- /.github/workflows/pr.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/.github/workflows/pr.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/Makefile -------------------------------------------------------------------------------- /PROJECT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/PROJECT -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/README.md -------------------------------------------------------------------------------- /api/v1beta1/announcement_types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/api/v1beta1/announcement_types.go -------------------------------------------------------------------------------- /api/v1beta1/file_types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/api/v1beta1/file_types.go -------------------------------------------------------------------------------- /api/v1beta1/groupversion_info.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/api/v1beta1/groupversion_info.go -------------------------------------------------------------------------------- /api/v1beta1/job_types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/api/v1beta1/job_types.go -------------------------------------------------------------------------------- /api/v1beta1/manager_types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/api/v1beta1/manager_types.go -------------------------------------------------------------------------------- /api/v1beta1/zz_generated.deepcopy.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/api/v1beta1/zz_generated.deepcopy.go -------------------------------------------------------------------------------- /cmd/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/cmd/main.go -------------------------------------------------------------------------------- /config/controller/controller.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/config/controller/controller.yaml -------------------------------------------------------------------------------- /config/controller/kustomization.yaml: -------------------------------------------------------------------------------- 1 | resources: 2 | - controller.yaml 3 | -------------------------------------------------------------------------------- /config/crd/bases/mirror.redrock.team_announcements.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/config/crd/bases/mirror.redrock.team_announcements.yaml -------------------------------------------------------------------------------- /config/crd/bases/mirror.redrock.team_files.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/config/crd/bases/mirror.redrock.team_files.yaml -------------------------------------------------------------------------------- /config/crd/bases/mirror.redrock.team_jobs.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/config/crd/bases/mirror.redrock.team_jobs.yaml -------------------------------------------------------------------------------- /config/crd/bases/mirror.redrock.team_managers.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/config/crd/bases/mirror.redrock.team_managers.yaml -------------------------------------------------------------------------------- /config/crd/kustomization.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/config/crd/kustomization.yaml -------------------------------------------------------------------------------- /config/default/kustomization.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/config/default/kustomization.yaml -------------------------------------------------------------------------------- /config/rbac/kustomization.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/config/rbac/kustomization.yaml -------------------------------------------------------------------------------- /config/rbac/role.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/config/rbac/role.yaml -------------------------------------------------------------------------------- /config/rbac/role_binding.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/config/rbac/role_binding.yaml -------------------------------------------------------------------------------- /config/rbac/service_account.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/config/rbac/service_account.yaml -------------------------------------------------------------------------------- /config/samples/kustomization.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/config/samples/kustomization.yaml -------------------------------------------------------------------------------- /config/samples/mirror_v1beta1_announcement.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/config/samples/mirror_v1beta1_announcement.yaml -------------------------------------------------------------------------------- /config/samples/mirror_v1beta1_file.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/config/samples/mirror_v1beta1_file.yaml -------------------------------------------------------------------------------- /config/samples/mirror_v1beta1_job.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/config/samples/mirror_v1beta1_job.yaml -------------------------------------------------------------------------------- /config/samples/mirror_v1beta1_manager.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/config/samples/mirror_v1beta1_manager.yaml -------------------------------------------------------------------------------- /docker/Dockerfile.controller: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/docker/Dockerfile.controller -------------------------------------------------------------------------------- /docker/Dockerfile.manager: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/docker/Dockerfile.manager -------------------------------------------------------------------------------- /docker/Dockerfile.worker: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/docker/Dockerfile.worker -------------------------------------------------------------------------------- /docker/worker/anaconda/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/docker/worker/anaconda/Dockerfile -------------------------------------------------------------------------------- /docker/worker/anaconda/anaconda.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/docker/worker/anaconda/anaconda.py -------------------------------------------------------------------------------- /docker/worker/bandersnatch/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/docker/worker/bandersnatch/Dockerfile -------------------------------------------------------------------------------- /docker/worker/bandersnatch/pypi.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/docker/worker/bandersnatch/pypi.sh -------------------------------------------------------------------------------- /docker/worker/entware/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/docker/worker/entware/Dockerfile -------------------------------------------------------------------------------- /docker/worker/entware/entware.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/docker/worker/entware/entware.sh -------------------------------------------------------------------------------- /docker/worker/git/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/docker/worker/git/Dockerfile -------------------------------------------------------------------------------- /docker/worker/git/git.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/docker/worker/git/git.sh -------------------------------------------------------------------------------- /docker/worker/github-release/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/docker/worker/github-release/Dockerfile -------------------------------------------------------------------------------- /docker/worker/github-release/github-release.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/docker/worker/github-release/github-release.py -------------------------------------------------------------------------------- /docs/design.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/docs/design.md -------------------------------------------------------------------------------- /docs/examples/controller.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/docs/examples/controller.yaml -------------------------------------------------------------------------------- /docs/examples/front.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/docs/examples/front.yaml -------------------------------------------------------------------------------- /docs/examples/job.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/docs/examples/job.yaml -------------------------------------------------------------------------------- /docs/examples/manager.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/docs/examples/manager.yaml -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/go.sum -------------------------------------------------------------------------------- /hack/boilerplate.go.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/hack/boilerplate.go.txt -------------------------------------------------------------------------------- /internal/controller/announcement_controller.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/internal/controller/announcement_controller.go -------------------------------------------------------------------------------- /internal/controller/const.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/internal/controller/const.go -------------------------------------------------------------------------------- /internal/controller/job_controller.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/internal/controller/job_controller.go -------------------------------------------------------------------------------- /internal/controller/job_helper.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/internal/controller/job_helper.go -------------------------------------------------------------------------------- /internal/controller/manager_controller.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/internal/controller/manager_controller.go -------------------------------------------------------------------------------- /internal/controller/manager_helper.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/internal/controller/manager_helper.go -------------------------------------------------------------------------------- /internal/controller/suite_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/internal/controller/suite_test.go -------------------------------------------------------------------------------- /internal/controller/utils.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/internal/controller/utils.go -------------------------------------------------------------------------------- /internal/recognizer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/internal/recognizer.go -------------------------------------------------------------------------------- /internal/types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/internal/types.go -------------------------------------------------------------------------------- /manager/cmd/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/manager/cmd/main.go -------------------------------------------------------------------------------- /manager/external/base.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/manager/external/base.go -------------------------------------------------------------------------------- /manager/external/gitea.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/manager/external/gitea.go -------------------------------------------------------------------------------- /manager/mirrorz/types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/manager/mirrorz/types.go -------------------------------------------------------------------------------- /manager/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/manager/server.go -------------------------------------------------------------------------------- /worker/base_provider.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/worker/base_provider.go -------------------------------------------------------------------------------- /worker/btrfs_snapshot_hook.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/worker/btrfs_snapshot_hook.go -------------------------------------------------------------------------------- /worker/btrfs_snapshot_hook_nolinux.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/worker/btrfs_snapshot_hook_nolinux.go -------------------------------------------------------------------------------- /worker/cmd/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/worker/cmd/main.go -------------------------------------------------------------------------------- /worker/cmd_provider.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/worker/cmd_provider.go -------------------------------------------------------------------------------- /worker/common.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/worker/common.go -------------------------------------------------------------------------------- /worker/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/worker/config.go -------------------------------------------------------------------------------- /worker/context.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/worker/context.go -------------------------------------------------------------------------------- /worker/exec_post_hook.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/worker/exec_post_hook.go -------------------------------------------------------------------------------- /worker/hooks.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/worker/hooks.go -------------------------------------------------------------------------------- /worker/job.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/worker/job.go -------------------------------------------------------------------------------- /worker/logger.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/worker/logger.go -------------------------------------------------------------------------------- /worker/loglimit_hook.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/worker/loglimit_hook.go -------------------------------------------------------------------------------- /worker/provider.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/worker/provider.go -------------------------------------------------------------------------------- /worker/rsync_provider.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/worker/rsync_provider.go -------------------------------------------------------------------------------- /worker/runner.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/worker/runner.go -------------------------------------------------------------------------------- /worker/schedule.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/worker/schedule.go -------------------------------------------------------------------------------- /worker/two_stage_rsync_provider.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/worker/two_stage_rsync_provider.go -------------------------------------------------------------------------------- /worker/util.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/worker/util.go -------------------------------------------------------------------------------- /worker/utils/reporter: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/worker/utils/reporter -------------------------------------------------------------------------------- /worker/worker.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/worker/worker.go -------------------------------------------------------------------------------- /worker/zfs_hook.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQUPTMirror/kubesync/HEAD/worker/zfs_hook.go --------------------------------------------------------------------------------