syntax = "proto3";

package iop;

option go_package = "iop/proto/gen/iop";

// NodeInfo is a reserved legacy tombstone for node snapshots. The original
// node_id/address/status fields are retired. Current Edge-Node registration
// uses RegisterRequest/RegisterResponse in runtime.proto, and Control Plane
// observes nodes through Edge.
message NodeInfo {
  reserved 1 to 6;
  reserved "node_id", "name", "address", "version", "status", "labels";
}

// NodeStatus is an inactive legacy enum. Only the zero value remains; the
// online/offline/draining value numbers AND names are reserved tombstones so
// neither the numbers nor the retired identifiers can be reintroduced as an
// active contract. The reserved names persist in the generated descriptor
// metadata by design; that is the tombstone, not an active value.
enum NodeStatus {
  NODE_STATUS_UNSPECIFIED = 0;
  reserved 1 to 3;
  reserved "NODE_STATUS_ONLINE", "NODE_STATUS_OFFLINE", "NODE_STATUS_DRAINING";
}

// NodeRegisterRequest is a reserved legacy tombstone and is not the active
// startup contract. Nodes connect to Edge, not directly to Control Plane.
message NodeRegisterRequest {
  reserved 1;
  reserved "info";
}

// NodeRegisterResponse is a reserved legacy tombstone retained until the
// Control Plane contracts are redesigned around Edge.
message NodeRegisterResponse {
  reserved 1 to 3;
  reserved "accepted", "token", "reason";
}
