Files
pwa-homelab-mon/proto/homelab/v1/homelab.proto
T
alexey.bagno 0857d77a01
Deploy / deploy (push) Successful in 10s
Rework: 4 tabs by func
2026-08-29 13:33:17 +05:00

67 lines
1.4 KiB
Protocol Buffer

syntax = "proto3";
package homelab.v1;
option go_package = "pwa-homelab-mon/gen/homelab/v1;homelabv1";
message Item {
string name = 1;
string data = 2; // monitor: text | percentage
string value = 3; // monitor: last output
int32 args = 4; // exec: arg count
repeated string arg_types = 5; // exec: text | number per arg
}
message Link {
string name = 1;
string url = 2;
}
message ListContentRequest {}
message ListContentResponse {
repeated Link links = 1;
repeated Item monitors = 2;
repeated Item exec = 3;
}
message DocMeta {
string name = 1;
string hash = 2; // sha256 hex of content
}
message ListDocsRequest {}
message ListDocsResponse {
repeated DocMeta docs = 1;
}
message GetDocRequest {
string name = 1;
}
message GetDocResponse {
string content = 1;
}
message SaveDocRequest {
string name = 1;
string content = 2;
}
message SaveDocResponse {
string hash = 1;
}
service HomelabService {
rpc ListContent(ListContentRequest) returns (ListContentResponse);
rpc ListDocs(ListDocsRequest) returns (ListDocsResponse);
rpc GetDoc(GetDocRequest) returns (GetDocResponse);
rpc SaveDoc(SaveDocRequest) returns (SaveDocResponse);
rpc RunScript(RunScriptRequest) returns (RunScriptResponse);
}
message RunScriptRequest {
string name = 1;
repeated string args = 2;
}
message RunScriptResponse {
string output = 1;
}