1load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
2
3go_library(
4 name = "couchctl",
5 srcs = [
6 "config.go",
7 "configmap.go",
8 "couch_helper.go",
9 "couchctl.go",
10 "database_controller.go",
11 "design_doc_controller.go",
12 "finalizer.go",
13 "index_controller.go",
14 "interface.go",
15 "interlock_client.go",
16 "leader_election.go",
17 "leader_node.go",
18 "metrics.go",
19 "mock_couchdb_cluster.go",
20 "mock_secretmanager.go",
21 "persistence_controller.go",
22 "reconcile.go",
23 "replication.go",
24 "replication_event.go",
25 "replicationset_controller.go",
26 "resource_manager.go",
27 "server_controller.go",
28 "subsitutions.go",
29 "user_controller.go",
30 "watch.go",
31 ],
32 importpath = "edge-infra.dev/pkg/edge/datasync/controllers/couchctl",
33 visibility = ["//visibility:public"],
34 deps = [
35 "//pkg/edge/api/testutils",
36 "//pkg/edge/api/utils",
37 "//pkg/edge/apis/meta",
38 "//pkg/edge/apis/persistence/v1alpha1",
39 "//pkg/edge/clientutils",
40 "//pkg/edge/constants",
41 "//pkg/edge/constants/api/cluster",
42 "//pkg/edge/constants/api/fleet",
43 "//pkg/edge/controllers/envctl/pkg/nameutils",
44 "//pkg/edge/datasync/apis/v1alpha1",
45 "//pkg/edge/datasync/couchdb",
46 "//pkg/f8n/warehouse/k8s/apis/v1alpha2",
47 "//pkg/k8s/meta/status",
48 "//pkg/k8s/object",
49 "//pkg/k8s/runtime/conditions",
50 "//pkg/k8s/runtime/controller",
51 "//pkg/k8s/runtime/controller/metrics",
52 "//pkg/k8s/runtime/controller/reconcile",
53 "//pkg/k8s/runtime/controller/reconcile/recerr",
54 "//pkg/k8s/runtime/events",
55 "//pkg/k8s/runtime/inventory",
56 "//pkg/k8s/runtime/patch",
57 "//pkg/k8s/runtime/sap",
58 "//pkg/k8s/unstructured",
59 "//pkg/lib/fog",
60 "//pkg/lib/gcp/secretmanager",
61 "//pkg/sds/ien/k8s/apis/v1:apis",
62 "//pkg/sds/ien/node",
63 "@com_github_go_kivik_kivik_v4//:kivik",
64 "@com_github_go_logr_logr//:logr",
65 "@com_github_google_uuid//:uuid",
66 "@com_github_gorilla_websocket//:websocket",
67 "@com_github_peterbourgon_ff_v3//:ff",
68 "@com_github_prometheus_client_golang//prometheus",
69 "@com_github_prometheus_client_golang//prometheus/promauto",
70 "@com_google_cloud_go_secretmanager//apiv1/secretmanagerpb",
71 "@io_k8s_api//apps/v1:apps",
72 "@io_k8s_api//core/v1:core",
73 "@io_k8s_api//networking/v1:networking",
74 "@io_k8s_apimachinery//pkg/api/errors",
75 "@io_k8s_apimachinery//pkg/apis/meta/v1:meta",
76 "@io_k8s_apimachinery//pkg/fields",
77 "@io_k8s_apimachinery//pkg/runtime",
78 "@io_k8s_apimachinery//pkg/types",
79 "@io_k8s_apimachinery//pkg/util/runtime",
80 "@io_k8s_apimachinery//pkg/watch",
81 "@io_k8s_client_go//dynamic",
82 "@io_k8s_client_go//kubernetes/scheme",
83 "@io_k8s_client_go//kubernetes/typed/coordination/v1:coordination",
84 "@io_k8s_client_go//tools/leaderelection",
85 "@io_k8s_client_go//tools/leaderelection/resourcelock",
86 "@io_k8s_client_go//tools/record",
87 "@io_k8s_client_go//util/workqueue",
88 "@io_k8s_sigs_cli_utils//pkg/kstatus/watcher",
89 "@io_k8s_sigs_cli_utils//pkg/object",
90 "@io_k8s_sigs_controller_runtime//:controller-runtime",
91 "@io_k8s_sigs_controller_runtime//pkg/builder",
92 "@io_k8s_sigs_controller_runtime//pkg/client",
93 "@io_k8s_sigs_controller_runtime//pkg/controller",
94 "@io_k8s_sigs_controller_runtime//pkg/controller/controllerutil",
95 "@io_k8s_sigs_controller_runtime//pkg/event",
96 "@io_k8s_sigs_controller_runtime//pkg/handler",
97 "@io_k8s_sigs_controller_runtime//pkg/predicate",
98 "@io_k8s_sigs_controller_runtime//pkg/reconcile",
99 "@io_k8s_sigs_yaml//:yaml",
100 "@org_golang_google_api//option",
101 ],
102)
103
104go_test(
105 name = "couchctl_test",
106 srcs = [
107 "configmap_test.go",
108 "couch_helper_test.go",
109 "couchctl_test.go",
110 "database_controller_test.go",
111 "design_doc_controller_test.go",
112 "index_controller_test.go",
113 "interlock_client_test.go",
114 "leader_node_test.go",
115 "persistence_controller_test.go",
116 "replication_event_test.go",
117 "replicationset_controller_test.go",
118 "server_controller_cloud_test.go",
119 "server_controller_store_test.go",
120 "server_controller_touchpoint_test.go",
121 "substitutions_test.go",
122 "user_controller_test.go",
123 "user_security_test.go",
124 ],
125 args = [
126 "-fleet-type=store",
127 "-cluster-type=dsds",
128 "-requeue-time=500ms",
129 "-server-not-ready=1s",
130 "-database-not-found=500ms",
131 "-ingress-not-ready=1m",
132 "-polling-interval=24h",
133 "-enablement-watch-interval=24h",
134 "-datasync-dns-name=datasync-preprod.dev",
135 ],
136 data = [
137 "//hack/tools:etcd",
138 "//hack/tools:kube-apiserver",
139 "//hack/tools:kubectl",
140 ],
141 embed = [":couchctl"],
142 embedsrcs = [
143 "testdata/cloud-configmap.yaml",
144 "testdata/store-configmap.yaml",
145 "testdata/touchpoint1-configmap.yaml",
146 ],
147 tags = [
148 "integration",
149 "needs-f2-refactor",
150 ],
151 visibility = ["//visibility:public"],
152 deps = [
153 "//pkg/edge/apis/meta",
154 "//pkg/edge/apis/persistence/v1alpha1",
155 "//pkg/edge/bsl",
156 "//pkg/edge/constants",
157 "//pkg/edge/constants/api/cluster",
158 "//pkg/edge/constants/api/fleet",
159 "//pkg/edge/controllers/envctl/pkg/nameutils",
160 "//pkg/edge/datasync/apis/v1alpha1",
161 "//pkg/edge/datasync/couchdb",
162 "//pkg/edge/info",
163 "//pkg/f8n/warehouse/k8s/apis/v1alpha2",
164 "//pkg/k8s/object",
165 "//pkg/k8s/testing/kmp",
166 "//pkg/k8s/unstructured",
167 "//pkg/lib/fog",
168 "//pkg/lib/ini",
169 "//pkg/sds/ien/k8s/apis/v1:apis",
170 "//pkg/sds/ien/node",
171 "//test/f2",
172 "//test/f2/integration",
173 "//test/f2/x/ktest",
174 "@com_github_go_kivik_kivik_v4//:kivik",
175 "@com_github_go_logr_logr//:logr",
176 "@com_github_google_uuid//:uuid",
177 "@com_github_gorilla_websocket//:websocket",
178 "@com_github_stretchr_testify//assert",
179 "@com_github_stretchr_testify//require",
180 "@io_k8s_api//apps/v1:apps",
181 "@io_k8s_api//core/v1:core",
182 "@io_k8s_api//networking/v1:networking",
183 "@io_k8s_apimachinery//pkg/api/errors",
184 "@io_k8s_apimachinery//pkg/api/resource",
185 "@io_k8s_apimachinery//pkg/apis/meta/v1:meta",
186 "@io_k8s_apimachinery//pkg/apis/meta/v1/unstructured",
187 "@io_k8s_apimachinery//pkg/runtime",
188 "@io_k8s_apimachinery//pkg/types",
189 "@io_k8s_client_go//rest",
190 "@io_k8s_client_go//tools/clientcmd",
191 "@io_k8s_client_go//util/homedir",
192 "@io_k8s_client_go//util/workqueue",
193 "@io_k8s_sigs_controller_runtime//:controller-runtime",
194 "@io_k8s_sigs_controller_runtime//pkg/client",
195 "@io_k8s_sigs_controller_runtime//pkg/client/fake",
196 "@io_k8s_sigs_controller_runtime//pkg/controller/controllertest",
197 "@io_k8s_sigs_controller_runtime//pkg/controller/controllerutil",
198 "@io_k8s_sigs_yaml//:yaml",
199 "@tools_gotest_v3//assert",
200 "@tools_gotest_v3//assert/cmp",
201 "@tools_gotest_v3//poll",
202 ],
203)
View as plain text