cloud/{apigw,lib/component}: add cockroachdb client, sample schema
This sets up some boilerplate to connect to CockroachDB servers,
including test in-memory servers.
We also add a first pass apigw user table schema, as the first user of
this new functionality. We exercise that, in turn, in a test.
We also rename component.Configuration to component.ComponentConfig.
There's a stutter in there, but it makes sense with
component.CockroachConfig alongside.
Change-Id: I76691146b87ce135d60db179b3f51eee16525df7
Reviewed-on: https://review.monogon.dev/c/monogon/+/912
Reviewed-by: Leopold Schabel <leo@monogon.tech>
Vouch-Run-CI: Leopold Schabel <leo@monogon.tech>
Tested-by: Jenkins CI
diff --git a/cloud/lib/component/BUILD.bazel b/cloud/lib/component/BUILD.bazel
index a97d770..d705997 100644
--- a/cloud/lib/component/BUILD.bazel
+++ b/cloud/lib/component/BUILD.bazel
@@ -4,13 +4,20 @@
name = "component",
srcs = [
"component.go",
+ "crdb.go",
"devcerts.go",
],
importpath = "source.monogon.dev/cloud/lib/component",
visibility = ["//visibility:public"],
deps = [
+ "//metropolis/cli/pkg/datafile",
"//metropolis/pkg/pki",
"@com_github_adrg_xdg//:xdg",
+ "@com_github_cockroachdb_cockroach_go_v2//testserver",
+ "@com_github_golang_migrate_migrate_v4//:migrate",
+ "@com_github_golang_migrate_migrate_v4//database/cockroachdb",
+ "@com_github_golang_migrate_migrate_v4//source",
+ "@com_github_lib_pq//:pq",
"@io_k8s_klog_v2//:klog",
"@org_golang_google_grpc//:go_default_library",
"@org_golang_google_grpc//credentials",