kessel-sdk 1.4.0 → 1.5.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/README.md +3 -2
- data/lib/google/rpc/status_pb.rb +19 -0
- data/lib/kessel/inventory/v1beta2/check_bulk_request_pb.rb +25 -0
- data/lib/kessel/inventory/v1beta2/check_bulk_response_pb.rb +27 -0
- data/lib/kessel/inventory/v1beta2/inventory_service_pb.rb +3 -1
- data/lib/kessel/inventory/v1beta2/inventory_service_services_pb.rb +14 -0
- data/lib/kessel/rbac/v2.rb +0 -2
- data/lib/kessel/rbac/v2_helpers.rb +4 -0
- data/lib/kessel/rbac/v2_http.rb +2 -0
- data/lib/kessel/version.rb +1 -1
- data/lib/kessel-sdk.rb +2 -0
- metadata +7 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 132faed54cbcf58a49d8df8874313020b7c4def0530aa9a28470bff44a71b5ec
|
|
4
|
+
data.tar.gz: dd16fef5803fc33e4f1a982642e86463899cfdeb931af1f18a824c10fc7b6f43
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d394e1795bb83da7531936fe856daed2c6d290267ab2cb3d79482aa549ac32c48d5a4b1e4e4f26d020fc208e5c6e29f3c2e18dd73cf25eaa60b73b22b4e4c813
|
|
7
|
+
data.tar.gz: d27bc7c50233a369a0ec3cbfb519efc9cbd242e2fde3870374a4e84fb2c801e6e590ef0f6a37d170c6ed7a24b581fa4e5308c4cc085e911e1a3ee4a08c85d928
|
data/README.md
CHANGED
|
@@ -299,8 +299,9 @@ This project follows [Semantic Versioning 2.0.0](https://semver.org/). Version n
|
|
|
299
299
|
|
|
300
300
|
4. **Commit Changes**
|
|
301
301
|
```bash
|
|
302
|
+
export VERSION=$(ruby -e "require_relative './lib/kessel/version.rb'; puts Kessel::Inventory::VERSION")
|
|
302
303
|
git add lib/kessel/version.rb Gemfile.lock
|
|
303
|
-
git commit -m "Release version
|
|
304
|
+
git commit -m "Release version ${VERSION}"
|
|
304
305
|
git push origin main # or git push upstream main
|
|
305
306
|
```
|
|
306
307
|
|
|
@@ -310,7 +311,7 @@ This project follows [Semantic Versioning 2.0.0](https://semver.org/). Version n
|
|
|
310
311
|
gem build kessel-sdk.gemspec
|
|
311
312
|
|
|
312
313
|
# Push to RubyGems (requires RubyGems account and gem ownership)
|
|
313
|
-
gem push kessel-sdk
|
|
314
|
+
gem push kessel-sdk-${VERSION}.gem
|
|
314
315
|
```
|
|
315
316
|
|
|
316
317
|
6. **Tag the Release**
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: google/rpc/status.proto
|
|
4
|
+
|
|
5
|
+
require 'google/protobuf'
|
|
6
|
+
|
|
7
|
+
require 'google/protobuf/any_pb'
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
descriptor_data = "\n\x17google/rpc/status.proto\x12\ngoogle.rpc\x1a\x19google/protobuf/any.proto\"f\n\x06Status\x12\x12\n\x04\x63ode\x18\x01 \x01(\x05R\x04\x63ode\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\x12.\n\x07\x64\x65tails\x18\x03 \x03(\x0b\x32\x14.google.protobuf.AnyR\x07\x64\x65tailsBa\n\x0e\x63om.google.rpcB\x0bStatusProtoP\x01Z7google.golang.org/genproto/googleapis/rpc/status;status\xf8\x01\x01\xa2\x02\x03RPCb\x06proto3"
|
|
11
|
+
|
|
12
|
+
pool = ::Google::Protobuf::DescriptorPool.generated_pool
|
|
13
|
+
pool.add_serialized_file(descriptor_data)
|
|
14
|
+
|
|
15
|
+
module Google
|
|
16
|
+
module Rpc
|
|
17
|
+
Status = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.rpc.Status").msgclass
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: kessel/inventory/v1beta2/check_bulk_request.proto
|
|
4
|
+
|
|
5
|
+
require 'google/protobuf'
|
|
6
|
+
|
|
7
|
+
require 'buf/validate/validate_pb'
|
|
8
|
+
require 'kessel/inventory/v1beta2/resource_reference_pb'
|
|
9
|
+
require 'kessel/inventory/v1beta2/subject_reference_pb'
|
|
10
|
+
require 'kessel/inventory/v1beta2/consistency_pb'
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
descriptor_data = "\n1kessel/inventory/v1beta2/check_bulk_request.proto\x12\x18kessel.inventory.v1beta2\x1a\x1b\x62uf/validate/validate.proto\x1a\x31kessel/inventory/v1beta2/resource_reference.proto\x1a\x30kessel/inventory/v1beta2/subject_reference.proto\x1a*kessel/inventory/v1beta2/consistency.proto\"\xd6\x01\n\x14\x43heckBulkRequestItem\x12K\n\x06object\x18\x01 \x01(\x0b\x32+.kessel.inventory.v1beta2.ResourceReferenceB\x06\xbaH\x03\xc8\x01\x01R\x06object\x12#\n\x08relation\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x08relation\x12L\n\x07subject\x18\x03 \x01(\x0b\x32*.kessel.inventory.v1beta2.SubjectReferenceB\x06\xbaH\x03\xc8\x01\x01R\x07subject\"\xae\x01\n\x10\x43heckBulkRequest\x12Q\n\x05items\x18\x01 \x03(\x0b\x32..kessel.inventory.v1beta2.CheckBulkRequestItemB\x0b\xbaH\x08\x92\x01\x05\x08\x01\x10\xe8\x07R\x05items\x12G\n\x0b\x63onsistency\x18\x02 \x01(\x0b\x32%.kessel.inventory.v1beta2.ConsistencyR\x0b\x63onsistencyBr\n(org.project_kessel.api.inventory.v1beta2P\x01ZDgithub.com/project-kessel/inventory-api/api/kessel/inventory/v1beta2b\x06proto3"
|
|
14
|
+
|
|
15
|
+
pool = ::Google::Protobuf::DescriptorPool.generated_pool
|
|
16
|
+
pool.add_serialized_file(descriptor_data)
|
|
17
|
+
|
|
18
|
+
module Kessel
|
|
19
|
+
module Inventory
|
|
20
|
+
module V1beta2
|
|
21
|
+
CheckBulkRequestItem = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("kessel.inventory.v1beta2.CheckBulkRequestItem").msgclass
|
|
22
|
+
CheckBulkRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("kessel.inventory.v1beta2.CheckBulkRequest").msgclass
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: kessel/inventory/v1beta2/check_bulk_response.proto
|
|
4
|
+
|
|
5
|
+
require 'google/protobuf'
|
|
6
|
+
|
|
7
|
+
require 'kessel/inventory/v1beta2/check_bulk_request_pb'
|
|
8
|
+
require 'kessel/inventory/v1beta2/consistency_token_pb'
|
|
9
|
+
require 'kessel/inventory/v1beta2/allowed_pb'
|
|
10
|
+
require 'buf/validate/validate_pb'
|
|
11
|
+
require 'google/rpc/status_pb'
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
descriptor_data = "\n2kessel/inventory/v1beta2/check_bulk_response.proto\x12\x18kessel.inventory.v1beta2\x1a\x31kessel/inventory/v1beta2/check_bulk_request.proto\x1a\x30kessel/inventory/v1beta2/consistency_token.proto\x1a&kessel/inventory/v1beta2/allowed.proto\x1a\x1b\x62uf/validate/validate.proto\x1a\x17google/rpc/status.proto\"T\n\x15\x43heckBulkResponseItem\x12;\n\x07\x61llowed\x18\x01 \x01(\x0e\x32!.kessel.inventory.v1beta2.AllowedR\x07\x61llowed\"\xe0\x01\n\x15\x43heckBulkResponsePair\x12H\n\x07request\x18\x01 \x01(\x0b\x32..kessel.inventory.v1beta2.CheckBulkRequestItemR\x07request\x12\x45\n\x04item\x18\x02 \x01(\x0b\x32/.kessel.inventory.v1beta2.CheckBulkResponseItemH\x00R\x04item\x12*\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x12.google.rpc.StatusH\x00R\x05\x65rrorB\n\n\x08response\"\xbd\x01\n\x11\x43heckBulkResponse\x12O\n\x05pairs\x18\x01 \x03(\x0b\x32/.kessel.inventory.v1beta2.CheckBulkResponsePairB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x05pairs\x12W\n\x11\x63onsistency_token\x18\x02 \x01(\x0b\x32*.kessel.inventory.v1beta2.ConsistencyTokenR\x10\x63onsistencyTokenBr\n(org.project_kessel.api.inventory.v1beta2P\x01ZDgithub.com/project-kessel/inventory-api/api/kessel/inventory/v1beta2b\x06proto3"
|
|
15
|
+
|
|
16
|
+
pool = ::Google::Protobuf::DescriptorPool.generated_pool
|
|
17
|
+
pool.add_serialized_file(descriptor_data)
|
|
18
|
+
|
|
19
|
+
module Kessel
|
|
20
|
+
module Inventory
|
|
21
|
+
module V1beta2
|
|
22
|
+
CheckBulkResponseItem = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("kessel.inventory.v1beta2.CheckBulkResponseItem").msgclass
|
|
23
|
+
CheckBulkResponsePair = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("kessel.inventory.v1beta2.CheckBulkResponsePair").msgclass
|
|
24
|
+
CheckBulkResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("kessel.inventory.v1beta2.CheckBulkResponse").msgclass
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -15,9 +15,11 @@ require 'kessel/inventory/v1beta2/delete_resource_request_pb'
|
|
|
15
15
|
require 'kessel/inventory/v1beta2/delete_resource_response_pb'
|
|
16
16
|
require 'kessel/inventory/v1beta2/streamed_list_objects_request_pb'
|
|
17
17
|
require 'kessel/inventory/v1beta2/streamed_list_objects_response_pb'
|
|
18
|
+
require 'kessel/inventory/v1beta2/check_bulk_request_pb'
|
|
19
|
+
require 'kessel/inventory/v1beta2/check_bulk_response_pb'
|
|
18
20
|
|
|
19
21
|
|
|
20
|
-
descriptor_data = "\n0kessel/inventory/v1beta2/inventory_service.proto\x12\x18kessel.inventory.v1beta2\x1a\x1cgoogle/api/annotations.proto\x1a,kessel/inventory/v1beta2/check_request.proto\x1a-kessel/inventory/v1beta2/check_response.proto\x1a\x37kessel/inventory/v1beta2/check_for_update_request.proto\x1a\x38kessel/inventory/v1beta2/check_for_update_response.proto\x1a\x36kessel/inventory/v1beta2/report_resource_request.proto\x1a\x37kessel/inventory/v1beta2/report_resource_response.proto\x1a\x36kessel/inventory/v1beta2/delete_resource_request.proto\x1a\x37kessel/inventory/v1beta2/delete_resource_response.proto\x1a<kessel/inventory/v1beta2/streamed_list_objects_request.proto\x1a=kessel/inventory/v1beta2/streamed_list_objects_response.proto2\
|
|
22
|
+
descriptor_data = "\n0kessel/inventory/v1beta2/inventory_service.proto\x12\x18kessel.inventory.v1beta2\x1a\x1cgoogle/api/annotations.proto\x1a,kessel/inventory/v1beta2/check_request.proto\x1a-kessel/inventory/v1beta2/check_response.proto\x1a\x37kessel/inventory/v1beta2/check_for_update_request.proto\x1a\x38kessel/inventory/v1beta2/check_for_update_response.proto\x1a\x36kessel/inventory/v1beta2/report_resource_request.proto\x1a\x37kessel/inventory/v1beta2/report_resource_response.proto\x1a\x36kessel/inventory/v1beta2/delete_resource_request.proto\x1a\x37kessel/inventory/v1beta2/delete_resource_response.proto\x1a<kessel/inventory/v1beta2/streamed_list_objects_request.proto\x1a=kessel/inventory/v1beta2/streamed_list_objects_response.proto\x1a\x31kessel/inventory/v1beta2/check_bulk_request.proto\x1a\x32kessel/inventory/v1beta2/check_bulk_response.proto2\xa5\x07\n\x16KesselInventoryService\x12\x81\x01\n\x05\x43heck\x12&.kessel.inventory.v1beta2.CheckRequest\x1a\'.kessel.inventory.v1beta2.CheckResponse\"\'\x82\xd3\xe4\x93\x02!\"\x1c/api/inventory/v1beta2/check:\x01*\x12\xa5\x01\n\x0e\x43heckForUpdate\x12/.kessel.inventory.v1beta2.CheckForUpdateRequest\x1a\x30.kessel.inventory.v1beta2.CheckForUpdateResponse\"0\x82\xd3\xe4\x93\x02*\"%/api/inventory/v1beta2/checkforupdate:\x01*\x12\x91\x01\n\tCheckBulk\x12*.kessel.inventory.v1beta2.CheckBulkRequest\x1a+.kessel.inventory.v1beta2.CheckBulkResponse\"+\x82\xd3\xe4\x93\x02%\" /api/inventory/v1beta2/checkbulk:\x01*\x12\xa0\x01\n\x0eReportResource\x12/.kessel.inventory.v1beta2.ReportResourceRequest\x1a\x30.kessel.inventory.v1beta2.ReportResourceResponse\"+\x82\xd3\xe4\x93\x02%\" /api/inventory/v1beta2/resources:\x01*\x12\xa0\x01\n\x0e\x44\x65leteResource\x12/.kessel.inventory.v1beta2.DeleteResourceRequest\x1a\x30.kessel.inventory.v1beta2.DeleteResourceResponse\"+\x82\xd3\xe4\x93\x02%* /api/inventory/v1beta2/resources:\x01*\x12\x84\x01\n\x13StreamedListObjects\x12\x34.kessel.inventory.v1beta2.StreamedListObjectsRequest\x1a\x35.kessel.inventory.v1beta2.StreamedListObjectsResponse0\x01\x42r\n(org.project_kessel.api.inventory.v1beta2P\x01ZDgithub.com/project-kessel/inventory-api/api/kessel/inventory/v1beta2b\x06proto3"
|
|
21
23
|
|
|
22
24
|
pool = ::Google::Protobuf::DescriptorPool.generated_pool
|
|
23
25
|
pool.add_serialized_file(descriptor_data)
|
|
@@ -39,6 +39,20 @@ module Kessel
|
|
|
39
39
|
# It is intended to be used just prior to sensitive operation (e.g., update, delete)
|
|
40
40
|
# which depend on the current state of the relationship.
|
|
41
41
|
rpc :CheckForUpdate, ::Kessel::Inventory::V1beta2::CheckForUpdateRequest, ::Kessel::Inventory::V1beta2::CheckForUpdateResponse
|
|
42
|
+
# Performs bulk permission checks for multiple resource-subject-relation combinations.
|
|
43
|
+
#
|
|
44
|
+
# This API is more efficient than making individual Check calls when verifying permissions
|
|
45
|
+
# for multiple items. It answers questions like:
|
|
46
|
+
# "Which of these resources can subject *X* perform action *Y* on?"
|
|
47
|
+
#
|
|
48
|
+
# Common use cases include:
|
|
49
|
+
# - Filtering lists based on user permissions
|
|
50
|
+
# - Batch authorization checks before performing bulk operations
|
|
51
|
+
# - Dashboard rendering with multiple permission checks
|
|
52
|
+
# - Pre-authorization for UI components
|
|
53
|
+
#
|
|
54
|
+
# The response includes a result for each item in the request, maintaining the same order.
|
|
55
|
+
rpc :CheckBulk, ::Kessel::Inventory::V1beta2::CheckBulkRequest, ::Kessel::Inventory::V1beta2::CheckBulkResponse
|
|
42
56
|
# Reports to Kessel Inventory that a Resource has been created or has been updated.
|
|
43
57
|
#
|
|
44
58
|
# Reporters can use this API to report facts about their resources in order to
|
data/lib/kessel/rbac/v2.rb
CHANGED
data/lib/kessel/rbac/v2_http.rb
CHANGED
data/lib/kessel/version.rb
CHANGED
data/lib/kessel-sdk.rb
CHANGED
metadata
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kessel-sdk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.5.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-
|
|
11
|
+
date: 2025-11-21 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: grpc
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- - "
|
|
17
|
+
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
19
|
version: 1.73.0
|
|
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
26
|
version: 1.73.0
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
@@ -206,6 +206,7 @@ files:
|
|
|
206
206
|
- lib/google/api/annotations_pb.rb
|
|
207
207
|
- lib/google/api/field_behavior_pb.rb
|
|
208
208
|
- lib/google/api/http_pb.rb
|
|
209
|
+
- lib/google/rpc/status_pb.rb
|
|
209
210
|
- lib/kessel-sdk.rb
|
|
210
211
|
- lib/kessel/auth.rb
|
|
211
212
|
- lib/kessel/grpc.rb
|
|
@@ -237,6 +238,8 @@ files:
|
|
|
237
238
|
- lib/kessel/inventory/v1beta1/resources/resource_label_pb.rb
|
|
238
239
|
- lib/kessel/inventory/v1beta2.rb
|
|
239
240
|
- lib/kessel/inventory/v1beta2/allowed_pb.rb
|
|
241
|
+
- lib/kessel/inventory/v1beta2/check_bulk_request_pb.rb
|
|
242
|
+
- lib/kessel/inventory/v1beta2/check_bulk_response_pb.rb
|
|
240
243
|
- lib/kessel/inventory/v1beta2/check_for_update_request_pb.rb
|
|
241
244
|
- lib/kessel/inventory/v1beta2/check_for_update_response_pb.rb
|
|
242
245
|
- lib/kessel/inventory/v1beta2/check_request_pb.rb
|