trisulrp 3.2.16 → 3.2.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/README.rdoc +1 -1
- data/Rakefile +1 -0
- data/VERSION +1 -1
- data/lib/trisulrp/protocol.rb +31 -0
- data/lib/trisulrp/trp.pb.rb +73 -1
- data/lib/trisulrp/trp.proto +96 -16
- data/trisulrp.gemspec +28 -28
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 1eb9ef98c73c9736310f21bd9cdb84c4f6f2409dc4f1c0915aaf86f4d5522dba
|
4
|
+
data.tar.gz: e53eccfad2338f817067c392338d501bebd9c66e319e32fb189965f72f5d042b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7a31a36b630e1e1f7a957fed3d3d4f480900f4cdfed69869bbeee628aa9a303c31b3f4f6a1e2740bd0297b6537896a38501a1b9d3a8395e279846f13a9490a51
|
7
|
+
data.tar.gz: 9080652d629291fb28f4b313c3f0c6769f1bc0117ca6d0295037e16b992d6bdecc435cd9a95c033b7458d61d8471310da781f33c4f2f79e6891e558916a95037
|
data/README.rdoc
CHANGED
@@ -16,7 +16,7 @@ Key Features :
|
|
16
16
|
|
17
17
|
* TRP Documentation and Tutorials http://trisul.org/docs/trp/index.html
|
18
18
|
* Getting started tutorial http://trisul.org/docs/trp/trpgemsteps.html
|
19
|
-
* Github repo of sample scripts https://github.com/
|
19
|
+
* Github repo of sample scripts https://github.com/trisulnsm/trisul-scripts/trp
|
20
20
|
|
21
21
|
|
22
22
|
== Contributing to trisulrp
|
data/Rakefile
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.2.
|
1
|
+
3.2.26
|
data/lib/trisulrp/protocol.rb
CHANGED
@@ -335,6 +335,32 @@ module TrisulRP::Protocol
|
|
335
335
|
return tint
|
336
336
|
end
|
337
337
|
|
338
|
+
|
339
|
+
# Helper iterate through each time interval in reverse order
|
340
|
+
#
|
341
|
+
# [endpoint] - the ZMQ endpoint
|
342
|
+
#
|
343
|
+
# ==== Returns
|
344
|
+
# ==== Yields
|
345
|
+
# [time_interval, id, total_intervals] A TRP::TimeInterval object which can be attached to any :time_interval field of a TRP request
|
346
|
+
#
|
347
|
+
#
|
348
|
+
def each_time_interval(zmq_endpt)
|
349
|
+
|
350
|
+
req=mk_request(TRP::Message::Command::TIMESLICES_REQUEST )
|
351
|
+
get_response_zmq(zmq_endpt,req) do |resp|
|
352
|
+
|
353
|
+
slice_id = 0
|
354
|
+
total_slices = resp.slices.size
|
355
|
+
|
356
|
+
resp.slices.reverse_each do | slc |
|
357
|
+
yield slc.time_interval, slice_id, total_slices
|
358
|
+
slice_id=slice_id+1
|
359
|
+
end
|
360
|
+
end
|
361
|
+
end
|
362
|
+
|
363
|
+
|
338
364
|
# Helper to allow assinging string to KeyT field
|
339
365
|
#
|
340
366
|
# instead of
|
@@ -523,6 +549,9 @@ module TrisulRP::Protocol
|
|
523
549
|
when TRP::Message::Command::RUNTOOL_REQUEST
|
524
550
|
fix_TRP_Fields( TRP::RunToolRequest, params)
|
525
551
|
req.run_tool_request = TRP::RunToolRequest.new(params)
|
552
|
+
when TRP::Message::Command::TOOL_INFO_REQUEST
|
553
|
+
fix_TRP_Fields( TRP::ToolInfoRequest, params)
|
554
|
+
req.tool_info_request = TRP::ToolInfoRequest.new(params)
|
526
555
|
else
|
527
556
|
raise "Unknown TRP command ID"
|
528
557
|
end
|
@@ -624,6 +653,8 @@ module TrisulRP::Protocol
|
|
624
653
|
resp.graph_response
|
625
654
|
when TRP::Message::Command::RUNTOOL_RESPONSE
|
626
655
|
resp.run_tool_response
|
656
|
+
when TRP::Message::Command::TOOL_INFO_RESPONSE
|
657
|
+
resp.tool_info_response
|
627
658
|
else
|
628
659
|
raise "#{resp.trp_command.to_i} Unknown TRP command ID"
|
629
660
|
end
|
data/lib/trisulrp/trp.pb.rb
CHANGED
@@ -167,6 +167,11 @@ module TRP
|
|
167
167
|
define :AGGREGATE_SESSIONS_RESPONSE, 133
|
168
168
|
define :RUNTOOL_REQUEST, 134
|
169
169
|
define :RUNTOOL_RESPONSE, 135
|
170
|
+
define :HA_CONTROL_REQUEST, 140
|
171
|
+
define :HA_CONTROL_RESPONSE, 141
|
172
|
+
define :DOMAIN_PING, 142
|
173
|
+
define :TOOL_INFO_REQUEST, 143
|
174
|
+
define :TOOL_INFO_RESPONSE, 144
|
170
175
|
end
|
171
176
|
|
172
177
|
end
|
@@ -188,6 +193,7 @@ module TRP
|
|
188
193
|
class AggregateSessionsRequest < ::Protobuf::Message; end
|
189
194
|
class AggregateSessionsResponse < ::Protobuf::Message
|
190
195
|
class KeyTCount < ::Protobuf::Message; end
|
196
|
+
class TagGroup < ::Protobuf::Message; end
|
191
197
|
|
192
198
|
end
|
193
199
|
|
@@ -247,6 +253,18 @@ module TRP
|
|
247
253
|
|
248
254
|
end
|
249
255
|
|
256
|
+
class HAControlRequest < ::Protobuf::Message
|
257
|
+
class HAOperation < ::Protobuf::Enum
|
258
|
+
define :HA_TEST_REACHABILITY, 0
|
259
|
+
define :HA_SWITCH_BACKUP, 1
|
260
|
+
define :HA_SWITCH_PRIMARY, 2
|
261
|
+
end
|
262
|
+
|
263
|
+
end
|
264
|
+
|
265
|
+
class HAControlResponse < ::Protobuf::Message; end
|
266
|
+
class ToolInfoRequest < ::Protobuf::Message; end
|
267
|
+
class ToolInfoResponse < ::Protobuf::Message; end
|
250
268
|
class NodeConfigRequest < ::Protobuf::Message
|
251
269
|
class IntelFeed < ::Protobuf::Message; end
|
252
270
|
|
@@ -291,6 +309,7 @@ module TRP
|
|
291
309
|
define :DF, 2
|
292
310
|
define :GEOQUERY, 3
|
293
311
|
define :TOP, 4
|
312
|
+
define :BGPQUERY, 5
|
294
313
|
end
|
295
314
|
|
296
315
|
end
|
@@ -361,6 +380,9 @@ module TRP
|
|
361
380
|
optional :string, :description, 4
|
362
381
|
optional :int64, :metric, 5
|
363
382
|
repeated ::TRP::KeyT::NameValueT, :attributes, 6
|
383
|
+
optional :int64, :metric_max, 7
|
384
|
+
optional :int64, :metric_min, 8
|
385
|
+
optional :int64, :metric_avg, 9
|
364
386
|
end
|
365
387
|
|
366
388
|
class CounterGroupT
|
@@ -535,6 +557,10 @@ module TRP
|
|
535
557
|
optional ::TRP::AggregateResourcesResponse, :aggregate_resources_response, 143
|
536
558
|
optional ::TRP::RunToolRequest, :run_tool_request, 144
|
537
559
|
optional ::TRP::RunToolResponse, :run_tool_response, 145
|
560
|
+
optional ::TRP::HAControlRequest, :ha_control_request, 150
|
561
|
+
optional ::TRP::HAControlResponse, :ha_control_response, 151
|
562
|
+
optional ::TRP::ToolInfoRequest, :tool_info_request, 152
|
563
|
+
optional ::TRP::ToolInfoResponse, :tool_info_response, 153
|
538
564
|
optional :string, :destination_node, 200
|
539
565
|
optional :string, :probe_id, 201
|
540
566
|
optional :bool, :run_async, 202
|
@@ -550,6 +576,8 @@ module TRP
|
|
550
576
|
optional :string, :station_id_request, 2
|
551
577
|
optional :string, :message, 3
|
552
578
|
optional :int64, :local_timestamp, 4
|
579
|
+
optional :string, :local_timestamp_string, 5
|
580
|
+
optional :bool, :is_primary, 6
|
553
581
|
end
|
554
582
|
|
555
583
|
class ErrorResponse
|
@@ -576,6 +604,9 @@ module TRP
|
|
576
604
|
required ::TRP::KeyT, :key, 2
|
577
605
|
optional ::TRP::StatsArray, :totals, 3
|
578
606
|
repeated ::TRP::StatsArray, :stats, 4
|
607
|
+
optional ::TRP::StatsArray, :maximums, 5
|
608
|
+
optional ::TRP::StatsArray, :minimums, 6
|
609
|
+
optional ::TRP::StatsArray, :samples, 8
|
579
610
|
end
|
580
611
|
|
581
612
|
class CounterGroupTopperRequest
|
@@ -646,6 +677,7 @@ module TRP
|
|
646
677
|
optional :bool, :resolve_keys, 21, :default => true
|
647
678
|
optional :string, :outputpath, 22
|
648
679
|
repeated :string, :idlist, 23
|
680
|
+
optional ::TRP::KeyT, :any_nf_ifindex, 24
|
649
681
|
end
|
650
682
|
|
651
683
|
class QuerySessionsResponse
|
@@ -672,7 +704,8 @@ module TRP
|
|
672
704
|
optional :string, :subnet_24, 17
|
673
705
|
optional :string, :subnet_16, 18
|
674
706
|
optional :int64, :aggregate_topcount, 19, :default => 100
|
675
|
-
|
707
|
+
repeated :string, :group_by_fields, 20
|
708
|
+
optional ::TRP::KeyT, :any_nf_ifindex, 21
|
676
709
|
end
|
677
710
|
|
678
711
|
class AggregateSessionsResponse
|
@@ -682,6 +715,11 @@ module TRP
|
|
682
715
|
required :int64, :metric, 3
|
683
716
|
end
|
684
717
|
|
718
|
+
class TagGroup
|
719
|
+
required :string, :group_name, 1
|
720
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :tag_metrics, 2
|
721
|
+
end
|
722
|
+
|
685
723
|
required :string, :session_group, 2
|
686
724
|
optional ::TRP::TimeInterval, :time_interval, 3
|
687
725
|
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :source_ip, 5
|
@@ -700,11 +738,14 @@ module TRP
|
|
700
738
|
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :internal_port, 18
|
701
739
|
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :internal_ip, 19
|
702
740
|
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :external_ip, 20
|
741
|
+
repeated ::TRP::AggregateSessionsResponse::TagGroup, :tag_group, 21
|
703
742
|
end
|
704
743
|
|
705
744
|
class UpdateKeyRequest
|
706
745
|
required :string, :counter_group, 2
|
707
746
|
repeated ::TRP::KeyT, :keys, 4
|
747
|
+
optional :bool, :remove_all_attributes, 5
|
748
|
+
repeated :string, :remove_attributes, 6
|
708
749
|
end
|
709
750
|
|
710
751
|
class SessionTrackerRequest
|
@@ -822,6 +863,8 @@ module TRP
|
|
822
863
|
optional :int64, :meter, 3, :default => 0
|
823
864
|
optional :int64, :maxitems, 4, :default => 100
|
824
865
|
optional ::TRP::TimeInterval, :time_interval, 5
|
866
|
+
optional :string, :key_filter, 6
|
867
|
+
optional :string, :inverse_key_filter, 7
|
825
868
|
end
|
826
869
|
|
827
870
|
class TopperTrendResponse
|
@@ -937,6 +980,7 @@ module TRP
|
|
937
980
|
optional :string, :extra_info, 4
|
938
981
|
optional ::TRP::Timestamp, :register_time, 5
|
939
982
|
optional ::TRP::Timestamp, :heartbeat_time, 6
|
983
|
+
optional :bool, :is_primary, 7, :default => true
|
940
984
|
end
|
941
985
|
|
942
986
|
required ::TRP::DomainOperation, :cmd, 1
|
@@ -946,6 +990,30 @@ module TRP
|
|
946
990
|
optional :bool, :need_reconnect, 5, :default => false
|
947
991
|
end
|
948
992
|
|
993
|
+
class HAControlRequest
|
994
|
+
required ::TRP::HAControlRequest::HAOperation, :cmd, 1
|
995
|
+
optional :string, :station_id, 2
|
996
|
+
optional :string, :params, 3
|
997
|
+
end
|
998
|
+
|
999
|
+
class HAControlResponse
|
1000
|
+
optional :bool, :control_success, 1
|
1001
|
+
optional :string, :station_id, 2
|
1002
|
+
optional :string, :status_message, 3
|
1003
|
+
optional :bool, :primary_reachable, 4
|
1004
|
+
optional :bool, :backup_reachable, 5
|
1005
|
+
end
|
1006
|
+
|
1007
|
+
class ToolInfoRequest
|
1008
|
+
optional :string, :context_name, 1
|
1009
|
+
optional :string, :tool_name, 2
|
1010
|
+
repeated :string, :tool_info_requested, 3
|
1011
|
+
end
|
1012
|
+
|
1013
|
+
class ToolInfoResponse
|
1014
|
+
repeated ::TRP::NameValue, :tool_info, 1
|
1015
|
+
end
|
1016
|
+
|
949
1017
|
class NodeConfigRequest
|
950
1018
|
class IntelFeed
|
951
1019
|
required :string, :guid, 1
|
@@ -953,6 +1021,8 @@ module TRP
|
|
953
1021
|
optional :string, :download_rules, 3
|
954
1022
|
repeated :string, :uri, 4
|
955
1023
|
repeated :string, :usernodes, 5
|
1024
|
+
optional :int64, :sub_feed_id, 6, :default => -1
|
1025
|
+
optional :bool, :restore_mode, 7, :default => false
|
956
1026
|
end
|
957
1027
|
|
958
1028
|
optional :string, :message, 1
|
@@ -986,6 +1056,7 @@ module TRP
|
|
986
1056
|
class ContextInfoRequest
|
987
1057
|
optional :string, :context_name, 1
|
988
1058
|
optional :bool, :get_size_on_disk, 2, :default => false
|
1059
|
+
optional :string, :tool_name, 3
|
989
1060
|
end
|
990
1061
|
|
991
1062
|
class ContextInfoResponse
|
@@ -1167,6 +1238,7 @@ module TRP
|
|
1167
1238
|
required :string, :context_name, 1
|
1168
1239
|
required ::TRP::RunToolRequest::NodeTool, :tool, 2
|
1169
1240
|
optional :string, :tool_input, 3
|
1241
|
+
optional :string, :tool_input_file_data, 4
|
1170
1242
|
end
|
1171
1243
|
|
1172
1244
|
class RunToolResponse
|
data/lib/trisulrp/trp.proto
CHANGED
@@ -107,6 +107,9 @@ message KeyT {
|
|
107
107
|
required string attr_value=2;
|
108
108
|
}
|
109
109
|
repeated NameValueT attributes=6; /// New: Attributes are NVP for keys
|
110
|
+
optional int64 metric_max=7; /// optional : max observed value for metric in context
|
111
|
+
optional int64 metric_min=8; /// optional : max observed value for metric
|
112
|
+
optional int64 metric_avg=9; /// optional : max observed value for metric
|
110
113
|
}
|
111
114
|
|
112
115
|
|
@@ -352,6 +355,12 @@ message Message {
|
|
352
355
|
AGGREGATE_SESSIONS_RESPONSE=133;
|
353
356
|
RUNTOOL_REQUEST=134;
|
354
357
|
RUNTOOL_RESPONSE=135;
|
358
|
+
HA_CONTROL_REQUEST=140;
|
359
|
+
HA_CONTROL_RESPONSE=141;
|
360
|
+
DOMAIN_PING=142;
|
361
|
+
TOOL_INFO_REQUEST=143;
|
362
|
+
TOOL_INFO_RESPONSE=144;
|
363
|
+
|
355
364
|
}
|
356
365
|
|
357
366
|
required Command trp_command=1;
|
@@ -421,6 +430,10 @@ message Message {
|
|
421
430
|
optional AggregateResourcesResponse aggregate_resources_response=143;
|
422
431
|
optional RunToolRequest run_tool_request=144;
|
423
432
|
optional RunToolResponse run_tool_response=145;
|
433
|
+
optional HAControlRequest ha_control_request=150;
|
434
|
+
optional HAControlResponse ha_control_response=151;
|
435
|
+
optional ToolInfoRequest tool_info_request=152;
|
436
|
+
optional ToolInfoResponse tool_info_response=153;
|
424
437
|
optional string destination_node=200; // todo move 2nd
|
425
438
|
optional string probe_id=201; // todo move 3rd
|
426
439
|
optional bool run_async=202; /// if run_async = true, then you will immediately get a AsynResponse with a token you can poll
|
@@ -447,6 +460,8 @@ message HelloResponse{
|
|
447
460
|
optional string station_id_request=2; /// station id found in the request
|
448
461
|
optional string message=3; /// message found in the request
|
449
462
|
optional int64 local_timestamp=4; /// local timestamp at server, used to detect drifts
|
463
|
+
optional string local_timestamp_string=5; /// on server with time zone, use this
|
464
|
+
optional bool is_primary=6; /// is this a primary or HA node
|
450
465
|
}
|
451
466
|
|
452
467
|
/// ErrorResponse
|
@@ -481,6 +496,9 @@ message CounterItemResponse{
|
|
481
496
|
required KeyT key=2; /// key : filled up with readable,label automatically
|
482
497
|
optional StatsArray totals=3; /// if volumes_only = 1 in request, this contains totals for each metric
|
483
498
|
repeated StatsArray stats=4; /// time series stats - can use to draw charts etc
|
499
|
+
optional StatsArray maximums=5; /// if volumes_only = 1 this contains MAX(..)
|
500
|
+
optional StatsArray minimums=6; /// if volumes_only = 1 this contains MIN(..)
|
501
|
+
optional StatsArray samples=8; /// if volumes_only = 1 this contains SAMPLES(..)
|
484
502
|
}
|
485
503
|
|
486
504
|
|
@@ -549,7 +567,7 @@ message QuerySessionsRequest {
|
|
549
567
|
optional KeyT dest_ip=7;
|
550
568
|
optional KeyT dest_port=8;
|
551
569
|
optional KeyT any_ip=9; /// source or dest match
|
552
|
-
optional KeyT any_port=10;
|
570
|
+
optional KeyT any_port=10; /// source or dest match
|
553
571
|
repeated KeyT ip_pair=11; /// array of 2 ips
|
554
572
|
optional KeyT protocol=12;
|
555
573
|
optional string flowtag=13; /// string flow tagger text
|
@@ -563,6 +581,7 @@ message QuerySessionsRequest {
|
|
563
581
|
optional bool resolve_keys=21[default=true];
|
564
582
|
optional string outputpath=22; /// write results to a file (CSV) on trisul-hub (for very large dumps)
|
565
583
|
repeated string idlist=23; /// array of flow ids , usually from SessionTracker response
|
584
|
+
optional KeyT any_nf_ifindex=24; /// composite query for both ifindex
|
566
585
|
}
|
567
586
|
|
568
587
|
|
@@ -596,7 +615,8 @@ message AggregateSessionsRequest {
|
|
596
615
|
optional string subnet_24=17; /// ip /24 subnet matching
|
597
616
|
optional string subnet_16=18; /// ip /16 subnet
|
598
617
|
optional int64 aggregate_topcount=19[default=100]; /// number of count-star per field
|
599
|
-
|
618
|
+
repeated string group_by_fields=20; /// list of field names
|
619
|
+
optional KeyT any_nf_ifindex=21; /// matches either gen2 or gen3
|
600
620
|
}
|
601
621
|
|
602
622
|
/// AggregateSessionsResponse
|
@@ -609,6 +629,11 @@ message AggregateSessionsResponse {
|
|
609
629
|
required int64 metric=3; /// aggregated metrics, eg total bytes
|
610
630
|
}
|
611
631
|
|
632
|
+
message TagGroup {
|
633
|
+
required string group_name=1;
|
634
|
+
repeated KeyTCount tag_metrics=2;
|
635
|
+
}
|
636
|
+
|
612
637
|
required string session_group=2;
|
613
638
|
optional TimeInterval time_interval=3;
|
614
639
|
repeated KeyTCount source_ip=5; /// top IPs
|
@@ -627,13 +652,17 @@ message AggregateSessionsResponse {
|
|
627
652
|
repeated KeyTCount internal_port=18; /// internal IP ports
|
628
653
|
repeated KeyTCount internal_ip=19; /// internal IPs
|
629
654
|
repeated KeyTCount external_ip=20; /// external IPs
|
655
|
+
repeated TagGroup tag_group=21; /// tag groups
|
630
656
|
}
|
631
657
|
|
658
|
+
|
632
659
|
/// UpdatekeysRequest
|
633
660
|
/// Response = OKResponse or ErrorResponse
|
634
661
|
message UpdateKeyRequest{
|
635
662
|
required string counter_group=2;
|
636
|
-
repeated KeyT keys=4;
|
663
|
+
repeated KeyT keys=4; /// key : if you set both key and label, the DB label will be updated
|
664
|
+
optional bool remove_all_attributes=5; /// remove all key attributes from keys
|
665
|
+
repeated string remove_attributes=6; /// remove these attributes only from keys
|
637
666
|
}
|
638
667
|
|
639
668
|
/// SessionTrackerRequest - query session trackers
|
@@ -781,6 +810,8 @@ message TopperTrendRequest {
|
|
781
810
|
optional int64 meter=3 [default=0];
|
782
811
|
optional int64 maxitems=4 [default=100];
|
783
812
|
optional TimeInterval time_interval=5;
|
813
|
+
optional string key_filter=6; /// only get keys with this pattern and SYS:GROUP
|
814
|
+
optional string inverse_key_filter=7; /// only get keys without this pattern NOT
|
784
815
|
}
|
785
816
|
|
786
817
|
/// TopperTrendResponse
|
@@ -847,9 +878,16 @@ message QueryFTSResponse {
|
|
847
878
|
/// get the METERS METASLICE info
|
848
879
|
/// .. response = TimeSlicesResponse
|
849
880
|
message TimeSlicesRequest {
|
850
|
-
optional bool get_disk_usage=1[default=false];
|
851
|
-
|
852
|
-
optional bool
|
881
|
+
optional bool get_disk_usage=1[default=false]; /// get disk usage per SLICE
|
882
|
+
|
883
|
+
optional bool get_all_engines=2[default=false]; /// by default (set to false) we only get instance-0
|
884
|
+
/// because are interested in iterating over
|
885
|
+
/// the time interval rather then each slice
|
886
|
+
/// inside the time interval. set this to true
|
887
|
+
/// if you want each slice to be reported
|
888
|
+
|
889
|
+
optional bool get_total_window=3[default=false]; /// just get the total time window in the
|
890
|
+
/// trisul database
|
853
891
|
}
|
854
892
|
|
855
893
|
/// .. response = TimeSlicesResponse
|
@@ -949,6 +987,7 @@ message DomainResponse {
|
|
949
987
|
optional string extra_info=4;
|
950
988
|
optional Timestamp register_time=5;
|
951
989
|
optional Timestamp heartbeat_time=6;
|
990
|
+
optional bool is_primary=7[default=true]; /// primary or backup HA mode
|
952
991
|
|
953
992
|
}
|
954
993
|
|
@@ -959,24 +998,62 @@ message DomainResponse {
|
|
959
998
|
optional bool need_reconnect=5[default=false];
|
960
999
|
}
|
961
1000
|
|
1001
|
+
/// messages to HAControl
|
1002
|
+
message HAControlRequest {
|
1003
|
+
enum HAOperation
|
1004
|
+
{
|
1005
|
+
HA_TEST_REACHABILITY=0; /// test if primary or backup is reachable (test the other side)
|
1006
|
+
HA_SWITCH_BACKUP=1; /// switch all nodes to backup HA
|
1007
|
+
HA_SWITCH_PRIMARY=2; /// switch to primary HA
|
1008
|
+
}
|
1009
|
+
|
1010
|
+
|
1011
|
+
required HAOperation cmd=1;
|
1012
|
+
optional string station_id=2;
|
1013
|
+
optional string params=3;
|
1014
|
+
}
|
1015
|
+
|
1016
|
+
message HAControlResponse {
|
1017
|
+
optional bool control_success=1;
|
1018
|
+
optional string station_id=2;
|
1019
|
+
optional string status_message=3;
|
1020
|
+
optional bool primary_reachable=4;
|
1021
|
+
optional bool backup_reachable=5;
|
1022
|
+
}
|
1023
|
+
|
1024
|
+
/// tool info
|
1025
|
+
/// general purpose probe information gathering tool
|
1026
|
+
/// use cases : get BGP route receiver peer status
|
1027
|
+
message ToolInfoRequest {
|
1028
|
+
optional string context_name=1;
|
1029
|
+
optional string tool_name=2;
|
1030
|
+
repeated string tool_info_requested=3; /// array of information elements requested
|
1031
|
+
}
|
1032
|
+
|
1033
|
+
message ToolInfoResponse {
|
1034
|
+
repeated NameValue tool_info=1; /// info elements Name=Value
|
1035
|
+
}
|
1036
|
+
|
962
1037
|
|
963
1038
|
message NodeConfigRequest {
|
964
1039
|
optional string message=1;
|
965
1040
|
|
966
1041
|
message IntelFeed {
|
967
|
-
required string guid=1;
|
968
|
-
optional string name=2;
|
969
|
-
optional string download_rules=3;
|
970
|
-
repeated string uri=4;
|
971
|
-
repeated string usernodes=5;
|
1042
|
+
required string guid=1; /// identifying feed group (eg Geo, Badfellas)
|
1043
|
+
optional string name=2; /// feed name (eg badfellas)
|
1044
|
+
optional string download_rules=3; /// xml file with feed update instructions
|
1045
|
+
repeated string uri=4; /// individual files in config//.. for FileRequest download
|
1046
|
+
repeated string usernodes=5; /// user requesting the feed, the probe0, probe1, etc
|
1047
|
+
optional int64 sub_feed_id=6[default=-1];/// sub feed ID, when a feed consists of several sub-feeds
|
1048
|
+
optional bool restore_mode=7[default=false]; /// restore mode will backup and restore, used with add,remove
|
1049
|
+
|
972
1050
|
}
|
973
1051
|
|
974
1052
|
optional IntelFeed add_feed=2;
|
975
1053
|
optional IntelFeed process_new_feed=3;
|
976
1054
|
optional bool get_all_nodes=4[default=true];
|
977
1055
|
repeated NameValue query_config=5;
|
978
|
-
optional IntelFeed remove_feed=6;
|
979
|
-
|
1056
|
+
optional IntelFeed remove_feed=6;
|
980
1057
|
}
|
981
1058
|
|
982
1059
|
message NodeConfigResponse {
|
@@ -1007,8 +1084,9 @@ message ContextCreateRequest {
|
|
1007
1084
|
/// ContextInfo : one or all contexts
|
1008
1085
|
/// use is_init to prime with config
|
1009
1086
|
message ContextInfoRequest {
|
1010
|
-
optional string context_name=1;
|
1087
|
+
optional string context_name=1; /// if not set all context get in
|
1011
1088
|
optional bool get_size_on_disk=2[default=false]; /// get size on disk (expensive)
|
1089
|
+
optional string tool_name=3; /// get status of this tool, freeform bgp, suricata, snort, udpsink etc..
|
1012
1090
|
}
|
1013
1091
|
|
1014
1092
|
message ContextInfoResponse {
|
@@ -1018,11 +1096,11 @@ message ContextInfoResponse {
|
|
1018
1096
|
{
|
1019
1097
|
required string context_name=1;
|
1020
1098
|
required bool is_initialized=2;
|
1021
|
-
required bool is_running=3;
|
1099
|
+
required bool is_running=3; /// trisul processes runs
|
1022
1100
|
optional int64 size_on_disk=4;
|
1023
1101
|
optional TimeInterval time_interval=5;
|
1024
1102
|
optional bool is_clean=6;
|
1025
|
-
optional string extrainfo=7;
|
1103
|
+
optional string extrainfo=7; /// freeform text output when tool is specified , can be long string
|
1026
1104
|
repeated TimeInterval run_history=8;
|
1027
1105
|
optional string profile=9;
|
1028
1106
|
optional string runmode=10;
|
@@ -1247,9 +1325,11 @@ message RunToolRequest {
|
|
1247
1325
|
DF=2;
|
1248
1326
|
GEOQUERY=3;
|
1249
1327
|
TOP=4;
|
1328
|
+
BGPQUERY=5;
|
1250
1329
|
}
|
1251
1330
|
required NodeTool tool=2; /// which of these tools you want to run on node
|
1252
1331
|
optional string tool_input=3; /// input
|
1332
|
+
optional string tool_input_file_data=4;/// data that goes into a tool input file
|
1253
1333
|
}
|
1254
1334
|
|
1255
1335
|
/// RunToolResponse : ouput
|
data/trisulrp.gemspec
CHANGED
@@ -2,18 +2,18 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: trisulrp 3.2.
|
5
|
+
# stub: trisulrp 3.2.26 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
|
-
s.name = "trisulrp"
|
9
|
-
s.version = "3.2.
|
8
|
+
s.name = "trisulrp".freeze
|
9
|
+
s.version = "3.2.26"
|
10
10
|
|
11
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
|
-
s.require_paths = ["lib"]
|
13
|
-
s.authors = ["vivek"]
|
14
|
-
s.date = "
|
15
|
-
s.description = "This gem deals about the trisul remote protocol"
|
16
|
-
s.email = "vivek_rajagopal@yahoo.com"
|
11
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
12
|
+
s.require_paths = ["lib".freeze]
|
13
|
+
s.authors = ["vivek".freeze]
|
14
|
+
s.date = "2021-04-07"
|
15
|
+
s.description = "This gem deals about the trisul remote protocol".freeze
|
16
|
+
s.email = "vivek_rajagopal@yahoo.com".freeze
|
17
17
|
s.extra_rdoc_files = [
|
18
18
|
"LICENSE.txt",
|
19
19
|
"README.rdoc"
|
@@ -47,33 +47,33 @@ Gem::Specification.new do |s|
|
|
47
47
|
"test/test_trisulrp.rb",
|
48
48
|
"trisulrp.gemspec"
|
49
49
|
]
|
50
|
-
s.homepage = "http://github.com/vivekrajan/trisulrp"
|
51
|
-
s.licenses = ["MIT"]
|
52
|
-
s.rubygems_version = "
|
53
|
-
s.summary = "trisul trp"
|
50
|
+
s.homepage = "http://github.com/vivekrajan/trisulrp".freeze
|
51
|
+
s.licenses = ["MIT".freeze]
|
52
|
+
s.rubygems_version = "3.0.3".freeze
|
53
|
+
s.summary = "trisul trp".freeze
|
54
54
|
|
55
55
|
if s.respond_to? :specification_version then
|
56
56
|
s.specification_version = 4
|
57
57
|
|
58
58
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
59
|
-
s.add_runtime_dependency(%q<protobuf
|
60
|
-
s.add_development_dependency(%q<shoulda
|
61
|
-
s.add_development_dependency(%q<bundler
|
62
|
-
s.add_development_dependency(%q<juwelier
|
63
|
-
s.add_development_dependency(%q<simplecov
|
59
|
+
s.add_runtime_dependency(%q<protobuf>.freeze, [">= 0"])
|
60
|
+
s.add_development_dependency(%q<shoulda>.freeze, [">= 0"])
|
61
|
+
s.add_development_dependency(%q<bundler>.freeze, [">= 0"])
|
62
|
+
s.add_development_dependency(%q<juwelier>.freeze, [">= 0"])
|
63
|
+
s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
|
64
64
|
else
|
65
|
-
s.add_dependency(%q<protobuf
|
66
|
-
s.add_dependency(%q<shoulda
|
67
|
-
s.add_dependency(%q<bundler
|
68
|
-
s.add_dependency(%q<juwelier
|
69
|
-
s.add_dependency(%q<simplecov
|
65
|
+
s.add_dependency(%q<protobuf>.freeze, [">= 0"])
|
66
|
+
s.add_dependency(%q<shoulda>.freeze, [">= 0"])
|
67
|
+
s.add_dependency(%q<bundler>.freeze, [">= 0"])
|
68
|
+
s.add_dependency(%q<juwelier>.freeze, [">= 0"])
|
69
|
+
s.add_dependency(%q<simplecov>.freeze, [">= 0"])
|
70
70
|
end
|
71
71
|
else
|
72
|
-
s.add_dependency(%q<protobuf
|
73
|
-
s.add_dependency(%q<shoulda
|
74
|
-
s.add_dependency(%q<bundler
|
75
|
-
s.add_dependency(%q<juwelier
|
76
|
-
s.add_dependency(%q<simplecov
|
72
|
+
s.add_dependency(%q<protobuf>.freeze, [">= 0"])
|
73
|
+
s.add_dependency(%q<shoulda>.freeze, [">= 0"])
|
74
|
+
s.add_dependency(%q<bundler>.freeze, [">= 0"])
|
75
|
+
s.add_dependency(%q<juwelier>.freeze, [">= 0"])
|
76
|
+
s.add_dependency(%q<simplecov>.freeze, [">= 0"])
|
77
77
|
end
|
78
78
|
end
|
79
79
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trisulrp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.2.
|
4
|
+
version: 3.2.26
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- vivek
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-04-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: protobuf
|
@@ -134,8 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
134
134
|
- !ruby/object:Gem::Version
|
135
135
|
version: '0'
|
136
136
|
requirements: []
|
137
|
-
|
138
|
-
rubygems_version: 2.5.1
|
137
|
+
rubygems_version: 3.0.3
|
139
138
|
signing_key:
|
140
139
|
specification_version: 4
|
141
140
|
summary: trisul trp
|