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/pkg/logbuffer/BUILD.bazel b/metropolis/pkg/logbuffer/BUILD.bazel
index cd0e3af..e890df8 100644
--- a/metropolis/pkg/logbuffer/BUILD.bazel
+++ b/metropolis/pkg/logbuffer/BUILD.bazel
@@ -8,7 +8,7 @@
     ],
     importpath = "source.monogon.dev/metropolis/pkg/logbuffer",
     visibility = ["//metropolis:__subpackages__"],
-    deps = ["//metropolis/proto/api"],
+    deps = ["//metropolis/proto/common"],
 )
 
 go_test(
diff --git a/metropolis/pkg/logbuffer/linebuffer.go b/metropolis/pkg/logbuffer/linebuffer.go
index 6fd9a62..16f7b1a 100644
--- a/metropolis/pkg/logbuffer/linebuffer.go
+++ b/metropolis/pkg/logbuffer/linebuffer.go
@@ -22,7 +22,7 @@
 	"strings"
 	"sync"
 
-	apb "source.monogon.dev/metropolis/proto/api"
+	cpb "source.monogon.dev/metropolis/proto/common"
 )
 
 // Line is a line stored in the log buffer - a string, that has been perhaps
@@ -47,15 +47,15 @@
 }
 
 // ProtoLog returns a Logging-specific protobuf structure.
-func (l *Line) ProtoLog() *apb.LogEntry_Raw {
-	return &apb.LogEntry_Raw{
+func (l *Line) ProtoLog() *cpb.LogEntry_Raw {
+	return &cpb.LogEntry_Raw{
 		Data:           l.Data,
 		OriginalLength: int64(l.OriginalLength),
 	}
 }
 
 // LineFromLogProto converts a Logging-specific protobuf message back into a Line.
-func LineFromLogProto(raw *apb.LogEntry_Raw) (*Line, error) {
+func LineFromLogProto(raw *cpb.LogEntry_Raw) (*Line, error) {
 	if raw.OriginalLength < int64(len(raw.Data)) {
 		return nil, fmt.Errorf("original_length smaller than length of data")
 	}
diff --git a/metropolis/pkg/logtree/BUILD.bazel b/metropolis/pkg/logtree/BUILD.bazel
index 5c4237c..2e2f07e 100644
--- a/metropolis/pkg/logtree/BUILD.bazel
+++ b/metropolis/pkg/logtree/BUILD.bazel
@@ -20,7 +20,7 @@
     visibility = ["//metropolis:__subpackages__"],
     deps = [
         "//metropolis/pkg/logbuffer",
-        "//metropolis/proto/api",
+        "//metropolis/proto/common",
         "@com_github_mitchellh_go_wordwrap//:go-wordwrap",
         "@org_golang_google_protobuf//types/known/timestamppb",
     ],
diff --git a/metropolis/pkg/logtree/leveled.go b/metropolis/pkg/logtree/leveled.go
index 6e44ef4..5c57222 100644
--- a/metropolis/pkg/logtree/leveled.go
+++ b/metropolis/pkg/logtree/leveled.go
@@ -19,7 +19,7 @@
 import (
 	"fmt"
 
-	apb "source.monogon.dev/metropolis/proto/api"
+	cpb "source.monogon.dev/metropolis/proto/common"
 )
 
 // LeveledLogger is a generic interface for glog-style logging. There are four
@@ -144,32 +144,32 @@
 	}
 }
 
-func SeverityFromProto(s apb.LeveledLogSeverity) (Severity, error) {
+func SeverityFromProto(s cpb.LeveledLogSeverity) (Severity, error) {
 	switch s {
-	case apb.LeveledLogSeverity_INFO:
+	case cpb.LeveledLogSeverity_INFO:
 		return INFO, nil
-	case apb.LeveledLogSeverity_WARNING:
+	case cpb.LeveledLogSeverity_WARNING:
 		return WARNING, nil
-	case apb.LeveledLogSeverity_ERROR:
+	case cpb.LeveledLogSeverity_ERROR:
 		return ERROR, nil
-	case apb.LeveledLogSeverity_FATAL:
+	case cpb.LeveledLogSeverity_FATAL:
 		return FATAL, nil
 	default:
 		return "", fmt.Errorf("unknown severity value %d", s)
 	}
 }
 
-func (s Severity) ToProto() apb.LeveledLogSeverity {
+func (s Severity) ToProto() cpb.LeveledLogSeverity {
 	switch s {
 	case INFO:
-		return apb.LeveledLogSeverity_INFO
+		return cpb.LeveledLogSeverity_INFO
 	case WARNING:
-		return apb.LeveledLogSeverity_WARNING
+		return cpb.LeveledLogSeverity_WARNING
 	case ERROR:
-		return apb.LeveledLogSeverity_ERROR
+		return cpb.LeveledLogSeverity_ERROR
 	case FATAL:
-		return apb.LeveledLogSeverity_FATAL
+		return cpb.LeveledLogSeverity_FATAL
 	default:
-		return apb.LeveledLogSeverity_INVALID
+		return cpb.LeveledLogSeverity_INVALID
 	}
 }
diff --git a/metropolis/pkg/logtree/leveled_payload.go b/metropolis/pkg/logtree/leveled_payload.go
index 909d88a..c0852ae 100644
--- a/metropolis/pkg/logtree/leveled_payload.go
+++ b/metropolis/pkg/logtree/leveled_payload.go
@@ -24,7 +24,7 @@
 
 	tpb "google.golang.org/protobuf/types/known/timestamppb"
 
-	apb "source.monogon.dev/metropolis/proto/api"
+	cpb "source.monogon.dev/metropolis/proto/common"
 )
 
 // LeveledPayload is a log entry for leveled logs (as per leveled.go). It contains
@@ -66,8 +66,9 @@
 // unified with a rowspan- like mechanism.
 //
 // For example, this function can return:
-//   prefix = "I1102 17:20:06.921395 foo.go:42] "
-//   lines = []string{"current tags:", " - one", " - two"}
+//
+//	prefix = "I1102 17:20:06.921395 foo.go:42] "
+//	lines = []string{"current tags:", " - one", " - two"}
 //
 // With this data, the result should be presented to users this way in text form:
 // I1102 17:20:06.921395 foo.go:42] current tags:
@@ -113,8 +114,8 @@
 func (p *LeveledPayload) Severity() Severity { return p.severity }
 
 // Proto converts a LeveledPayload to protobuf format.
-func (p *LeveledPayload) Proto() *apb.LogEntry_Leveled {
-	return &apb.LogEntry_Leveled{
+func (p *LeveledPayload) Proto() *cpb.LogEntry_Leveled {
+	return &cpb.LogEntry_Leveled{
 		Lines:     p.Messages(),
 		Timestamp: tpb.New(p.Timestamp()),
 		Severity:  p.Severity().ToProto(),
@@ -123,7 +124,7 @@
 }
 
 // LeveledPayloadFromProto parses a protobuf message into the internal format.
-func LeveledPayloadFromProto(p *apb.LogEntry_Leveled) (*LeveledPayload, error) {
+func LeveledPayloadFromProto(p *cpb.LogEntry_Leveled) (*LeveledPayload, error) {
 	severity, err := SeverityFromProto(p.Severity)
 	if err != nil {
 		return nil, fmt.Errorf("could not convert severity: %w", err)
diff --git a/metropolis/pkg/logtree/logtree_entry.go b/metropolis/pkg/logtree/logtree_entry.go
index a020910..72cc409 100644
--- a/metropolis/pkg/logtree/logtree_entry.go
+++ b/metropolis/pkg/logtree/logtree_entry.go
@@ -23,7 +23,7 @@
 	"github.com/mitchellh/go-wordwrap"
 
 	"source.monogon.dev/metropolis/pkg/logbuffer"
-	apb "source.monogon.dev/metropolis/proto/api"
+	cpb "source.monogon.dev/metropolis/proto/common"
 )
 
 // LogEntry contains a log entry, combining both leveled and raw logging into a
@@ -207,19 +207,19 @@
 
 // Convert this LogEntry to proto. Returned value may be nil if given LogEntry is
 // invalid, eg. contains neither a Raw nor Leveled entry.
-func (l *LogEntry) Proto() *apb.LogEntry {
-	p := &apb.LogEntry{
+func (l *LogEntry) Proto() *cpb.LogEntry {
+	p := &cpb.LogEntry{
 		Dn: string(l.DN),
 	}
 	switch {
 	case l.Leveled != nil:
 		leveled := l.Leveled
-		p.Kind = &apb.LogEntry_Leveled_{
+		p.Kind = &cpb.LogEntry_Leveled_{
 			Leveled: leveled.Proto(),
 		}
 	case l.Raw != nil:
 		raw := l.Raw
-		p.Kind = &apb.LogEntry_Raw_{
+		p.Kind = &cpb.LogEntry_Raw_{
 			Raw: raw.ProtoLog(),
 		}
 	default:
@@ -230,7 +230,7 @@
 
 // Parse a proto LogEntry back into internal structure. This can be used in log
 // proto API consumers to easily print received log entries.
-func LogEntryFromProto(l *apb.LogEntry) (*LogEntry, error) {
+func LogEntryFromProto(l *cpb.LogEntry) (*LogEntry, error) {
 	dn := DN(l.Dn)
 	if _, err := dn.Path(); err != nil {
 		return nil, fmt.Errorf("could not convert DN: %w", err)
@@ -239,13 +239,13 @@
 		DN: dn,
 	}
 	switch inner := l.Kind.(type) {
-	case *apb.LogEntry_Leveled_:
+	case *cpb.LogEntry_Leveled_:
 		leveled, err := LeveledPayloadFromProto(inner.Leveled)
 		if err != nil {
 			return nil, fmt.Errorf("could not convert leveled entry: %w", err)
 		}
 		res.Leveled = leveled
-	case *apb.LogEntry_Raw_:
+	case *cpb.LogEntry_Raw_:
 		line, err := logbuffer.LineFromLogProto(inner.Raw)
 		if err != nil {
 			return nil, fmt.Errorf("could not convert raw entry: %w", err)