diff --git a/metropolis/proto/common/common.proto b/metropolis/proto/common/common.proto
index 653b0d2..b870d20 100644
--- a/metropolis/proto/common/common.proto
+++ b/metropolis/proto/common/common.proto
@@ -21,6 +21,8 @@
 import "google/protobuf/timestamp.proto";
 import "version/spec/spec.proto";
 
+import "metropolis/pkg/logtree/proto/logtree.proto";
+
 // NodeRoles are the possible roles that a Metropolis Node should run within the
 // cluster. These are configured by the cluster and can be retrieved through the
 // Curator.
@@ -196,15 +198,6 @@
     repeated Prefix prefixes = 2;
 }
 
-// Severity level corresponding to //metropolis/pkg/logtree.Severity.
-enum LeveledLogSeverity {
-    INVALID = 0;
-    INFO = 1;
-    WARNING = 2;
-    ERROR = 3;
-    FATAL = 4;
-}
-
 // Filter set when requesting logs for a given DN. This message is equivalent to
 // the following GADT enum:
 // data LogFilter = WithChildren
@@ -231,7 +224,7 @@
     // If leveled logs are returned, all entries at severity lower than `minimum`
     // will be discarded.
     message LeveledWithMinimumSeverity {
-        LeveledLogSeverity minimum = 1;
+        metropolis.pkg.logtree.proto.LeveledLogSeverity minimum = 1;
     }
     oneof filter {
         WithChildren with_children = 1;
@@ -241,34 +234,6 @@
     }
 }
 
-// LogEntry corresponding to logtree.LogEntry in //metropolis/pkg/logtree.
-message LogEntry {
-    // A leveled log entry emitted from a compatible system, eg. Metorpolis code
-    // or a klog-parsed line.
-    message Leveled {
-        repeated string lines = 1;
-        google.protobuf.Timestamp timestamp = 2;
-        LeveledLogSeverity severity = 3;
-        // Source of the error, expressed as file:line.
-        string location = 4;
-    }
-    // Raw log entry, captured from an external system without parting. Might
-    // contain some timestamp/level/origin information embedded in data. Data
-    // contained within should be treated as unsanitized external data.
-    message Raw {
-        string data = 1;
-        // Original length of line, set if data was truncated.
-        int64 original_length = 2;
-    }
-
-    // Origin DN.
-    string dn = 1;
-    oneof kind {
-        Leveled leveled = 2;
-        Raw raw = 3;
-    }
-}
-
 // ClusterConfiguration contains the entirety of the user-configurable behaviour
 // of the cluster that is scoped to the entirety of the cluster (vs. per-node
 // configuration, which is kept alongside Node).
