talos/api/inspect/inspect.proto
Andrey Smirnov fbfd1eb2b1 refactor: pull new version of os-runtime, update code
This is mostly refactoring to adapt to the new APIs.

There are some small changes which are not user-visible immediately (but
visible when using `talosctl get` to inspect low-level details):

* `extras` namespace is removed, it was a hack to distinguish extra and
system manifests
* `Manifests` are managed by two controllers as shared outputs, stored
in the `controlplane` namespace now
* `talosctl inspect dependencies` output got slightly changed
* resources now have `md.owner` set to the controller name which manages
the resource

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2021-04-07 06:55:09 -07:00

44 lines
1.2 KiB
Protocol Buffer

syntax = "proto3";
package inspect;
option go_package = "github.com/talos-systems/talos/pkg/machinery/api/inspect";
option java_multiple_files = true;
option java_outer_classname = "InspectApi";
option java_package = "com.inspect.api";
import "google/protobuf/empty.proto";
import "common/common.proto";
// The inspect service definition.
//
// InspectService provides auxilary API to inspect OS internals.
service InspectService {
rpc ControllerRuntimeDependencies(google.protobuf.Empty) returns (ControllerRuntimeDependenciesResponse);
}
// The ControllerRuntimeDependency message contains the graph of controller-resource dependencies.
message ControllerRuntimeDependency {
common.Metadata metadata = 1;
repeated ControllerDependencyEdge edges = 2;
}
message ControllerRuntimeDependenciesResponse { repeated ControllerRuntimeDependency messages = 1; }
enum DependencyEdgeType {
OUTPUT_EXCLUSIVE = 0;
OUTPUT_SHARED = 3;
INPUT_STRONG = 1;
INPUT_WEAK = 2;
}
message ControllerDependencyEdge {
string controller_name = 1;
DependencyEdgeType edge_type = 2;
string resource_namespace = 3;
string resource_type = 4;
string resource_id = 5;
}