load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "couchctl", srcs = [ "config.go", "configmap.go", "couch_helper.go", "couchctl.go", "database_controller.go", "design_doc_controller.go", "finalizer.go", "index_controller.go", "interface.go", "interlock_client.go", "leader_election.go", "leader_node.go", "metrics.go", "mock_couchdb_cluster.go", "mock_secretmanager.go", "persistence_controller.go", "reconcile.go", "replication.go", "replication_event.go", "replicationset_controller.go", "resource_manager.go", "server_controller.go", "subsitutions.go", "user_controller.go", "watch.go", ], importpath = "edge-infra.dev/pkg/edge/datasync/controllers/couchctl", visibility = ["//visibility:public"], deps = [ "//pkg/edge/api/testutils", "//pkg/edge/api/utils", "//pkg/edge/apis/meta", "//pkg/edge/apis/persistence/v1alpha1", "//pkg/edge/clientutils", "//pkg/edge/constants", "//pkg/edge/constants/api/cluster", "//pkg/edge/constants/api/fleet", "//pkg/edge/controllers/envctl/pkg/nameutils", "//pkg/edge/datasync/apis/v1alpha1", "//pkg/edge/datasync/couchdb", "//pkg/f8n/warehouse/k8s/apis/v1alpha2", "//pkg/k8s/meta/status", "//pkg/k8s/object", "//pkg/k8s/runtime/conditions", "//pkg/k8s/runtime/controller", "//pkg/k8s/runtime/controller/metrics", "//pkg/k8s/runtime/controller/reconcile", "//pkg/k8s/runtime/controller/reconcile/recerr", "//pkg/k8s/runtime/events", "//pkg/k8s/runtime/inventory", "//pkg/k8s/runtime/patch", "//pkg/k8s/runtime/sap", "//pkg/k8s/unstructured", "//pkg/lib/fog", "//pkg/lib/gcp/secretmanager", "//pkg/sds/ien/k8s/apis/v1:apis", "//pkg/sds/ien/node", "@com_github_go_kivik_kivik_v4//:kivik", "@com_github_go_logr_logr//:logr", "@com_github_google_uuid//:uuid", "@com_github_gorilla_websocket//:websocket", "@com_github_peterbourgon_ff_v3//:ff", "@com_github_prometheus_client_golang//prometheus", "@com_github_prometheus_client_golang//prometheus/promauto", "@com_google_cloud_go_secretmanager//apiv1/secretmanagerpb", "@io_k8s_api//apps/v1:apps", "@io_k8s_api//core/v1:core", "@io_k8s_api//networking/v1:networking", "@io_k8s_apimachinery//pkg/api/errors", "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", "@io_k8s_apimachinery//pkg/fields", "@io_k8s_apimachinery//pkg/runtime", "@io_k8s_apimachinery//pkg/types", "@io_k8s_apimachinery//pkg/util/runtime", "@io_k8s_apimachinery//pkg/watch", "@io_k8s_client_go//dynamic", "@io_k8s_client_go//kubernetes/scheme", "@io_k8s_client_go//kubernetes/typed/coordination/v1:coordination", "@io_k8s_client_go//tools/leaderelection", "@io_k8s_client_go//tools/leaderelection/resourcelock", "@io_k8s_client_go//tools/record", "@io_k8s_client_go//util/workqueue", "@io_k8s_sigs_cli_utils//pkg/kstatus/watcher", "@io_k8s_sigs_cli_utils//pkg/object", "@io_k8s_sigs_controller_runtime//:controller-runtime", "@io_k8s_sigs_controller_runtime//pkg/builder", "@io_k8s_sigs_controller_runtime//pkg/client", "@io_k8s_sigs_controller_runtime//pkg/controller", "@io_k8s_sigs_controller_runtime//pkg/controller/controllerutil", "@io_k8s_sigs_controller_runtime//pkg/event", "@io_k8s_sigs_controller_runtime//pkg/handler", "@io_k8s_sigs_controller_runtime//pkg/predicate", "@io_k8s_sigs_controller_runtime//pkg/reconcile", "@io_k8s_sigs_yaml//:yaml", "@org_golang_google_api//option", ], ) go_test( name = "couchctl_test", srcs = [ "configmap_test.go", "couch_helper_test.go", "couchctl_test.go", "database_controller_test.go", "design_doc_controller_test.go", "index_controller_test.go", "interlock_client_test.go", "leader_node_test.go", "persistence_controller_test.go", "replication_event_test.go", "replicationset_controller_test.go", "server_controller_cloud_test.go", "server_controller_store_test.go", "server_controller_touchpoint_test.go", "substitutions_test.go", "user_controller_test.go", "user_security_test.go", ], args = [ "-fleet-type=store", "-cluster-type=dsds", "-requeue-time=500ms", "-server-not-ready=1s", "-database-not-found=500ms", "-ingress-not-ready=1m", "-polling-interval=24h", "-enablement-watch-interval=24h", "-datasync-dns-name=datasync-preprod.dev", ], data = [ "//hack/tools:etcd", "//hack/tools:kube-apiserver", "//hack/tools:kubectl", ], embed = [":couchctl"], embedsrcs = [ "testdata/cloud-configmap.yaml", "testdata/store-configmap.yaml", "testdata/touchpoint1-configmap.yaml", ], tags = [ "integration", "needs-f2-refactor", ], visibility = ["//visibility:public"], deps = [ "//pkg/edge/apis/meta", "//pkg/edge/apis/persistence/v1alpha1", "//pkg/edge/bsl", "//pkg/edge/constants", "//pkg/edge/constants/api/cluster", "//pkg/edge/constants/api/fleet", "//pkg/edge/controllers/envctl/pkg/nameutils", "//pkg/edge/datasync/apis/v1alpha1", "//pkg/edge/datasync/couchdb", "//pkg/edge/info", "//pkg/f8n/warehouse/k8s/apis/v1alpha2", "//pkg/k8s/object", "//pkg/k8s/testing/kmp", "//pkg/k8s/unstructured", "//pkg/lib/fog", "//pkg/lib/ini", "//pkg/sds/ien/k8s/apis/v1:apis", "//pkg/sds/ien/node", "//test/f2", "//test/f2/integration", "//test/f2/x/ktest", "@com_github_go_kivik_kivik_v4//:kivik", "@com_github_go_logr_logr//:logr", "@com_github_google_uuid//:uuid", "@com_github_gorilla_websocket//:websocket", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", "@io_k8s_api//apps/v1:apps", "@io_k8s_api//core/v1:core", "@io_k8s_api//networking/v1:networking", "@io_k8s_apimachinery//pkg/api/errors", "@io_k8s_apimachinery//pkg/api/resource", "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", "@io_k8s_apimachinery//pkg/apis/meta/v1/unstructured", "@io_k8s_apimachinery//pkg/runtime", "@io_k8s_apimachinery//pkg/types", "@io_k8s_client_go//rest", "@io_k8s_client_go//tools/clientcmd", "@io_k8s_client_go//util/homedir", "@io_k8s_client_go//util/workqueue", "@io_k8s_sigs_controller_runtime//:controller-runtime", "@io_k8s_sigs_controller_runtime//pkg/client", "@io_k8s_sigs_controller_runtime//pkg/client/fake", "@io_k8s_sigs_controller_runtime//pkg/controller/controllertest", "@io_k8s_sigs_controller_runtime//pkg/controller/controllerutil", "@io_k8s_sigs_yaml//:yaml", "@tools_gotest_v3//assert", "@tools_gotest_v3//assert/cmp", "@tools_gotest_v3//poll", ], )