Merge commit 'd1265fdb161f0a86944a27184fb3923350c9b6d1'
This commit is contained in:
commit
f6ce972034
12 changed files with 193 additions and 159 deletions
|
@ -4,7 +4,8 @@ root = true
|
||||||
end_of_line = lf
|
end_of_line = lf
|
||||||
insert_final_newline = true
|
insert_final_newline = true
|
||||||
charset = utf-8
|
charset = utf-8
|
||||||
|
indent_size = 2
|
||||||
|
indent_style = space
|
||||||
|
|
||||||
[*.proto]
|
[*.proto]
|
||||||
indent_style = space
|
indent_size = 2
|
||||||
indent_size = 4
|
|
||||||
|
|
12
api/.gitlab-ci.yml
Normal file
12
api/.gitlab-ci.yml
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
image:
|
||||||
|
name: docker.io/bufbuild/buf:latest
|
||||||
|
entrypoint: [""]
|
||||||
|
|
||||||
|
stages:
|
||||||
|
- test
|
||||||
|
|
||||||
|
lint:
|
||||||
|
stage: test
|
||||||
|
script:
|
||||||
|
- buf ls-files
|
||||||
|
- buf lint
|
20
api/buf.yaml
Normal file
20
api/buf.yaml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
# Below is not the lint and breaking configuration we recommend!
|
||||||
|
# This just just what googleapis passes.
|
||||||
|
# For lint, we recommend having the single value "DEFAULT" in "use"
|
||||||
|
# with no values in "except".
|
||||||
|
# For breaking, we recommend having the single value "FILE" in use.
|
||||||
|
# See https://docs.buf.build/lint-usage
|
||||||
|
# See https://docs.buf.build/breaking-usage
|
||||||
|
version: v1beta1
|
||||||
|
build:
|
||||||
|
roots:
|
||||||
|
- proto
|
||||||
|
lint:
|
||||||
|
use:
|
||||||
|
- DEFAULT
|
||||||
|
except:
|
||||||
|
- PACKAGE_DIRECTORY_MATCH
|
||||||
|
allow_comment_ignores: true
|
||||||
|
breaking:
|
||||||
|
use:
|
||||||
|
- FILE
|
|
@ -1,43 +0,0 @@
|
||||||
syntax = "proto3";
|
|
||||||
|
|
||||||
package inetmock.audit.details;
|
|
||||||
|
|
||||||
option csharp_namespace = "INetMock.Client.Audit.Details";
|
|
||||||
option go_package = "gitlab.com/inetmock/inetmock/pkg/audit/details";
|
|
||||||
option java_multiple_files = true;
|
|
||||||
option java_outer_classname = "HandlerEventProto";
|
|
||||||
option java_package = "com.github.baez90.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;
|
|
||||||
}
|
|
|
@ -1,33 +0,0 @@
|
||||||
syntax = "proto3";
|
|
||||||
|
|
||||||
package inetmock.audit.details;
|
|
||||||
|
|
||||||
option csharp_namespace = "INetMock.Client.Audit.Details";
|
|
||||||
option go_package = "gitlab.com/inetmock/inetmock/pkg/audit/details";
|
|
||||||
option java_multiple_files = true;
|
|
||||||
option java_outer_classname = "HandlerEventProto";
|
|
||||||
option java_package = "com.github.baez90.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;
|
|
||||||
}
|
|
44
api/proto/audit/v1/dns_details.proto
Normal file
44
api/proto/audit/v1/dns_details.proto
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
package inetmock.audit.v1;
|
||||||
|
|
||||||
|
option csharp_namespace = "INetMock.Client.Audit";
|
||||||
|
option go_package = "gitlab.com/inetmock/inetmock/pkg/audit";
|
||||||
|
option java_multiple_files = true;
|
||||||
|
option java_outer_classname = "HandlerEventProto";
|
||||||
|
option java_package = "com.github.baez90.inetmock.audit";
|
||||||
|
|
||||||
|
enum DNSOpCode {
|
||||||
|
//buf:lint:ignore ENUM_ZERO_VALUE_SUFFIX
|
||||||
|
DNS_OP_CODE_QUERY = 0;
|
||||||
|
DNS_OP_CODE_STATUS = 2;
|
||||||
|
DNS_OP_CODE_NOTIFY = 4;
|
||||||
|
DNS_OP_CODE_UPDATE = 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
enum ResourceRecordType {
|
||||||
|
RESOURCE_RECORD_TYPE_UNSPECIFIED = 0;
|
||||||
|
RESOURCE_RECORD_TYPE_A = 1;
|
||||||
|
RESOURCE_RECORD_TYPE_NS = 2;
|
||||||
|
RESOURCE_RECORD_TYPE_CNAME = 5;
|
||||||
|
RESOURCE_RECORD_TYPE_SOA = 6;
|
||||||
|
RESOURCE_RECORD_TYPE_PTR = 12;
|
||||||
|
RESOURCE_RECORD_TYPE_HINFO = 13;
|
||||||
|
RESOURCE_RECORD_TYPE_MINFO = 14;
|
||||||
|
RESOURCE_RECORD_TYPE_MX = 15;
|
||||||
|
RESOURCE_RECORD_TYPE_TXT = 16;
|
||||||
|
RESOURCE_RECORD_TYPE_RP = 17;
|
||||||
|
RESOURCE_RECORD_TYPE_AAAA = 28;
|
||||||
|
RESOURCE_RECORD_TYPE_SRV = 33;
|
||||||
|
RESOURCE_RECORD_TYPE_NAPTR = 35;
|
||||||
|
}
|
||||||
|
|
||||||
|
message DNSQuestionEntity {
|
||||||
|
ResourceRecordType type = 1;
|
||||||
|
string name = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
message DNSDetailsEntity {
|
||||||
|
DNSOpCode opcode = 1;
|
||||||
|
repeated DNSQuestionEntity questions = 2;
|
||||||
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
|
|
||||||
package inetmock.audit;
|
package inetmock.audit.v1;
|
||||||
|
|
||||||
option csharp_namespace = "INetMock.Client.Audit";
|
option csharp_namespace = "INetMock.Client.Audit";
|
||||||
option go_package = "gitlab.com/inetmock/inetmock/pkg/audit";
|
option go_package = "gitlab.com/inetmock/inetmock/pkg/audit";
|
||||||
|
@ -12,30 +12,30 @@ import "google/protobuf/any.proto";
|
||||||
import "google/protobuf/timestamp.proto";
|
import "google/protobuf/timestamp.proto";
|
||||||
|
|
||||||
enum TransportProtocol {
|
enum TransportProtocol {
|
||||||
UNKNOWN_TRANSPORT = 0;
|
TRANSPORT_PROTOCOL_UNSPECIFIED = 0;
|
||||||
TCP = 1;
|
TRANSPORT_PROTOCOL_TCP = 1;
|
||||||
UDP = 2;
|
TRANSPORT_PROTOCOL_UDP = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
enum AppProtocol {
|
enum AppProtocol {
|
||||||
UNKNOWN_APPLICATION = 0;
|
APP_PROTOCOL_UNSPECIFIED = 0;
|
||||||
DNS = 1;
|
APP_PROTOCOL_DNS = 1;
|
||||||
HTTP = 2;
|
APP_PROTOCOL_HTTP = 2;
|
||||||
HTTP_PROXY = 3;
|
APP_PROTOCOL_HTTP_PROXY = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
enum TLSVersion {
|
enum TLSVersion {
|
||||||
SSLv30 = 0;
|
TLS_VERSION_UNSPECIFIED = 0;
|
||||||
TLS10 = 1;
|
TLS_VERSION_TLS10 = 1;
|
||||||
TLS11 = 2;
|
TLS_VERSION_TLS11 = 2;
|
||||||
TLS12 = 3;
|
TLS_VERSION_TLS12 = 3;
|
||||||
TLS13 = 4;
|
TLS_VERSION_TLS13 = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
message TLSDetailsEntity {
|
message TLSDetailsEntity {
|
||||||
TLSVersion version = 1;
|
TLSVersion version = 1;
|
||||||
string cipherSuite = 2;
|
string cipher_suite = 2;
|
||||||
string serverName = 3;
|
string server_name = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
message EventEntity {
|
message EventEntity {
|
||||||
|
@ -43,10 +43,10 @@ message EventEntity {
|
||||||
google.protobuf.Timestamp timestamp = 2;
|
google.protobuf.Timestamp timestamp = 2;
|
||||||
TransportProtocol transport = 3;
|
TransportProtocol transport = 3;
|
||||||
AppProtocol application = 4;
|
AppProtocol application = 4;
|
||||||
bytes sourceIP = 5;
|
bytes source_ip = 5;
|
||||||
bytes destinationIP = 6;
|
bytes destination_ip = 6;
|
||||||
uint32 sourcePort = 7;
|
uint32 source_port = 7;
|
||||||
uint32 destinationPort = 8;
|
uint32 destination_port = 8;
|
||||||
TLSDetailsEntity tls = 9;
|
TLSDetailsEntity tls = 9;
|
||||||
google.protobuf.Any protocolDetails = 10;
|
google.protobuf.Any protocol_details = 10;
|
||||||
}
|
}
|
34
api/proto/audit/v1/http_details.proto
Normal file
34
api/proto/audit/v1/http_details.proto
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
package inetmock.audit.v1;
|
||||||
|
|
||||||
|
option csharp_namespace = "INetMock.Client.Audit";
|
||||||
|
option go_package = "gitlab.com/inetmock/inetmock/pkg/audit";
|
||||||
|
option java_multiple_files = true;
|
||||||
|
option java_outer_classname = "HandlerEventProto";
|
||||||
|
option java_package = "com.github.baez90.inetmock.audit";
|
||||||
|
|
||||||
|
enum HTTPMethod {
|
||||||
|
HTTP_METHOD_UNSPECIFIED = 0;
|
||||||
|
HTTP_METHOD_GET = 1;
|
||||||
|
HTTP_METHOD_HEAD = 2;
|
||||||
|
HTTP_METHOD_POST = 3;
|
||||||
|
HTTP_METHOD_PUT = 4;
|
||||||
|
HTTP_METHOD_DELETE = 5;
|
||||||
|
HTTP_METHOD_CONNECT = 6;
|
||||||
|
HTTP_METHOD_OPTIONS = 7;
|
||||||
|
HTTP_METHOD_TRACE = 8;
|
||||||
|
HTTP_METHOD_PATCH = 9;
|
||||||
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
|
@ -1,34 +0,0 @@
|
||||||
syntax = "proto3";
|
|
||||||
|
|
||||||
package inetmock.rpc;
|
|
||||||
|
|
||||||
option csharp_namespace = "INetMock.Client.Rpc";
|
|
||||||
option go_package = "gitlab.com/inetmock/inetmock/internal/rpc";
|
|
||||||
option java_multiple_files = true;
|
|
||||||
option java_outer_classname = "HealthProto";
|
|
||||||
option java_package = "com.github.baez90.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;
|
|
||||||
}
|
|
|
@ -1,6 +1,6 @@
|
||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
|
|
||||||
package inetmock.rpc;
|
package inetmock.rpc.v1;
|
||||||
|
|
||||||
option csharp_namespace = "INetMock.Client.Rpc";
|
option csharp_namespace = "INetMock.Client.Rpc";
|
||||||
option go_package = "gitlab.com/inetmock/inetmock/pkg/rpc";
|
option go_package = "gitlab.com/inetmock/inetmock/pkg/rpc";
|
||||||
|
@ -8,31 +8,30 @@ option java_multiple_files = true;
|
||||||
option java_outer_classname = "AuditProto";
|
option java_outer_classname = "AuditProto";
|
||||||
option java_package = "com.github.baez90.inetmock.rpc";
|
option java_package = "com.github.baez90.inetmock.rpc";
|
||||||
|
|
||||||
import "audit/event_entity.proto";
|
import "audit/v1/event_entity.proto";
|
||||||
|
|
||||||
enum FileOpenMode {
|
|
||||||
TRUNCATE = 0;
|
|
||||||
APPEND = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
message WatchEventsRequest {
|
message WatchEventsRequest {
|
||||||
string watcherName = 1;
|
string watcher_name = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message WatchEventsResponse {
|
||||||
|
inetmock.audit.v1.EventEntity entity = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
message RegisterFileSinkRequest {
|
message RegisterFileSinkRequest {
|
||||||
string targetPath = 1;
|
string target_path = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
message RegisterFileSinkResponse {
|
message RegisterFileSinkResponse {
|
||||||
string resolvedPath = 1;
|
string resolved_path = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
message RemoveFileSinkRequest {
|
message RemoveFileSinkRequest {
|
||||||
string targetPath = 1;
|
string target_path = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
message RemoveFileSinkResponse {
|
message RemoveFileSinkResponse {
|
||||||
bool SinkGotRemoved = 1;
|
bool sink_got_removed = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
message ListSinksRequest {}
|
message ListSinksRequest {}
|
||||||
|
@ -41,8 +40,8 @@ message ListSinksResponse {
|
||||||
repeated string sinks = 1;
|
repeated string sinks = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
service Audit {
|
service AuditService {
|
||||||
rpc WatchEvents(WatchEventsRequest) returns (stream inetmock.audit.EventEntity);
|
rpc WatchEvents(WatchEventsRequest) returns (stream WatchEventsResponse);
|
||||||
rpc RegisterFileSink(RegisterFileSinkRequest) returns (RegisterFileSinkResponse);
|
rpc RegisterFileSink(RegisterFileSinkRequest) returns (RegisterFileSinkResponse);
|
||||||
rpc RemoveFileSink(RemoveFileSinkRequest) returns (RemoveFileSinkResponse);
|
rpc RemoveFileSink(RemoveFileSinkRequest) returns (RemoveFileSinkResponse);
|
||||||
rpc ListSinks(ListSinksRequest) returns (ListSinksResponse);
|
rpc ListSinks(ListSinksRequest) returns (ListSinksResponse);
|
34
api/proto/rpc/v1/health.proto
Normal file
34
api/proto/rpc/v1/health.proto
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
package inetmock.rpc.v1;
|
||||||
|
|
||||||
|
option csharp_namespace = "INetMock.Client.Rpc";
|
||||||
|
option go_package = "gitlab.com/inetmock/inetmock/pkg/rpc";
|
||||||
|
option java_multiple_files = true;
|
||||||
|
option java_outer_classname = "HealthProto";
|
||||||
|
option java_package = "com.github.baez90.inetmock.rpc";
|
||||||
|
|
||||||
|
enum HealthState {
|
||||||
|
HEALTH_STATE_UNSPECIFIED = 0;
|
||||||
|
HEALTH_STATE_INITIALIZING = 1;
|
||||||
|
HEALTH_STATE_UNHEALTHY = 2;
|
||||||
|
HEALTH_STATE_HEALTHY = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
message GetHealthRequest {
|
||||||
|
repeated string components = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message ComponentHealth {
|
||||||
|
HealthState state = 1;
|
||||||
|
string message = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
message GetHealthResponse {
|
||||||
|
HealthState overall_health_state = 1;
|
||||||
|
map<string, ComponentHealth> components_health = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
service HealthService {
|
||||||
|
rpc GetHealth(GetHealthRequest) returns (GetHealthResponse);
|
||||||
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
|
|
||||||
package inetmock.rpc;
|
package inetmock.rpc.v1;
|
||||||
|
|
||||||
option csharp_namespace = "INetMock.Client.Rpc";
|
option csharp_namespace = "INetMock.Client.Rpc";
|
||||||
option go_package = "gitlab.com/inetmock/inetmock/pkg/rpc";
|
option go_package = "gitlab.com/inetmock/inetmock/pkg/rpc";
|
||||||
|
@ -17,37 +17,37 @@ message ListAvailableDevicesResponse {
|
||||||
string name = 1;
|
string name = 1;
|
||||||
repeated bytes addresses = 2;
|
repeated bytes addresses = 2;
|
||||||
}
|
}
|
||||||
repeated PCAPDevice availableDevices = 1;
|
repeated PCAPDevice available_devices = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
message ListRecordingsRequest {}
|
message ListActiveRecordingsRequest {}
|
||||||
|
|
||||||
message ListRecordingsResponse {
|
message ListActiveRecordingsResponse {
|
||||||
repeated string subscriptions = 1;
|
repeated string subscriptions = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
message StartPCAPFileRecordRequest {
|
message StartPCAPFileRecordingRequest {
|
||||||
string device = 1;
|
string device = 1;
|
||||||
string targetPath = 2;
|
string target_path = 2;
|
||||||
bool promiscuous = 3;
|
bool promiscuous = 3;
|
||||||
google.protobuf.Duration readTimeout = 4;
|
google.protobuf.Duration read_timeout = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
message StartPCAPFileRecordResponse {
|
message StartPCAPFileRecordingResponse {
|
||||||
string resolvedPath = 1;
|
string resolved_path = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
message StopPCAPFileRecordRequest {
|
message StopPCAPFileRecordRequest {
|
||||||
string consumerKey = 1;
|
string consumer_key = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
message StopPCAPFileRecordResponse {
|
message StopPCAPFileRecordResponse {
|
||||||
bool removed = 1;
|
bool removed = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
service PCAP {
|
service PCAPService {
|
||||||
rpc ListAvailableDevices(ListAvailableDevicesRequest) returns (ListAvailableDevicesResponse);
|
rpc ListAvailableDevices(ListAvailableDevicesRequest) returns (ListAvailableDevicesResponse);
|
||||||
rpc ListActiveRecordings(ListRecordingsRequest) returns (ListRecordingsResponse);
|
rpc ListActiveRecordings(ListActiveRecordingsRequest) returns (ListActiveRecordingsResponse);
|
||||||
rpc StartPCAPFileRecording(StartPCAPFileRecordRequest) returns (StartPCAPFileRecordResponse);
|
rpc StartPCAPFileRecording(StartPCAPFileRecordingRequest) returns (StartPCAPFileRecordingResponse);
|
||||||
rpc StopPCAPFileRecord(StopPCAPFileRecordRequest) returns (StopPCAPFileRecordResponse);
|
rpc StopPCAPFileRecord(StopPCAPFileRecordRequest) returns (StopPCAPFileRecordResponse);
|
||||||
}
|
}
|
Loading…
Reference in a new issue