metropolis/proto: move log-related types to common

Having them in API is kinda weird, especially as we're
generating/parsing them from a few libraries already.

Change-Id: I87b4b51f151443c60b87e3e50753c395fcf6e845
Reviewed-on: https://review.monogon.dev/c/monogon/+/1437
Tested-by: Jenkins CI
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
diff --git a/metropolis/cli/dbg/BUILD.bazel b/metropolis/cli/dbg/BUILD.bazel
index 4eed080..5991f63 100644
--- a/metropolis/cli/dbg/BUILD.bazel
+++ b/metropolis/cli/dbg/BUILD.bazel
@@ -8,6 +8,7 @@
     deps = [
         "//metropolis/pkg/logtree",
         "//metropolis/proto/api",
+        "//metropolis/proto/common",
         "@io_k8s_cli_runtime//pkg/genericclioptions",
         "@io_k8s_component_base//cli",
         "@io_k8s_kubectl//pkg/cmd",
diff --git a/metropolis/cli/dbg/main.go b/metropolis/cli/dbg/main.go
index 0af835a..f7eb1a4 100644
--- a/metropolis/cli/dbg/main.go
+++ b/metropolis/cli/dbg/main.go
@@ -34,7 +34,9 @@
 	"k8s.io/kubectl/pkg/cmd/util"
 
 	"source.monogon.dev/metropolis/pkg/logtree"
+
 	apb "source.monogon.dev/metropolis/proto/api"
+	cpb "source.monogon.dev/metropolis/proto/common"
 )
 
 func main() {
@@ -110,8 +112,8 @@
 		}
 
 		if *logsRecursive {
-			req.Filters = append(req.Filters, &apb.LogFilter{
-				Filter: &apb.LogFilter_WithChildren_{WithChildren: &apb.LogFilter_WithChildren{}},
+			req.Filters = append(req.Filters, &cpb.LogFilter{
+				Filter: &cpb.LogFilter_WithChildren_{WithChildren: &cpb.LogFilter_WithChildren{}},
 			})
 		}
 
@@ -137,6 +139,14 @@
 				}
 				fmt.Println(entry.String())
 			}
+			for _, entry := range res.StreamEntries {
+				entry, err := logtree.LogEntryFromProto(entry)
+				if err != nil {
+					fmt.Printf("error decoding entry: %v", err)
+					continue
+				}
+				fmt.Println(entry.String())
+			}
 		}
 	case "kubectl":
 		// Pop "kubectl" arg (the k8s cli library internally parses os.Args).
diff --git a/metropolis/cli/metroctl/BUILD.bazel b/metropolis/cli/metroctl/BUILD.bazel
index 73a0a6e..71258e9 100644
--- a/metropolis/cli/metroctl/BUILD.bazel
+++ b/metropolis/cli/metroctl/BUILD.bazel
@@ -32,6 +32,7 @@
         "//metropolis/node/core/rpc",
         "//metropolis/pkg/logtree",
         "//metropolis/proto/api",
+        "//metropolis/proto/common",
         "@com_github_adrg_xdg//:xdg",
         "@com_github_spf13_cobra//:cobra",
         "@io_k8s_apimachinery//pkg/apis/meta/v1:meta",
diff --git a/metropolis/cli/metroctl/cmd_node_logs.go b/metropolis/cli/metroctl/cmd_node_logs.go
index 21d5637..beae6ab 100644
--- a/metropolis/cli/metroctl/cmd_node_logs.go
+++ b/metropolis/cli/metroctl/cmd_node_logs.go
@@ -11,6 +11,7 @@
 	"source.monogon.dev/metropolis/cli/metroctl/core"
 	"source.monogon.dev/metropolis/pkg/logtree"
 	"source.monogon.dev/metropolis/proto/api"
+	cpb "source.monogon.dev/metropolis/proto/common"
 )
 
 var nodeLogsCmd = &cobra.Command{
@@ -59,10 +60,10 @@
 			Dn:          "",
 			BacklogMode: api.GetLogsRequest_BACKLOG_ALL,
 			StreamMode:  api.GetLogsRequest_STREAM_DISABLE,
-			Filters: []*api.LogFilter{
+			Filters: []*cpb.LogFilter{
 				{
-					Filter: &api.LogFilter_WithChildren_{
-						WithChildren: &api.LogFilter_WithChildren{},
+					Filter: &cpb.LogFilter_WithChildren_{
+						WithChildren: &cpb.LogFilter_WithChildren{},
 					},
 				},
 			},