kessel-sdk 1.1.0 → 1.2.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 +4 -4
- data/lib/kessel/inventory/v1.rb +16 -0
- data/lib/kessel/inventory/v1beta1.rb +30 -0
- data/lib/kessel/inventory/v1beta2.rb +16 -0
- data/lib/kessel/inventory.rb +71 -0
- data/lib/kessel/version.rb +1 -1
- data/lib/kessel-sdk.rb +3 -3
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3800bae939865b2cd83bfb60a4587e80c946506209ea91a137ffa595a94ae771
|
4
|
+
data.tar.gz: bfdff251174a21a9e719e1cf82ff5c861f7092c2017e0b3770aac264cfc0eee1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1e727e72dc99cc3f98411a0913695259fa21aefbe8189862a5c55ccab8f8419462777d8e7d7ec96453030eada05cb28ea0b85e15ad306aac9aeb547810bbf3c4
|
7
|
+
data.tar.gz: b80c52e4e3f8632499df4eb95f409067662e02763dfa8fc52056961ab2fd3edf8894ab8e9abf5f580792e335b43294e4a3250707efd1a14c32fb93743808c816
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'kessel/inventory'
|
4
|
+
require 'kessel/inventory/v1/health_services_pb'
|
5
|
+
|
6
|
+
include Kessel::Inventory
|
7
|
+
|
8
|
+
module Kessel
|
9
|
+
module Inventory
|
10
|
+
module V1
|
11
|
+
module KesselInventoryHealthService
|
12
|
+
ClientBuilder = ::Kessel::Inventory.client_builder_for_stub(Stub)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'kessel/inventory'
|
4
|
+
require 'kessel/inventory/v1beta1/relationships/k8spolicy_ispropagatedto_k8scluster_service_services_pb'
|
5
|
+
require 'kessel/inventory/v1beta1/resources/k8s_clusters_service_services_pb'
|
6
|
+
require 'kessel/inventory/v1beta1/resources/k8s_policies_service_services_pb'
|
7
|
+
|
8
|
+
include Kessel::Inventory
|
9
|
+
|
10
|
+
module Kessel
|
11
|
+
module Inventory
|
12
|
+
module V1beta1
|
13
|
+
module Relationships
|
14
|
+
module KesselK8SPolicyIsPropagatedToK8SClusterService
|
15
|
+
ClientBuilder = ::Kessel::Inventory.client_builder_for_stub(Stub)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
module Resources
|
20
|
+
module KesselK8sClusterService
|
21
|
+
ClientBuilder = ::Kessel::Inventory.client_builder_for_stub(Stub)
|
22
|
+
end
|
23
|
+
|
24
|
+
module KesselK8sPolicyService
|
25
|
+
ClientBuilder = ::Kessel::Inventory.client_builder_for_stub(Stub)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'kessel/inventory'
|
4
|
+
require 'kessel/inventory/v1beta2/inventory_service_services_pb'
|
5
|
+
|
6
|
+
include Kessel::Inventory
|
7
|
+
|
8
|
+
module Kessel
|
9
|
+
module Inventory
|
10
|
+
module V1beta2
|
11
|
+
module KesselInventoryService
|
12
|
+
ClientBuilder = ::Kessel::Inventory.client_builder_for_stub(Stub)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'grpc'
|
4
|
+
require 'kessel/grpc'
|
5
|
+
|
6
|
+
module Kessel
|
7
|
+
module Inventory
|
8
|
+
def client_builder_for_stub(stub_class)
|
9
|
+
builder_class = Class.new(ClientBuilder)
|
10
|
+
builder_class.instance_variable_set(:@stub_class, stub_class)
|
11
|
+
builder_class
|
12
|
+
end
|
13
|
+
|
14
|
+
class ClientBuilder
|
15
|
+
include Kessel::GRPC
|
16
|
+
|
17
|
+
def initialize(target)
|
18
|
+
@target = target
|
19
|
+
raise 'Invalid target type' if @target.nil? || !@target.is_a?(String)
|
20
|
+
end
|
21
|
+
|
22
|
+
def oauth2_client_authenticated(oauth2_client_credentials:, channel_credentials: nil)
|
23
|
+
@call_credentials = oauth2_call_credentials(oauth2_client_credentials)
|
24
|
+
@channel_credentials = channel_credentials
|
25
|
+
validate_credentials
|
26
|
+
self
|
27
|
+
end
|
28
|
+
|
29
|
+
def authenticated(call_credentials: nil, channel_credentials: nil)
|
30
|
+
@call_credentials = call_credentials
|
31
|
+
@channel_credentials = channel_credentials
|
32
|
+
validate_credentials
|
33
|
+
self
|
34
|
+
end
|
35
|
+
|
36
|
+
def unauthenticated(channel_credentials: nil)
|
37
|
+
@call_credentials = nil
|
38
|
+
@channel_credentials = channel_credentials
|
39
|
+
validate_credentials
|
40
|
+
self
|
41
|
+
end
|
42
|
+
|
43
|
+
def insecure
|
44
|
+
@call_credentials = nil
|
45
|
+
@channel_credentials = :this_channel_is_insecure
|
46
|
+
validate_credentials
|
47
|
+
self
|
48
|
+
end
|
49
|
+
|
50
|
+
def build
|
51
|
+
@channel_credentials = ::GRPC::Core::ChannelCredentials.new if @channel_credentials.nil?
|
52
|
+
|
53
|
+
credentials = @channel_credentials
|
54
|
+
credentials = credentials.compose(@call_credentials) unless @call_credentials.nil?
|
55
|
+
self.class.stub_class.new(@target, credentials)
|
56
|
+
end
|
57
|
+
|
58
|
+
private
|
59
|
+
|
60
|
+
class << self
|
61
|
+
attr_reader :stub_class
|
62
|
+
end
|
63
|
+
|
64
|
+
def validate_credentials
|
65
|
+
return unless @channel_credentials == :this_channel_is_insecure && !@call_credentials.nil?
|
66
|
+
|
67
|
+
raise 'Invalid credential configuration: can not authenticate with insecure channel'
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
data/lib/kessel/version.rb
CHANGED
data/lib/kessel-sdk.rb
CHANGED
@@ -4,6 +4,6 @@ require 'kessel/version'
|
|
4
4
|
require 'kessel/grpc'
|
5
5
|
require 'kessel/auth'
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
require 'kessel/inventory/v1'
|
8
|
+
require 'kessel/inventory/v1beta1'
|
9
|
+
require 'kessel/inventory/v1beta2'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kessel-sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Project Kessel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-08-
|
11
|
+
date: 2025-08-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: grpc
|
@@ -211,8 +211,11 @@ files:
|
|
211
211
|
- lib/kessel-sdk.rb
|
212
212
|
- lib/kessel/auth.rb
|
213
213
|
- lib/kessel/grpc.rb
|
214
|
+
- lib/kessel/inventory.rb
|
215
|
+
- lib/kessel/inventory/v1.rb
|
214
216
|
- lib/kessel/inventory/v1/health_pb.rb
|
215
217
|
- lib/kessel/inventory/v1/health_services_pb.rb
|
218
|
+
- lib/kessel/inventory/v1beta1.rb
|
216
219
|
- lib/kessel/inventory/v1beta1/authz/check_pb.rb
|
217
220
|
- lib/kessel/inventory/v1beta1/authz/check_services_pb.rb
|
218
221
|
- lib/kessel/inventory/v1beta1/authz/common_pb.rb
|
@@ -234,6 +237,7 @@ files:
|
|
234
237
|
- lib/kessel/inventory/v1beta1/resources/metadata_pb.rb
|
235
238
|
- lib/kessel/inventory/v1beta1/resources/reporter_data_pb.rb
|
236
239
|
- lib/kessel/inventory/v1beta1/resources/resource_label_pb.rb
|
240
|
+
- lib/kessel/inventory/v1beta2.rb
|
237
241
|
- lib/kessel/inventory/v1beta2/allowed_pb.rb
|
238
242
|
- lib/kessel/inventory/v1beta2/check_for_update_request_pb.rb
|
239
243
|
- lib/kessel/inventory/v1beta2/check_for_update_response_pb.rb
|