Restructure and extend protos for easier usage
This commit is contained in:
parent
ca41423aa6
commit
e6959915c6
8 changed files with 229 additions and 0 deletions
10
api/.editorconfig
Normal file
10
api/.editorconfig
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
charset = utf-8
|
||||||
|
|
||||||
|
[*.proto]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
2
api/.gitignore
vendored
Normal file
2
api/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
.vscode/
|
||||||
|
.idea/
|
1
api/README.md
Normal file
1
api/README.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
# INetMock protobuf API
|
43
api/proto/audit/details/dns_details.proto
Normal file
43
api/proto/audit/details/dns_details.proto
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
option go_package = "gitlab.com/inetmock/inetmock/pkg/audit/details";
|
||||||
|
option java_multiple_files = true;
|
||||||
|
option java_package = "com.github.baez90.inetmock.audit.details";
|
||||||
|
option java_outer_classname = "HandlerEventProto";
|
||||||
|
option csharp_namespace = "INetMock.Client.Audit.Details";
|
||||||
|
|
||||||
|
package inetmock.audit.details;
|
||||||
|
|
||||||
|
enum DNSOpCode {
|
||||||
|
Query = 0;
|
||||||
|
Status = 2;
|
||||||
|
Notify = 4;
|
||||||
|
Update = 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
enum ResourceRecordType {
|
||||||
|
UnknownRR = 0;
|
||||||
|
A = 1;
|
||||||
|
NS = 2;
|
||||||
|
CNAME = 5;
|
||||||
|
SOA = 6;
|
||||||
|
PTR = 12;
|
||||||
|
HINFO = 13;
|
||||||
|
MINFO = 14;
|
||||||
|
MX = 15;
|
||||||
|
TXT = 16;
|
||||||
|
RP = 17;
|
||||||
|
AAAA = 28;
|
||||||
|
SRV = 33;
|
||||||
|
NAPTR = 35;
|
||||||
|
}
|
||||||
|
|
||||||
|
message DNSQuestionEntity {
|
||||||
|
ResourceRecordType type = 1;
|
||||||
|
string name = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
message DNSDetailsEntity {
|
||||||
|
DNSOpCode opcode = 1;
|
||||||
|
repeated DNSQuestionEntity questions = 2;
|
||||||
|
}
|
33
api/proto/audit/details/http_details.proto
Normal file
33
api/proto/audit/details/http_details.proto
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
option go_package = "gitlab.com/inetmock/inetmock/pkg/audit/details";
|
||||||
|
option java_multiple_files = true;
|
||||||
|
option java_package = "com.github.baez90.inetmock.audit.details";
|
||||||
|
option java_outer_classname = "HandlerEventProto";
|
||||||
|
option csharp_namespace = "INetMock.Client.Audit.Details";
|
||||||
|
|
||||||
|
package inetmock.audit.details;
|
||||||
|
|
||||||
|
enum HTTPMethod {
|
||||||
|
GET = 0;
|
||||||
|
HEAD = 1;
|
||||||
|
POST = 2;
|
||||||
|
PUT = 3;
|
||||||
|
DELETE = 4;
|
||||||
|
CONNECT = 5;
|
||||||
|
OPTIONS = 6;
|
||||||
|
TRACE = 7;
|
||||||
|
PATCH = 8;
|
||||||
|
}
|
||||||
|
|
||||||
|
message HTTPHeaderValue {
|
||||||
|
repeated string values = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message HTTPDetailsEntity {
|
||||||
|
HTTPMethod method = 1;
|
||||||
|
string host = 2;
|
||||||
|
string uri = 3;
|
||||||
|
string proto = 4;
|
||||||
|
map<string, HTTPHeaderValue> headers = 5;
|
||||||
|
}
|
52
api/proto/audit/event_entity.proto
Normal file
52
api/proto/audit/event_entity.proto
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
option go_package = "gitlab.com/inetmock/inetmock/pkg/audit";
|
||||||
|
option java_multiple_files = true;
|
||||||
|
option java_package = "com.github.baez90.inetmock.audit";
|
||||||
|
option java_outer_classname = "HandlerEventProto";
|
||||||
|
option csharp_namespace = "INetMock.Client.Audit";
|
||||||
|
|
||||||
|
package inetmock.audit;
|
||||||
|
|
||||||
|
import "google/protobuf/any.proto";
|
||||||
|
import "google/protobuf/timestamp.proto";
|
||||||
|
|
||||||
|
enum TransportProtocol {
|
||||||
|
UNKNOWN_TRANSPORT = 0;
|
||||||
|
TCP = 1;
|
||||||
|
UDP = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
enum AppProtocol {
|
||||||
|
UNKNOWN_APPLICATION = 0;
|
||||||
|
DNS = 1;
|
||||||
|
HTTP = 2;
|
||||||
|
HTTP_PROXY = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
enum TLSVersion {
|
||||||
|
SSLv30 = 0;
|
||||||
|
TLS10 = 1;
|
||||||
|
TLS11 = 2;
|
||||||
|
TLS12 = 3;
|
||||||
|
TLS13 = 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
message TLSDetailsEntity {
|
||||||
|
TLSVersion version = 1;
|
||||||
|
string cipherSuite = 2;
|
||||||
|
string serverName = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
message EventEntity {
|
||||||
|
int64 id = 1;
|
||||||
|
google.protobuf.Timestamp timestamp = 2;
|
||||||
|
TransportProtocol transport = 3;
|
||||||
|
AppProtocol application = 4;
|
||||||
|
bytes sourceIP = 5;
|
||||||
|
bytes destinationIP = 6;
|
||||||
|
uint32 sourcePort = 7;
|
||||||
|
uint32 destinationPort = 8;
|
||||||
|
TLSDetailsEntity tls = 9;
|
||||||
|
google.protobuf.Any protocolDetails = 10;
|
||||||
|
}
|
53
api/proto/rpc/audit.proto
Normal file
53
api/proto/rpc/audit.proto
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
option go_package = "gitlab.com/inetmock/inetmock/pkg/rpc";
|
||||||
|
option java_multiple_files = true;
|
||||||
|
option java_package = "com.github.baez90.inetmock.rpc";
|
||||||
|
option java_outer_classname = "AuditProto";
|
||||||
|
option csharp_namespace = "INetMock.Client.Rpc";
|
||||||
|
|
||||||
|
import 'proto/audit/event_entity.proto';
|
||||||
|
|
||||||
|
package inetmock.rpc;
|
||||||
|
|
||||||
|
enum FileOpenMode {
|
||||||
|
TRUNCATE = 0;
|
||||||
|
APPEND = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message WatchEventsRequest {
|
||||||
|
string watcherName = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message RegisterFileSinkRequest {
|
||||||
|
string targetPath = 1;
|
||||||
|
FileOpenMode openMode = 2;
|
||||||
|
uint32 permissions = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
message RegisterFileSinkResponse {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
message RemoveFileSinkRequest {
|
||||||
|
string targetPath = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message RemoveFileSinkResponse {
|
||||||
|
bool SinkGotRemoved = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message ListSinksRequest {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
message ListSinksResponse {
|
||||||
|
repeated string sinks = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
service Audit {
|
||||||
|
rpc WatchEvents (WatchEventsRequest) returns (stream inetmock.audit.EventEntity);
|
||||||
|
rpc RegisterFileSink (RegisterFileSinkRequest) returns (RegisterFileSinkResponse);
|
||||||
|
rpc RemoveFileSink (RemoveFileSinkRequest) returns (RemoveFileSinkResponse);
|
||||||
|
rpc ListSinks(ListSinksRequest) returns (ListSinksResponse);
|
||||||
|
}
|
35
api/proto/rpc/health.proto
Normal file
35
api/proto/rpc/health.proto
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
option go_package = "gitlab.com/inetmock/inetmock/internal/rpc";
|
||||||
|
option java_multiple_files = true;
|
||||||
|
option java_package = "com.github.baez90.inetmock.rpc";
|
||||||
|
option java_outer_classname = "HealthProto";
|
||||||
|
option csharp_namespace = "INetMock.Client.Rpc";
|
||||||
|
|
||||||
|
package inetmock.rpc;
|
||||||
|
|
||||||
|
service Health {
|
||||||
|
rpc GetHealth (HealthRequest) returns (HealthResponse) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
enum HealthState {
|
||||||
|
HEALTHY = 0;
|
||||||
|
INITIALIZING = 1;
|
||||||
|
UNHEALTHY = 2;
|
||||||
|
UNKNOWN = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
message HealthRequest {
|
||||||
|
repeated string components = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message ComponentHealth {
|
||||||
|
HealthState State = 1;
|
||||||
|
string message = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
message HealthResponse {
|
||||||
|
HealthState overallHealthState = 1;
|
||||||
|
map<string, ComponentHealth> componentsHealth = 2;
|
||||||
|
}
|
Loading…
Reference in a new issue