├── .devcontainer ├── devcontainer.json └── post-install.sh ├── .dockerignore ├── .github ├── dependabot.yml └── workflows │ └── gh-workflow-approve.yml ├── .gitignore ├── .golangci.yml ├── CONTRIBUTING.md ├── Dockerfile ├── LICENSE ├── Makefile ├── OWNERS ├── PROJECT ├── README.md ├── RELEASE.md ├── SECURITY.md ├── SECURITY_CONTACTS ├── api └── v1alpha1 │ ├── etcdcluster_types.go │ ├── groupversion_info.go │ └── zz_generated.deepcopy.go ├── cmd └── main.go ├── code-of-conduct.md ├── config ├── crd │ ├── bases │ │ └── operator.etcd.io_etcdclusters.yaml │ ├── kustomization.yaml │ └── kustomizeconfig.yaml ├── default │ ├── kustomization.yaml │ ├── manager_metrics_patch.yaml │ └── metrics_service.yaml ├── manager │ ├── kustomization.yaml │ └── manager.yaml ├── network-policy │ ├── allow-metrics-traffic.yaml │ └── kustomization.yaml ├── prometheus │ ├── kustomization.yaml │ └── monitor.yaml ├── rbac │ ├── etcdcluster_editor_role.yaml │ ├── etcdcluster_viewer_role.yaml │ ├── kustomization.yaml │ ├── leader_election_role.yaml │ ├── leader_election_role_binding.yaml │ ├── metrics_auth_role.yaml │ ├── metrics_auth_role_binding.yaml │ ├── metrics_reader_role.yaml │ ├── role.yaml │ ├── role_binding.yaml │ └── service_account.yaml └── samples │ ├── certificateProvider │ └── cert_manager_selfsigned_issuer.yaml │ ├── kustomization.yaml │ └── operator_v1alpha1_etcdcluster.yaml ├── dist └── install-v0.1.0.yaml ├── docs ├── api-references │ ├── config.yaml │ ├── docs.md │ └── template │ │ ├── gv_details.tpl │ │ ├── gv_list.tpl │ │ ├── type.tpl │ │ └── type_members.tpl ├── configuring-etcd-options.md ├── design │ ├── reconcile_loop_v0.1.0.png │ └── reconcile_loop_v0.1.0.uxf ├── install.md ├── roadmap.md └── wg │ ├── evaluation │ └── evaluation.pdf │ └── survey │ ├── 2024-operator-survey.md │ ├── hard_part.png │ ├── manage.png │ ├── no_clusters.png │ ├── run_method.png │ └── where_use.png ├── go.mod ├── go.sum ├── hack └── boilerplate.go.txt ├── internal ├── controller │ ├── etcdcluster_controller.go │ ├── etcdcluster_controller_test.go │ ├── suite_test.go │ ├── utils.go │ └── utils_test.go └── etcdutils │ ├── etcdutils.go │ └── etcdutils_test.go ├── pkg └── certificate │ ├── auto │ └── doc.go │ ├── cert_manager │ ├── doc.go │ └── provider.go │ ├── certificate.go │ └── interfaces │ └── interface.go ├── scripts └── release.sh ├── test ├── e2e │ ├── cert_manager_test.go │ ├── datapersistence_test.go │ ├── e2e_suite_test.go │ ├── e2e_test.go │ ├── etcd_options_test.go │ └── helpers_test.go └── utils │ └── utils.go └── tools └── mod ├── doc.go ├── go.mod ├── go.sum └── tools.go /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/.devcontainer/devcontainer.json -------------------------------------------------------------------------------- /.devcontainer/post-install.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/.devcontainer/post-install.sh -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/.dockerignore -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/gh-workflow-approve.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/.github/workflows/gh-workflow-approve.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/.gitignore -------------------------------------------------------------------------------- /.golangci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/.golangci.yml -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/Makefile -------------------------------------------------------------------------------- /OWNERS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/OWNERS -------------------------------------------------------------------------------- /PROJECT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/PROJECT -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/README.md -------------------------------------------------------------------------------- /RELEASE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/RELEASE.md -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/SECURITY.md -------------------------------------------------------------------------------- /SECURITY_CONTACTS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/SECURITY_CONTACTS -------------------------------------------------------------------------------- /api/v1alpha1/etcdcluster_types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/api/v1alpha1/etcdcluster_types.go -------------------------------------------------------------------------------- /api/v1alpha1/groupversion_info.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/api/v1alpha1/groupversion_info.go -------------------------------------------------------------------------------- /api/v1alpha1/zz_generated.deepcopy.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/api/v1alpha1/zz_generated.deepcopy.go -------------------------------------------------------------------------------- /cmd/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/cmd/main.go -------------------------------------------------------------------------------- /code-of-conduct.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/code-of-conduct.md -------------------------------------------------------------------------------- /config/crd/bases/operator.etcd.io_etcdclusters.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/config/crd/bases/operator.etcd.io_etcdclusters.yaml -------------------------------------------------------------------------------- /config/crd/kustomization.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/config/crd/kustomization.yaml -------------------------------------------------------------------------------- /config/crd/kustomizeconfig.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/config/crd/kustomizeconfig.yaml -------------------------------------------------------------------------------- /config/default/kustomization.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/config/default/kustomization.yaml -------------------------------------------------------------------------------- /config/default/manager_metrics_patch.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/config/default/manager_metrics_patch.yaml -------------------------------------------------------------------------------- /config/default/metrics_service.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/config/default/metrics_service.yaml -------------------------------------------------------------------------------- /config/manager/kustomization.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/config/manager/kustomization.yaml -------------------------------------------------------------------------------- /config/manager/manager.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/config/manager/manager.yaml -------------------------------------------------------------------------------- /config/network-policy/allow-metrics-traffic.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/config/network-policy/allow-metrics-traffic.yaml -------------------------------------------------------------------------------- /config/network-policy/kustomization.yaml: -------------------------------------------------------------------------------- 1 | resources: 2 | - allow-metrics-traffic.yaml 3 | -------------------------------------------------------------------------------- /config/prometheus/kustomization.yaml: -------------------------------------------------------------------------------- 1 | resources: 2 | - monitor.yaml 3 | -------------------------------------------------------------------------------- /config/prometheus/monitor.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/config/prometheus/monitor.yaml -------------------------------------------------------------------------------- /config/rbac/etcdcluster_editor_role.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/config/rbac/etcdcluster_editor_role.yaml -------------------------------------------------------------------------------- /config/rbac/etcdcluster_viewer_role.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/config/rbac/etcdcluster_viewer_role.yaml -------------------------------------------------------------------------------- /config/rbac/kustomization.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/config/rbac/kustomization.yaml -------------------------------------------------------------------------------- /config/rbac/leader_election_role.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/config/rbac/leader_election_role.yaml -------------------------------------------------------------------------------- /config/rbac/leader_election_role_binding.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/config/rbac/leader_election_role_binding.yaml -------------------------------------------------------------------------------- /config/rbac/metrics_auth_role.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/config/rbac/metrics_auth_role.yaml -------------------------------------------------------------------------------- /config/rbac/metrics_auth_role_binding.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/config/rbac/metrics_auth_role_binding.yaml -------------------------------------------------------------------------------- /config/rbac/metrics_reader_role.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/config/rbac/metrics_reader_role.yaml -------------------------------------------------------------------------------- /config/rbac/role.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/config/rbac/role.yaml -------------------------------------------------------------------------------- /config/rbac/role_binding.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/config/rbac/role_binding.yaml -------------------------------------------------------------------------------- /config/rbac/service_account.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/config/rbac/service_account.yaml -------------------------------------------------------------------------------- /config/samples/certificateProvider/cert_manager_selfsigned_issuer.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/config/samples/certificateProvider/cert_manager_selfsigned_issuer.yaml -------------------------------------------------------------------------------- /config/samples/kustomization.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/config/samples/kustomization.yaml -------------------------------------------------------------------------------- /config/samples/operator_v1alpha1_etcdcluster.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/config/samples/operator_v1alpha1_etcdcluster.yaml -------------------------------------------------------------------------------- /dist/install-v0.1.0.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/dist/install-v0.1.0.yaml -------------------------------------------------------------------------------- /docs/api-references/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/docs/api-references/config.yaml -------------------------------------------------------------------------------- /docs/api-references/docs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/docs/api-references/docs.md -------------------------------------------------------------------------------- /docs/api-references/template/gv_details.tpl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/docs/api-references/template/gv_details.tpl -------------------------------------------------------------------------------- /docs/api-references/template/gv_list.tpl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/docs/api-references/template/gv_list.tpl -------------------------------------------------------------------------------- /docs/api-references/template/type.tpl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/docs/api-references/template/type.tpl -------------------------------------------------------------------------------- /docs/api-references/template/type_members.tpl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/docs/api-references/template/type_members.tpl -------------------------------------------------------------------------------- /docs/configuring-etcd-options.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/docs/configuring-etcd-options.md -------------------------------------------------------------------------------- /docs/design/reconcile_loop_v0.1.0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/docs/design/reconcile_loop_v0.1.0.png -------------------------------------------------------------------------------- /docs/design/reconcile_loop_v0.1.0.uxf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/docs/design/reconcile_loop_v0.1.0.uxf -------------------------------------------------------------------------------- /docs/install.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/docs/install.md -------------------------------------------------------------------------------- /docs/roadmap.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/docs/roadmap.md -------------------------------------------------------------------------------- /docs/wg/evaluation/evaluation.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/docs/wg/evaluation/evaluation.pdf -------------------------------------------------------------------------------- /docs/wg/survey/2024-operator-survey.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/docs/wg/survey/2024-operator-survey.md -------------------------------------------------------------------------------- /docs/wg/survey/hard_part.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/docs/wg/survey/hard_part.png -------------------------------------------------------------------------------- /docs/wg/survey/manage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/docs/wg/survey/manage.png -------------------------------------------------------------------------------- /docs/wg/survey/no_clusters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/docs/wg/survey/no_clusters.png -------------------------------------------------------------------------------- /docs/wg/survey/run_method.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/docs/wg/survey/run_method.png -------------------------------------------------------------------------------- /docs/wg/survey/where_use.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/docs/wg/survey/where_use.png -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/go.sum -------------------------------------------------------------------------------- /hack/boilerplate.go.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/hack/boilerplate.go.txt -------------------------------------------------------------------------------- /internal/controller/etcdcluster_controller.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/internal/controller/etcdcluster_controller.go -------------------------------------------------------------------------------- /internal/controller/etcdcluster_controller_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/internal/controller/etcdcluster_controller_test.go -------------------------------------------------------------------------------- /internal/controller/suite_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/internal/controller/suite_test.go -------------------------------------------------------------------------------- /internal/controller/utils.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/internal/controller/utils.go -------------------------------------------------------------------------------- /internal/controller/utils_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/internal/controller/utils_test.go -------------------------------------------------------------------------------- /internal/etcdutils/etcdutils.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/internal/etcdutils/etcdutils.go -------------------------------------------------------------------------------- /internal/etcdutils/etcdutils_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/internal/etcdutils/etcdutils_test.go -------------------------------------------------------------------------------- /pkg/certificate/auto/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/pkg/certificate/auto/doc.go -------------------------------------------------------------------------------- /pkg/certificate/cert_manager/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/pkg/certificate/cert_manager/doc.go -------------------------------------------------------------------------------- /pkg/certificate/cert_manager/provider.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/pkg/certificate/cert_manager/provider.go -------------------------------------------------------------------------------- /pkg/certificate/certificate.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/pkg/certificate/certificate.go -------------------------------------------------------------------------------- /pkg/certificate/interfaces/interface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/pkg/certificate/interfaces/interface.go -------------------------------------------------------------------------------- /scripts/release.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/scripts/release.sh -------------------------------------------------------------------------------- /test/e2e/cert_manager_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/test/e2e/cert_manager_test.go -------------------------------------------------------------------------------- /test/e2e/datapersistence_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/test/e2e/datapersistence_test.go -------------------------------------------------------------------------------- /test/e2e/e2e_suite_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/test/e2e/e2e_suite_test.go -------------------------------------------------------------------------------- /test/e2e/e2e_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/test/e2e/e2e_test.go -------------------------------------------------------------------------------- /test/e2e/etcd_options_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/test/e2e/etcd_options_test.go -------------------------------------------------------------------------------- /test/e2e/helpers_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/test/e2e/helpers_test.go -------------------------------------------------------------------------------- /test/utils/utils.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/test/utils/utils.go -------------------------------------------------------------------------------- /tools/mod/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/tools/mod/doc.go -------------------------------------------------------------------------------- /tools/mod/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/tools/mod/go.mod -------------------------------------------------------------------------------- /tools/mod/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/tools/mod/go.sum -------------------------------------------------------------------------------- /tools/mod/tools.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etcd-io/etcd-operator/HEAD/tools/mod/tools.go --------------------------------------------------------------------------------