Clean up consensus etcd log output

Integrates our Zap logger into our etcd embedded instance to
clean up the logs. Split out from D497 (ex feature/kubelet).

Test Plan:
`bazel run //core/scripts:launch` no longer shows etcd JSON
output.

X-Origin-Diff: phab/D498
GitOrigin-RevId: 8df3b9c3edd20310079306479adfadf983af7da2
diff --git a/core/internal/consensus/BUILD.bazel b/core/internal/consensus/BUILD.bazel
index 53b118d..c8b2f25 100644
--- a/core/internal/consensus/BUILD.bazel
+++ b/core/internal/consensus/BUILD.bazel
@@ -19,5 +19,6 @@
         "@io_etcd_go_etcd//proxy/grpcproxy/adapter:go_default_library",
         "@org_golang_x_sys//unix:go_default_library",
         "@org_uber_go_zap//:go_default_library",
+        "@org_uber_go_zap//zapcore:go_default_library",
     ],
 )
diff --git a/core/internal/consensus/consensus.go b/core/internal/consensus/consensus.go
index 77a8a11..67bac1c 100644
--- a/core/internal/consensus/consensus.go
+++ b/core/internal/consensus/consensus.go
@@ -46,6 +46,7 @@
 	"go.etcd.io/etcd/pkg/types"
 	"go.etcd.io/etcd/proxy/grpcproxy/adapter"
 	"go.uber.org/zap"
+	"go.uber.org/zap/zapcore"
 	"golang.org/x/sys/unix"
 
 	"git.monogon.dev/source/nexantic.git/core/internal/consensus/ca"
@@ -172,6 +173,11 @@
 	}
 
 	cfg.Logger = DefaultLogger
+	cfg.ZapLoggerBuilder = embed.NewZapCoreLoggerBuilder(
+		s.Logger.With(zap.String("component", "etcd")).WithOptions(zap.IncreaseLevel(zapcore.WarnLevel)),
+		s.Logger.Core(),
+		nil,
+	)
 
 	server, err := embed.StartEtcd(cfg)
 	if err != nil {
diff --git a/third_party/go/gazelle-deps.sh b/third_party/go/gazelle-deps.sh
index e48282f..4ae30ed 100755
--- a/third_party/go/gazelle-deps.sh
+++ b/third_party/go/gazelle-deps.sh
@@ -175,7 +175,7 @@
 gazelle github.com/NYTimes/gziphandler@56545f4a5d46
 gazelleGHRelease vishvananda netlink v1.1.0
 gazelleGHRelease googleapis gnostic v0.4.1
-gazelle go.uber.org/zap@27376062155ad36be76b0f12cf1572a221d3a48c # v1.10.0
+gazelle go.uber.org/zap@feeb9a050b31b40eec6f2470e7599eeeadfe5bdd # v1.15.0
 gazelleGHRelease coreos go-semver v0.3.0
 gazelle go.uber.org/multierr@3c4937480c32f4c13a875a1829af76c98ca3d40a # v1.1.0
 gazelle go.uber.org/atomic@1ea20fb1cbb1cc08cbd0d913a96dead89aa18289 # v1.3.2
diff --git a/third_party/go/repositories.bzl b/third_party/go/repositories.bzl
index b4b7dd8..2967494 100644
--- a/third_party/go/repositories.bzl
+++ b/third_party/go/repositories.bzl
@@ -409,8 +409,8 @@
     go_repository(
         name = "org_uber_go_zap",
         importpath = "go.uber.org/zap",
-        sum = "h1:ORx85nbTijNz8ljznvCMR1ZBIPKFn3jQrag10X2AsuM=",
-        version = "v1.10.0",
+        sum = "h1:ZZCA22JRF2gQE5FoNmhmrf7jeJJ2uhqDUNRYKm8dvmM=",
+        version = "v1.15.0",
     )
     go_repository(
         name = "com_github_coreos_go_semver",