├── .dockerignore ├── .github ├── ISSUE_TEMPLATE.md ├── PULL_REQUEST_TEMPLATE.md ├── dependabot.yml └── workflows │ ├── lint.yml │ ├── release.yml │ └── test.yml ├── .gitignore ├── .golangci.yml ├── CHANGELOG.md ├── Dockerfile ├── LICENSE ├── Makefile ├── PROJECT ├── README.md ├── apis ├── v1alpha1 │ ├── cluster_types.go │ ├── groupversion_info.go │ ├── replicasettemplate_types.go │ ├── role_types.go │ └── zz_generated.deepcopy.go └── v1beta1 │ ├── cartridgeconfig_types.go │ ├── cluster_types.go │ ├── groupversion_info.go │ ├── role_types.go │ └── zz_generated.deepcopy.go ├── config ├── crd │ ├── bases │ │ ├── tarantool.io_cartridgeconfigs.yaml │ │ ├── tarantool.io_clusters.yaml │ │ ├── tarantool.io_replicasettemplates.yaml │ │ └── tarantool.io_roles.yaml │ ├── kustomization.yaml │ ├── kustomizeconfig.yaml │ └── patches │ │ ├── cainjection_in_cartridgeconfigs.yaml │ │ ├── cainjection_in_clusters.yaml │ │ ├── cainjection_in_roles.yaml │ │ ├── webhook_in_cartridgeconfigs.yaml │ │ ├── webhook_in_clusters.yaml │ │ ├── webhook_in_roles.yaml │ │ └── workaround_in_roles.yaml ├── default │ ├── kustomization.yaml │ ├── manager_auth_proxy_patch.yaml │ └── manager_config_patch.yaml ├── manager │ ├── controller_manager_config.yaml │ ├── kustomization.yaml │ └── manager.yaml ├── manifests │ └── kustomization.yaml ├── prometheus │ ├── kustomization.yaml │ └── monitor.yaml ├── rbac │ ├── auth_proxy_client_clusterrole.yaml │ ├── auth_proxy_role.yaml │ ├── auth_proxy_role_binding.yaml │ ├── auth_proxy_service.yaml │ ├── cartridgeconfig_editor_role.yaml │ ├── cartridgeconfig_viewer_role.yaml │ ├── cluster_editor_role.yaml │ ├── cluster_viewer_role.yaml │ ├── kustomization.yaml │ ├── leader_election_role.yaml │ ├── leader_election_role_binding.yaml │ ├── role.yaml │ ├── role_binding.yaml │ ├── role_editor_role.yaml │ ├── role_viewer_role.yaml │ └── service_account.yaml ├── samples │ ├── kustomization.yaml │ ├── tarantool.io_v1alpha1_cluster.yaml │ ├── tarantool.io_v1alpha1_replicasettemplate.yaml │ ├── tarantool.io_v1alpha1_role.yaml │ ├── tarantool.io_v1alpha2_cartridgeconfig.yaml │ ├── tarantool.io_v1alpha2_cluster.yaml │ └── tarantool.io_v1alpha2_role.yaml └── scorecard │ ├── bases │ └── config.yaml │ ├── kustomization.yaml │ └── patches │ ├── basic.config.yaml │ └── olm.config.yaml ├── controllers ├── cartridgeconfig_controller.go ├── cluster_controller.go ├── cluster_controller_test.go ├── role_controller.go └── suite_test.go ├── docs ├── assets │ ├── before-migration.png │ └── migration.png ├── deploy-example-application.md ├── development-guide.md ├── installation.md └── migrate-from-0.0.x-to-1.0.0.md ├── go.mod ├── go.sum ├── hack └── boilerplate.go.txt ├── internal ├── aliases.go ├── context │ ├── cartridge_config.go │ ├── cluster.go │ └── role.go ├── controller │ ├── cartridge_config.go │ ├── cluster.go │ └── role.go ├── implementation │ ├── replicasets_manger.go │ └── resources_manager.go └── steps │ ├── cartridge_config.go │ ├── cluster.go │ └── role.go ├── main.go ├── pkg ├── api │ ├── cartridge_config.go │ ├── cluster.go │ ├── failover.go │ └── role.go ├── election │ ├── election.go │ ├── election_test.go │ ├── events.go │ └── suite_test.go ├── events │ └── recorder.go ├── k8s │ ├── labels_manager.go │ ├── replicasets_manager.go │ └── resources_manager.go ├── reconciliation │ ├── aliases.go │ ├── cartridge_config_context.go │ ├── cartridge_config_controller.go │ ├── cluster_context.go │ ├── cluster_controller.go │ ├── common_context.go │ ├── common_controller.go │ ├── context.go │ ├── controller.go │ ├── reconciler.go │ ├── role_context.go │ ├── role_controller.go │ ├── steps.go │ └── steps │ │ ├── cartridge │ │ ├── configure.go │ │ ├── reset_status.go │ │ └── set_phase.go │ │ ├── cluster │ │ ├── bootstrap.go │ │ ├── check_deletion.go │ │ ├── conifgure_failover.go │ │ ├── events.go │ │ ├── reset_status.go │ │ ├── set_phase.go │ │ ├── sync_cluster_wide_service.go │ │ └── wait_for_roles_phase.go │ │ ├── common │ │ ├── get_cluster_by_labels.go │ │ ├── get_leader.go │ │ ├── get_requested_object.go │ │ ├── info.go │ │ └── wait_for_cluster_bootstrapped.go │ │ └── role │ │ ├── configure_vshard_roles.go │ │ ├── create_stateful_sets.go │ │ ├── ensure_cartridge_ready.go │ │ ├── events.go │ │ ├── join_instances.go │ │ ├── reset_status.go │ │ ├── set_phase.go │ │ ├── set_vshard_weights.go │ │ └── update_stateful_sets.go ├── topology │ ├── common.go │ ├── errors.go │ ├── request.go │ ├── response.go │ ├── topology.go │ └── transport │ │ ├── podexec │ │ ├── cli │ │ │ ├── cli.go │ │ │ ├── tarantoolctl.go │ │ │ └── tarantoolctl_test.go │ │ └── transport.go │ │ └── transport.go └── utils │ ├── cmp.go │ ├── cmp_test.go │ ├── hash.go │ ├── maps.go │ ├── pods.go │ ├── slice.go │ ├── statefulsets.go │ ├── suite_test.go │ ├── vshard.go │ └── vshard_test.go └── test ├── mocks └── topology.go ├── resources ├── cartridge.go ├── cluster.go ├── constants.go ├── container.go ├── pod.go ├── role.go ├── sts.go └── volume_claim.go └── utils ├── rand.go └── reconciliation.go /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/.dockerignore -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/.github/ISSUE_TEMPLATE.md -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/lint.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/.github/workflows/lint.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/.gitignore -------------------------------------------------------------------------------- /.golangci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/.golangci.yml -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/Makefile -------------------------------------------------------------------------------- /PROJECT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/PROJECT -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/README.md -------------------------------------------------------------------------------- /apis/v1alpha1/cluster_types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/apis/v1alpha1/cluster_types.go -------------------------------------------------------------------------------- /apis/v1alpha1/groupversion_info.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/apis/v1alpha1/groupversion_info.go -------------------------------------------------------------------------------- /apis/v1alpha1/replicasettemplate_types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/apis/v1alpha1/replicasettemplate_types.go -------------------------------------------------------------------------------- /apis/v1alpha1/role_types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/apis/v1alpha1/role_types.go -------------------------------------------------------------------------------- /apis/v1alpha1/zz_generated.deepcopy.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/apis/v1alpha1/zz_generated.deepcopy.go -------------------------------------------------------------------------------- /apis/v1beta1/cartridgeconfig_types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/apis/v1beta1/cartridgeconfig_types.go -------------------------------------------------------------------------------- /apis/v1beta1/cluster_types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/apis/v1beta1/cluster_types.go -------------------------------------------------------------------------------- /apis/v1beta1/groupversion_info.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/apis/v1beta1/groupversion_info.go -------------------------------------------------------------------------------- /apis/v1beta1/role_types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/apis/v1beta1/role_types.go -------------------------------------------------------------------------------- /apis/v1beta1/zz_generated.deepcopy.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/apis/v1beta1/zz_generated.deepcopy.go -------------------------------------------------------------------------------- /config/crd/bases/tarantool.io_cartridgeconfigs.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/crd/bases/tarantool.io_cartridgeconfigs.yaml -------------------------------------------------------------------------------- /config/crd/bases/tarantool.io_clusters.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/crd/bases/tarantool.io_clusters.yaml -------------------------------------------------------------------------------- /config/crd/bases/tarantool.io_replicasettemplates.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/crd/bases/tarantool.io_replicasettemplates.yaml -------------------------------------------------------------------------------- /config/crd/bases/tarantool.io_roles.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/crd/bases/tarantool.io_roles.yaml -------------------------------------------------------------------------------- /config/crd/kustomization.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/crd/kustomization.yaml -------------------------------------------------------------------------------- /config/crd/kustomizeconfig.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/crd/kustomizeconfig.yaml -------------------------------------------------------------------------------- /config/crd/patches/cainjection_in_cartridgeconfigs.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/crd/patches/cainjection_in_cartridgeconfigs.yaml -------------------------------------------------------------------------------- /config/crd/patches/cainjection_in_clusters.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/crd/patches/cainjection_in_clusters.yaml -------------------------------------------------------------------------------- /config/crd/patches/cainjection_in_roles.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/crd/patches/cainjection_in_roles.yaml -------------------------------------------------------------------------------- /config/crd/patches/webhook_in_cartridgeconfigs.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/crd/patches/webhook_in_cartridgeconfigs.yaml -------------------------------------------------------------------------------- /config/crd/patches/webhook_in_clusters.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/crd/patches/webhook_in_clusters.yaml -------------------------------------------------------------------------------- /config/crd/patches/webhook_in_roles.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/crd/patches/webhook_in_roles.yaml -------------------------------------------------------------------------------- /config/crd/patches/workaround_in_roles.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/crd/patches/workaround_in_roles.yaml -------------------------------------------------------------------------------- /config/default/kustomization.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/default/kustomization.yaml -------------------------------------------------------------------------------- /config/default/manager_auth_proxy_patch.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/default/manager_auth_proxy_patch.yaml -------------------------------------------------------------------------------- /config/default/manager_config_patch.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/default/manager_config_patch.yaml -------------------------------------------------------------------------------- /config/manager/controller_manager_config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/manager/controller_manager_config.yaml -------------------------------------------------------------------------------- /config/manager/kustomization.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/manager/kustomization.yaml -------------------------------------------------------------------------------- /config/manager/manager.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/manager/manager.yaml -------------------------------------------------------------------------------- /config/manifests/kustomization.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/manifests/kustomization.yaml -------------------------------------------------------------------------------- /config/prometheus/kustomization.yaml: -------------------------------------------------------------------------------- 1 | resources: 2 | - monitor.yaml 3 | -------------------------------------------------------------------------------- /config/prometheus/monitor.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/prometheus/monitor.yaml -------------------------------------------------------------------------------- /config/rbac/auth_proxy_client_clusterrole.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/rbac/auth_proxy_client_clusterrole.yaml -------------------------------------------------------------------------------- /config/rbac/auth_proxy_role.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/rbac/auth_proxy_role.yaml -------------------------------------------------------------------------------- /config/rbac/auth_proxy_role_binding.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/rbac/auth_proxy_role_binding.yaml -------------------------------------------------------------------------------- /config/rbac/auth_proxy_service.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/rbac/auth_proxy_service.yaml -------------------------------------------------------------------------------- /config/rbac/cartridgeconfig_editor_role.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/rbac/cartridgeconfig_editor_role.yaml -------------------------------------------------------------------------------- /config/rbac/cartridgeconfig_viewer_role.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/rbac/cartridgeconfig_viewer_role.yaml -------------------------------------------------------------------------------- /config/rbac/cluster_editor_role.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/rbac/cluster_editor_role.yaml -------------------------------------------------------------------------------- /config/rbac/cluster_viewer_role.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/rbac/cluster_viewer_role.yaml -------------------------------------------------------------------------------- /config/rbac/kustomization.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/rbac/kustomization.yaml -------------------------------------------------------------------------------- /config/rbac/leader_election_role.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/rbac/leader_election_role.yaml -------------------------------------------------------------------------------- /config/rbac/leader_election_role_binding.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/rbac/leader_election_role_binding.yaml -------------------------------------------------------------------------------- /config/rbac/role.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/rbac/role.yaml -------------------------------------------------------------------------------- /config/rbac/role_binding.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/rbac/role_binding.yaml -------------------------------------------------------------------------------- /config/rbac/role_editor_role.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/rbac/role_editor_role.yaml -------------------------------------------------------------------------------- /config/rbac/role_viewer_role.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/rbac/role_viewer_role.yaml -------------------------------------------------------------------------------- /config/rbac/service_account.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/rbac/service_account.yaml -------------------------------------------------------------------------------- /config/samples/kustomization.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/samples/kustomization.yaml -------------------------------------------------------------------------------- /config/samples/tarantool.io_v1alpha1_cluster.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/samples/tarantool.io_v1alpha1_cluster.yaml -------------------------------------------------------------------------------- /config/samples/tarantool.io_v1alpha1_replicasettemplate.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/samples/tarantool.io_v1alpha1_replicasettemplate.yaml -------------------------------------------------------------------------------- /config/samples/tarantool.io_v1alpha1_role.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/samples/tarantool.io_v1alpha1_role.yaml -------------------------------------------------------------------------------- /config/samples/tarantool.io_v1alpha2_cartridgeconfig.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/samples/tarantool.io_v1alpha2_cartridgeconfig.yaml -------------------------------------------------------------------------------- /config/samples/tarantool.io_v1alpha2_cluster.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/samples/tarantool.io_v1alpha2_cluster.yaml -------------------------------------------------------------------------------- /config/samples/tarantool.io_v1alpha2_role.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/samples/tarantool.io_v1alpha2_role.yaml -------------------------------------------------------------------------------- /config/scorecard/bases/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/scorecard/bases/config.yaml -------------------------------------------------------------------------------- /config/scorecard/kustomization.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/scorecard/kustomization.yaml -------------------------------------------------------------------------------- /config/scorecard/patches/basic.config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/scorecard/patches/basic.config.yaml -------------------------------------------------------------------------------- /config/scorecard/patches/olm.config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/config/scorecard/patches/olm.config.yaml -------------------------------------------------------------------------------- /controllers/cartridgeconfig_controller.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/controllers/cartridgeconfig_controller.go -------------------------------------------------------------------------------- /controllers/cluster_controller.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/controllers/cluster_controller.go -------------------------------------------------------------------------------- /controllers/cluster_controller_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/controllers/cluster_controller_test.go -------------------------------------------------------------------------------- /controllers/role_controller.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/controllers/role_controller.go -------------------------------------------------------------------------------- /controllers/suite_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/controllers/suite_test.go -------------------------------------------------------------------------------- /docs/assets/before-migration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/docs/assets/before-migration.png -------------------------------------------------------------------------------- /docs/assets/migration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/docs/assets/migration.png -------------------------------------------------------------------------------- /docs/deploy-example-application.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/docs/deploy-example-application.md -------------------------------------------------------------------------------- /docs/development-guide.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/docs/development-guide.md -------------------------------------------------------------------------------- /docs/installation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/docs/installation.md -------------------------------------------------------------------------------- /docs/migrate-from-0.0.x-to-1.0.0.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/docs/migrate-from-0.0.x-to-1.0.0.md -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/go.sum -------------------------------------------------------------------------------- /hack/boilerplate.go.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/hack/boilerplate.go.txt -------------------------------------------------------------------------------- /internal/aliases.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/internal/aliases.go -------------------------------------------------------------------------------- /internal/context/cartridge_config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/internal/context/cartridge_config.go -------------------------------------------------------------------------------- /internal/context/cluster.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/internal/context/cluster.go -------------------------------------------------------------------------------- /internal/context/role.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/internal/context/role.go -------------------------------------------------------------------------------- /internal/controller/cartridge_config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/internal/controller/cartridge_config.go -------------------------------------------------------------------------------- /internal/controller/cluster.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/internal/controller/cluster.go -------------------------------------------------------------------------------- /internal/controller/role.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/internal/controller/role.go -------------------------------------------------------------------------------- /internal/implementation/replicasets_manger.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/internal/implementation/replicasets_manger.go -------------------------------------------------------------------------------- /internal/implementation/resources_manager.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/internal/implementation/resources_manager.go -------------------------------------------------------------------------------- /internal/steps/cartridge_config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/internal/steps/cartridge_config.go -------------------------------------------------------------------------------- /internal/steps/cluster.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/internal/steps/cluster.go -------------------------------------------------------------------------------- /internal/steps/role.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/internal/steps/role.go -------------------------------------------------------------------------------- /main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/main.go -------------------------------------------------------------------------------- /pkg/api/cartridge_config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/api/cartridge_config.go -------------------------------------------------------------------------------- /pkg/api/cluster.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/api/cluster.go -------------------------------------------------------------------------------- /pkg/api/failover.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/api/failover.go -------------------------------------------------------------------------------- /pkg/api/role.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/api/role.go -------------------------------------------------------------------------------- /pkg/election/election.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/election/election.go -------------------------------------------------------------------------------- /pkg/election/election_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/election/election_test.go -------------------------------------------------------------------------------- /pkg/election/events.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/election/events.go -------------------------------------------------------------------------------- /pkg/election/suite_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/election/suite_test.go -------------------------------------------------------------------------------- /pkg/events/recorder.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/events/recorder.go -------------------------------------------------------------------------------- /pkg/k8s/labels_manager.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/k8s/labels_manager.go -------------------------------------------------------------------------------- /pkg/k8s/replicasets_manager.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/k8s/replicasets_manager.go -------------------------------------------------------------------------------- /pkg/k8s/resources_manager.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/k8s/resources_manager.go -------------------------------------------------------------------------------- /pkg/reconciliation/aliases.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/aliases.go -------------------------------------------------------------------------------- /pkg/reconciliation/cartridge_config_context.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/cartridge_config_context.go -------------------------------------------------------------------------------- /pkg/reconciliation/cartridge_config_controller.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/cartridge_config_controller.go -------------------------------------------------------------------------------- /pkg/reconciliation/cluster_context.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/cluster_context.go -------------------------------------------------------------------------------- /pkg/reconciliation/cluster_controller.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/cluster_controller.go -------------------------------------------------------------------------------- /pkg/reconciliation/common_context.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/common_context.go -------------------------------------------------------------------------------- /pkg/reconciliation/common_controller.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/common_controller.go -------------------------------------------------------------------------------- /pkg/reconciliation/context.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/context.go -------------------------------------------------------------------------------- /pkg/reconciliation/controller.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/controller.go -------------------------------------------------------------------------------- /pkg/reconciliation/reconciler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/reconciler.go -------------------------------------------------------------------------------- /pkg/reconciliation/role_context.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/role_context.go -------------------------------------------------------------------------------- /pkg/reconciliation/role_controller.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/role_controller.go -------------------------------------------------------------------------------- /pkg/reconciliation/steps.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/steps.go -------------------------------------------------------------------------------- /pkg/reconciliation/steps/cartridge/configure.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/steps/cartridge/configure.go -------------------------------------------------------------------------------- /pkg/reconciliation/steps/cartridge/reset_status.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/steps/cartridge/reset_status.go -------------------------------------------------------------------------------- /pkg/reconciliation/steps/cartridge/set_phase.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/steps/cartridge/set_phase.go -------------------------------------------------------------------------------- /pkg/reconciliation/steps/cluster/bootstrap.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/steps/cluster/bootstrap.go -------------------------------------------------------------------------------- /pkg/reconciliation/steps/cluster/check_deletion.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/steps/cluster/check_deletion.go -------------------------------------------------------------------------------- /pkg/reconciliation/steps/cluster/conifgure_failover.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/steps/cluster/conifgure_failover.go -------------------------------------------------------------------------------- /pkg/reconciliation/steps/cluster/events.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/steps/cluster/events.go -------------------------------------------------------------------------------- /pkg/reconciliation/steps/cluster/reset_status.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/steps/cluster/reset_status.go -------------------------------------------------------------------------------- /pkg/reconciliation/steps/cluster/set_phase.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/steps/cluster/set_phase.go -------------------------------------------------------------------------------- /pkg/reconciliation/steps/cluster/sync_cluster_wide_service.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/steps/cluster/sync_cluster_wide_service.go -------------------------------------------------------------------------------- /pkg/reconciliation/steps/cluster/wait_for_roles_phase.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/steps/cluster/wait_for_roles_phase.go -------------------------------------------------------------------------------- /pkg/reconciliation/steps/common/get_cluster_by_labels.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/steps/common/get_cluster_by_labels.go -------------------------------------------------------------------------------- /pkg/reconciliation/steps/common/get_leader.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/steps/common/get_leader.go -------------------------------------------------------------------------------- /pkg/reconciliation/steps/common/get_requested_object.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/steps/common/get_requested_object.go -------------------------------------------------------------------------------- /pkg/reconciliation/steps/common/info.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/steps/common/info.go -------------------------------------------------------------------------------- /pkg/reconciliation/steps/common/wait_for_cluster_bootstrapped.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/steps/common/wait_for_cluster_bootstrapped.go -------------------------------------------------------------------------------- /pkg/reconciliation/steps/role/configure_vshard_roles.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/steps/role/configure_vshard_roles.go -------------------------------------------------------------------------------- /pkg/reconciliation/steps/role/create_stateful_sets.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/steps/role/create_stateful_sets.go -------------------------------------------------------------------------------- /pkg/reconciliation/steps/role/ensure_cartridge_ready.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/steps/role/ensure_cartridge_ready.go -------------------------------------------------------------------------------- /pkg/reconciliation/steps/role/events.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/steps/role/events.go -------------------------------------------------------------------------------- /pkg/reconciliation/steps/role/join_instances.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/steps/role/join_instances.go -------------------------------------------------------------------------------- /pkg/reconciliation/steps/role/reset_status.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/steps/role/reset_status.go -------------------------------------------------------------------------------- /pkg/reconciliation/steps/role/set_phase.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/steps/role/set_phase.go -------------------------------------------------------------------------------- /pkg/reconciliation/steps/role/set_vshard_weights.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/steps/role/set_vshard_weights.go -------------------------------------------------------------------------------- /pkg/reconciliation/steps/role/update_stateful_sets.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/reconciliation/steps/role/update_stateful_sets.go -------------------------------------------------------------------------------- /pkg/topology/common.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/topology/common.go -------------------------------------------------------------------------------- /pkg/topology/errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/topology/errors.go -------------------------------------------------------------------------------- /pkg/topology/request.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/topology/request.go -------------------------------------------------------------------------------- /pkg/topology/response.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/topology/response.go -------------------------------------------------------------------------------- /pkg/topology/topology.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/topology/topology.go -------------------------------------------------------------------------------- /pkg/topology/transport/podexec/cli/cli.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/topology/transport/podexec/cli/cli.go -------------------------------------------------------------------------------- /pkg/topology/transport/podexec/cli/tarantoolctl.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/topology/transport/podexec/cli/tarantoolctl.go -------------------------------------------------------------------------------- /pkg/topology/transport/podexec/cli/tarantoolctl_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/topology/transport/podexec/cli/tarantoolctl_test.go -------------------------------------------------------------------------------- /pkg/topology/transport/podexec/transport.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/topology/transport/podexec/transport.go -------------------------------------------------------------------------------- /pkg/topology/transport/transport.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/topology/transport/transport.go -------------------------------------------------------------------------------- /pkg/utils/cmp.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/utils/cmp.go -------------------------------------------------------------------------------- /pkg/utils/cmp_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/utils/cmp_test.go -------------------------------------------------------------------------------- /pkg/utils/hash.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/utils/hash.go -------------------------------------------------------------------------------- /pkg/utils/maps.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/utils/maps.go -------------------------------------------------------------------------------- /pkg/utils/pods.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/utils/pods.go -------------------------------------------------------------------------------- /pkg/utils/slice.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/utils/slice.go -------------------------------------------------------------------------------- /pkg/utils/statefulsets.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/utils/statefulsets.go -------------------------------------------------------------------------------- /pkg/utils/suite_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/utils/suite_test.go -------------------------------------------------------------------------------- /pkg/utils/vshard.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/utils/vshard.go -------------------------------------------------------------------------------- /pkg/utils/vshard_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/pkg/utils/vshard_test.go -------------------------------------------------------------------------------- /test/mocks/topology.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/test/mocks/topology.go -------------------------------------------------------------------------------- /test/resources/cartridge.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/test/resources/cartridge.go -------------------------------------------------------------------------------- /test/resources/cluster.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/test/resources/cluster.go -------------------------------------------------------------------------------- /test/resources/constants.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/test/resources/constants.go -------------------------------------------------------------------------------- /test/resources/container.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/test/resources/container.go -------------------------------------------------------------------------------- /test/resources/pod.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/test/resources/pod.go -------------------------------------------------------------------------------- /test/resources/role.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/test/resources/role.go -------------------------------------------------------------------------------- /test/resources/sts.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/test/resources/sts.go -------------------------------------------------------------------------------- /test/resources/volume_claim.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/test/resources/volume_claim.go -------------------------------------------------------------------------------- /test/utils/rand.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/test/utils/rand.go -------------------------------------------------------------------------------- /test/utils/reconciliation.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tarantool/tarantool-operator/HEAD/test/utils/reconciliation.go --------------------------------------------------------------------------------