lsslog 0.1.6 → 0.3.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fbddb05ebae4c811f7633a4c4324d70aa573cefdbff89f214466073aee2c14d0
4
- data.tar.gz: 963b1153ce2a32f2c5fc36f57819afa158187726e8970fa16e9df382ed7f0ad9
3
+ metadata.gz: 87e57a00fb4cc715698c794babca250f471533bae62cb2f9d7b13537af22833d
4
+ data.tar.gz: efd872afe90fa52073771f59b8de8cfb1b2d22f06b6b7e8e55956cb36310d6e3
5
5
  SHA512:
6
- metadata.gz: 5ff9e997c47852ee1277b8e716d204486c1613cef6c9986ecaa3d894d7c1cbb6d2bd231ea9d95d6bcc63f94d529d6a420298d352be122397e61d3a1d504e8962
7
- data.tar.gz: 6979b53ce59f7beb421ec86f486df1b51072cbd5b23382454014a066f071fc716a0488335c2543509d5e5d203fb95445337cb5c3c3be2185a7c141c7e78643b6
6
+ metadata.gz: 3250f25988bf297c86a0365f7a5149d211c2b750648ffd861bed97121af3e83c99d850fbd2a788fe2cce38078472088dcd747d3320a86c87991d3a5229d35fcb
7
+ data.tar.gz: a20d73281369e39041ecbf80911815858163e55ccebc5427457c85948697b382c715abf0ebbff1199ab9fa038c6a866b18fbcb2ce29247c587d2bb938614b9ee
@@ -0,0 +1,35 @@
1
+ require 'grpc'
2
+ require "lsslog_services_pb"
3
+
4
+ module Lsslog
5
+ module Services
6
+ module V2
7
+ class Base
8
+ attr_reader :client
9
+
10
+ def initialize
11
+ @client = ::Lsslog::V2::Stub.new(lss_host, :this_channel_is_insecure)
12
+ end
13
+
14
+ def self.call(*args)
15
+ response = new.call(*args)
16
+
17
+ Lsslog.logger.info "#{self.name.demodulize}: #{response.to_json}"
18
+
19
+ response
20
+ rescue GRPC::BadStatus => e
21
+ Lsslog.logger.info "ERROR: #{e.message}"
22
+ end
23
+
24
+ private
25
+
26
+ def lss_host
27
+ @lss_host ||= ::Lsslog.configuration.lss_host
28
+ raise 'Lsslog.configuration.lss_host is missing' unless @lss_host
29
+
30
+ @lss_host
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,11 @@
1
+ module Lsslog
2
+ module Services
3
+ module V2
4
+ class Log < ::Lsslog::Services::V2::Base
5
+ def call(message)
6
+ client.log(Lsslog::LogVer2.new(message))
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -1,3 +1,3 @@
1
1
  module Lsslog
2
- VERSION = "0.1.6"
2
+ VERSION = "0.3.0"
3
3
  end
data/lib/lsslog.rb CHANGED
@@ -10,6 +10,9 @@ require 'lsslog/services/set_lss_config'
10
10
  require 'lsslog/services/set_trans_exp_time'
11
11
  require 'lsslog/services/write_log'
12
12
 
13
+ require 'lsslog/services/v2/base'
14
+ require 'lsslog/services/v2/log'
15
+
13
16
  module Lsslog
14
17
  class Error < StandardError; end
15
18
 
data/lib/lsslog_pb.rb CHANGED
@@ -1,96 +1,16 @@
1
+ # frozen_string_literal: true
1
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
3
  # source: lsslog.proto
3
4
 
4
5
  require 'google/protobuf'
5
6
 
6
- Google::Protobuf::DescriptorPool.generated_pool.build do
7
- add_file("lsslog.proto", :syntax => :proto3) do
8
- add_message "lsslog.LssLog" do
9
- optional :transaction_id, :string, 1
10
- optional :flow_id, :string, 3
11
- optional :subflow_id, :string, 4
12
- optional :flow_dir, :enum, 2, "lsslog.FlowDirection"
13
- optional :flow_depth, :int32, 5
14
- optional :system_id, :string, 6
15
- optional :flow_body, :string, 7
16
- optional :request_method, :string, 8
17
- optional :request_url, :string, 9
18
- optional :status, :int32, 10
19
- optional :response_size, :int64, 11
20
- optional :user_agent, :string, 12
21
- optional :remote_ip, :string, 13
22
- optional :server_ip, :string, 14
23
- optional :latency, :int32, 15
24
- optional :protocol, :string, 16
25
- optional :start_time, :int64, 17
26
- optional :end_time, :int64, 18
27
- optional :created_at, :int64, 19
28
- optional :recevied_at, :int64, 20
29
- optional :is_completed, :bool, 21
30
- optional :tenant_id, :string, 22
31
- end
32
- add_message "lsslog.LssRes" do
33
- optional :body, :string, 1
34
- optional :code, :int32, 2
35
- end
36
- add_message "lsslog.VersionOut" do
37
- optional :api_verion, :string, 1
38
- optional :branch, :string, 2
39
- optional :commit, :string, 3
40
- optional :date, :string, 4
41
- optional :go_version, :string, 5
42
- optional :os_arch, :string, 6
43
- end
44
- add_message "lsslog.EmptyIn" do
45
- end
46
- add_message "lsslog.TransExpTime" do
47
- optional :flow_exp_time, :int32, 1
48
- optional :subflow_exp_time, :int32, 2
49
- end
50
- add_message "lsslog.LssConfig" do
51
- optional :flow_id, :string, 1
52
- optional :flow_name, :string, 2
53
- optional :enforce_sequence, :bool, 3
54
- optional :number_subflow, :int32, 4
55
- end
56
- add_message "lsslog.LssConfigRes" do
57
- repeated :data, :message, 1, "lsslog.LssConfig"
58
- optional :trans_exp_time, :message, 2, "lsslog.TransExpTime"
59
- end
60
- add_message "lsslog.ProdDetails" do
61
- optional :sku, :string, 1
62
- optional :vm_id, :string, 2
63
- optional :stg_id, :string, 3
64
- optional :nat_gw_id, :string, 4
65
- optional :peer_id, :string, 5
66
- optional :ec_id, :string, 6
67
- optional :subnet_id, :string, 7
68
- optional :elastic_ipa, :string, 8
69
- optional :nic_id, :string, 9
70
- optional :workload_id, :string, 10
71
- end
72
- add_message "lsslog.PurchasedItem" do
73
- optional :zone_id, :string, 1
74
- optional :region_id, :string, 2
75
- optional :item_cnt, :string, 3
76
- repeated :skus, :string, 5
77
- optional :detail, :message, 6, "lsslog.ProdDetails"
78
- end
79
- add_message "lsslog.ProdTransaction" do
80
- optional :transaction_id, :string, 1
81
- optional :tenant_id, :string, 2
82
- repeated :details, :message, 3, "lsslog.PurchasedItem"
83
- optional :region_id, :string, 4
84
- optional :zone_id, :string, 5
85
- optional :provisioned_at, :int64, 6
86
- optional :created_at, :int64, 7
87
- end
88
- add_enum "lsslog.FlowDirection" do
89
- value :REQUEST, 0
90
- value :RESPONSE, 1
91
- end
92
- end
93
- end
7
+ require 'google/protobuf/struct_pb'
8
+
9
+
10
+ descriptor_data = "\n\x0clsslog.proto\x12\x06lsslog\x1a\x1cgoogle/protobuf/struct.proto\"\xd1\x03\n\x06LssLog\x12\x16\n\x0etransaction_id\x18\x01 \x01(\t\x12\x0f\n\x07\x66low_id\x18\x03 \x01(\t\x12\x12\n\nsubflow_id\x18\x04 \x01(\t\x12\'\n\x08\x66low_dir\x18\x02 \x01(\x0e\x32\x15.lsslog.FlowDirection\x12\x12\n\nflow_depth\x18\x05 \x01(\x05\x12\x11\n\tsystem_id\x18\x06 \x01(\t\x12\x11\n\tflow_body\x18\x07 \x01(\t\x12\x16\n\x0erequest_method\x18\x08 \x01(\t\x12\x13\n\x0brequest_url\x18\t \x01(\t\x12\x0e\n\x06status\x18\n \x01(\x05\x12\x15\n\rresponse_size\x18\x0b \x01(\x03\x12\x12\n\nuser_agent\x18\x0c \x01(\t\x12\x11\n\tremote_ip\x18\r \x01(\t\x12\x11\n\tserver_ip\x18\x0e \x01(\t\x12\x0f\n\x07latency\x18\x0f \x01(\x05\x12\x10\n\x08protocol\x18\x10 \x01(\t\x12\x12\n\nstart_time\x18\x11 \x01(\x03\x12\x10\n\x08\x65nd_time\x18\x12 \x01(\x03\x12\x12\n\ncreated_at\x18\x13 \x01(\x03\x12\x13\n\x0brecevied_at\x18\x14 \x01(\x03\x12\x14\n\x0cis_completed\x18\x15 \x01(\x08\x12\x11\n\ttenant_id\x18\x16 \x01(\t\"$\n\x06LssRes\x12\x0c\n\x04\x62ody\x18\x01 \x01(\t\x12\x0c\n\x04\x63ode\x18\x02 \x01(\x05\"s\n\nVersionOut\x12\x12\n\napi_verion\x18\x01 \x01(\t\x12\x0e\n\x06\x62ranch\x18\x02 \x01(\t\x12\x0e\n\x06\x63ommit\x18\x03 \x01(\t\x12\x0c\n\x04\x64\x61te\x18\x04 \x01(\t\x12\x12\n\ngo_version\x18\x05 \x01(\t\x12\x0f\n\x07os_arch\x18\x06 \x01(\t\"\t\n\x07\x45mptyIn\"?\n\x0cTransExpTime\x12\x15\n\rflow_exp_time\x18\x01 \x01(\x05\x12\x18\n\x10subflow_exp_time\x18\x02 \x01(\x05\"a\n\tLssConfig\x12\x0f\n\x07\x66low_id\x18\x01 \x01(\t\x12\x11\n\tflow_name\x18\x02 \x01(\t\x12\x18\n\x10\x65nforce_sequence\x18\x03 \x01(\x08\x12\x16\n\x0enumber_subflow\x18\x04 \x01(\x05\"]\n\x0cLssConfigRes\x12\x1f\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32\x11.lsslog.LssConfig\x12,\n\x0etrans_exp_time\x18\x02 \x01(\x0b\x32\x14.lsslog.TransExpTime\"\xb9\x01\n\x0bProdDetails\x12\x0b\n\x03sku\x18\x01 \x01(\t\x12\r\n\x05vm_id\x18\x02 \x01(\t\x12\x0e\n\x06stg_id\x18\x03 \x01(\t\x12\x11\n\tnat_gw_id\x18\x04 \x01(\t\x12\x0f\n\x07peer_id\x18\x05 \x01(\t\x12\r\n\x05\x65\x63_id\x18\x06 \x01(\t\x12\x11\n\tsubnet_id\x18\x07 \x01(\t\x12\x13\n\x0b\x65lastic_ipa\x18\x08 \x01(\t\x12\x0e\n\x06nic_id\x18\t \x01(\t\x12\x13\n\x0bworkload_id\x18\n \x01(\t\"x\n\rPurchasedItem\x12\x0f\n\x07zone_id\x18\x01 \x01(\t\x12\x11\n\tregion_id\x18\x02 \x01(\t\x12\x10\n\x08item_cnt\x18\x03 \x01(\t\x12\x0c\n\x04skus\x18\x05 \x03(\t\x12#\n\x06\x64\x65tail\x18\x06 \x01(\x0b\x32\x13.lsslog.ProdDetails\"\xb4\x01\n\x0fProdTransaction\x12\x16\n\x0etransaction_id\x18\x01 \x01(\t\x12\x11\n\ttenant_id\x18\x02 \x01(\t\x12&\n\x07\x64\x65tails\x18\x03 \x03(\x0b\x32\x15.lsslog.PurchasedItem\x12\x11\n\tregion_id\x18\x04 \x01(\t\x12\x0f\n\x07zone_id\x18\x05 \x01(\t\x12\x16\n\x0eprovisioned_at\x18\x06 \x01(\x03\x12\x12\n\ncreated_at\x18\x07 \x01(\x03\"x\n\x07LogVer2\x12\x10\n\x08severity\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\t\x12\x0b\n\x03\x61pi\x18\x03 \x01(\t\x12\x11\n\tcomponent\x18\x04 \x01(\t\x12(\n\x07message\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\"0\n\x0fLogResponseVer2\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\r**\n\rFlowDirection\x12\x0b\n\x07REQUEST\x10\x00\x12\x0c\n\x08RESPONSE\x10\x01\x32\x98\x03\n\rLssLogService\x12,\n\x08WriteLog\x12\x0e.lsslog.LssLog\x1a\x0e.lsslog.LssRes\"\x00\x12\x33\n\nGetVersion\x12\x0f.lsslog.EmptyIn\x1a\x12.lsslog.VersionOut\"\x00\x12\x33\n\x0cSetLssConfig\x12\x11.lsslog.LssConfig\x1a\x0e.lsslog.LssRes\"\x00\x12\x39\n\x0cGetLssConfig\x12\x11.lsslog.LssConfig\x1a\x14.lsslog.LssConfigRes\"\x00\x12\x36\n\x0fRemoveLssConfig\x12\x11.lsslog.LssConfig\x1a\x0e.lsslog.LssRes\"\x00\x12\x39\n\x0fSetTransExpTime\x12\x14.lsslog.TransExpTime\x1a\x0e.lsslog.LssRes\"\x00\x12\x41\n\x14WriteProdTransaction\x12\x17.lsslog.ProdTransaction\x1a\x0e.lsslog.LssRes\"\x00\x32\x37\n\x02V2\x12\x31\n\x03Log\x12\x0f.lsslog.LogVer2\x1a\x17.lsslog.LogResponseVer2\"\x00\x62\x06proto3"
11
+
12
+ pool = Google::Protobuf::DescriptorPool.generated_pool
13
+ pool.add_serialized_file(descriptor_data)
94
14
 
95
15
  module Lsslog
96
16
  LssLog = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lsslog.LssLog").msgclass
@@ -103,5 +23,7 @@ module Lsslog
103
23
  ProdDetails = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lsslog.ProdDetails").msgclass
104
24
  PurchasedItem = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lsslog.PurchasedItem").msgclass
105
25
  ProdTransaction = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lsslog.ProdTransaction").msgclass
26
+ LogVer2 = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lsslog.LogVer2").msgclass
27
+ LogResponseVer2 = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lsslog.LogResponseVer2").msgclass
106
28
  FlowDirection = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lsslog.FlowDirection").enummodule
107
29
  end
@@ -8,7 +8,7 @@ module Lsslog
8
8
  module LssLogService
9
9
  class Service
10
10
 
11
- include GRPC::GenericService
11
+ include ::GRPC::GenericService
12
12
 
13
13
  self.marshal_class_method = :encode
14
14
  self.unmarshal_class_method = :decode
@@ -23,6 +23,20 @@ module Lsslog
23
23
  rpc :WriteProdTransaction, ::Lsslog::ProdTransaction, ::Lsslog::LssRes
24
24
  end
25
25
 
26
+ Stub = Service.rpc_stub_class
27
+ end
28
+ module V2
29
+ class Service
30
+
31
+ include ::GRPC::GenericService
32
+
33
+ self.marshal_class_method = :encode
34
+ self.unmarshal_class_method = :decode
35
+ self.service_name = 'lsslog.V2'
36
+
37
+ rpc :Log, ::Lsslog::LogVer2, ::Lsslog::LogResponseVer2
38
+ end
39
+
26
40
  Stub = Service.rpc_stub_class
27
41
  end
28
42
  end
data/lsslog-0.1.6.gem ADDED
Binary file
data/lsslog-0.2.0.gem ADDED
Binary file
data/lsslog.gemspec CHANGED
@@ -33,12 +33,12 @@ Gem::Specification.new do |spec|
33
33
  spec.require_paths = ["lib"]
34
34
 
35
35
  spec.platform = Gem::Platform::RUBY
36
- spec.required_ruby_version = ">= 2.7.0"
36
+ spec.required_ruby_version = ">= 3.0.0"
37
37
 
38
- spec.add_dependency "google-protobuf", "~> 3.18.0"
39
- spec.add_dependency "grpc", "~> 1.43.1"
38
+ spec.add_dependency "google-protobuf", "~> 4.29"
39
+ spec.add_dependency "grpc", "~> 1.68"
40
40
 
41
- spec.add_development_dependency "grpc-tools", "~> 1.35"
41
+ spec.add_development_dependency "grpc-tools", "~> 1.68"
42
42
  spec.add_development_dependency "bundler", "~> 2.4"
43
- spec.add_development_dependency "rake", "~> 10.0"
43
+ spec.add_development_dependency "rake", "~> 13.0"
44
44
  end
data/proto/lsslog.proto CHANGED
@@ -1,5 +1,6 @@
1
1
  syntax = "proto3";
2
2
  package lsslog;
3
+ import "google/protobuf/struct.proto";
3
4
 
4
5
  enum FlowDirection {
5
6
  REQUEST = 0;
@@ -95,6 +96,19 @@ message ProdTransaction {
95
96
  int64 created_at = 7;
96
97
  }
97
98
 
99
+ message LogVer2 {
100
+ string severity = 1;
101
+ string timestamp = 2;
102
+ string api = 3;
103
+ string component = 4;
104
+ google.protobuf.Struct message = 5;
105
+ }
106
+
107
+ message LogResponseVer2 {
108
+ string id = 1;
109
+ uint32 timestamp = 2;
110
+ }
111
+
98
112
  service LssLogService {
99
113
  rpc WriteLog(LssLog) returns (LssRes) {};
100
114
  rpc GetVersion(EmptyIn) returns (VersionOut) {};
@@ -104,3 +118,7 @@ service LssLogService {
104
118
  rpc SetTransExpTime(TransExpTime) returns (LssRes) {};
105
119
  rpc WriteProdTransaction(ProdTransaction) returns (LssRes) {};
106
120
  }
121
+
122
+ service V2 {
123
+ rpc Log(LogVer2) returns (LogResponseVer2) {};
124
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lsslog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thanh Ngo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-04-25 00:00:00.000000000 Z
11
+ date: 2026-01-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-protobuf
@@ -16,42 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 3.18.0
19
+ version: '4.29'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 3.18.0
26
+ version: '4.29'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: grpc
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.43.1
33
+ version: '1.68'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.43.1
40
+ version: '1.68'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: grpc-tools
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.35'
47
+ version: '1.68'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.35'
54
+ version: '1.68'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '10.0'
75
+ version: '13.0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '10.0'
82
+ version: '13.0'
83
83
  description: Lsslog Ruby Client
84
84
  email:
85
85
  - thanhngo@innogram.com
@@ -101,6 +101,8 @@ files:
101
101
  - lib/lsslog/services/remove_lss_config.rb
102
102
  - lib/lsslog/services/set_lss_config.rb
103
103
  - lib/lsslog/services/set_trans_exp_time.rb
104
+ - lib/lsslog/services/v2/base.rb
105
+ - lib/lsslog/services/v2/log.rb
104
106
  - lib/lsslog/services/write_log.rb
105
107
  - lib/lsslog/services/write_prod_transaction.rb
106
108
  - lib/lsslog/version.rb
@@ -111,6 +113,8 @@ files:
111
113
  - lsslog-0.1.3.gem
112
114
  - lsslog-0.1.3.pre.rc1.gem
113
115
  - lsslog-0.1.5.gem
116
+ - lsslog-0.1.6.gem
117
+ - lsslog-0.2.0.gem
114
118
  - lsslog.gemspec
115
119
  - proto/README.md
116
120
  - proto/lsslog.proto
@@ -125,14 +129,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
125
129
  requirements:
126
130
  - - ">="
127
131
  - !ruby/object:Gem::Version
128
- version: 2.7.0
132
+ version: 3.0.0
129
133
  required_rubygems_version: !ruby/object:Gem::Requirement
130
134
  requirements:
131
135
  - - ">="
132
136
  - !ruby/object:Gem::Version
133
137
  version: '0'
134
138
  requirements: []
135
- rubygems_version: 3.1.6
139
+ rubygems_version: 3.5.11
136
140
  signing_key:
137
141
  specification_version: 4
138
142
  summary: Lsslog Ruby Client