kessel-sdk 1.0.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.
Files changed (59) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +201 -0
  3. data/README.md +217 -0
  4. data/lib/buf/validate/expression_pb.rb +19 -0
  5. data/lib/buf/validate/priv/private_pb.rb +22 -0
  6. data/lib/buf/validate/validate_pb.rb +53 -0
  7. data/lib/google/api/annotations_pb.rb +19 -0
  8. data/lib/google/api/field_behavior_pb.rb +19 -0
  9. data/lib/google/api/http_pb.rb +19 -0
  10. data/lib/kessel/inventory/v1/health_pb.rb +24 -0
  11. data/lib/kessel/inventory/v1/health_services_pb.rb +27 -0
  12. data/lib/kessel/inventory/v1beta1/authz/check_pb.rb +30 -0
  13. data/lib/kessel/inventory/v1beta1/authz/check_services_pb.rb +31 -0
  14. data/lib/kessel/inventory/v1beta1/authz/common_pb.rb +30 -0
  15. data/lib/kessel/inventory/v1beta1/relationships/k8spolicy_ispropagatedto_k8scluster_detail_pb.rb +25 -0
  16. data/lib/kessel/inventory/v1beta1/relationships/k8spolicy_ispropagatedto_k8scluster_pb.rb +26 -0
  17. data/lib/kessel/inventory/v1beta1/relationships/k8spolicy_ispropagatedto_k8scluster_service_pb.rb +31 -0
  18. data/lib/kessel/inventory/v1beta1/relationships/k8spolicy_ispropagatedto_k8scluster_service_services_pb.rb +30 -0
  19. data/lib/kessel/inventory/v1beta1/relationships/metadata_pb.rb +25 -0
  20. data/lib/kessel/inventory/v1beta1/relationships/reporter_data_pb.rb +26 -0
  21. data/lib/kessel/inventory/v1beta1/resources/k8s_cluster_detail_nodes_inner_pb.rb +24 -0
  22. data/lib/kessel/inventory/v1beta1/resources/k8s_cluster_detail_pb.rb +27 -0
  23. data/lib/kessel/inventory/v1beta1/resources/k8s_cluster_pb.rb +26 -0
  24. data/lib/kessel/inventory/v1beta1/resources/k8s_clusters_service_pb.rb +31 -0
  25. data/lib/kessel/inventory/v1beta1/resources/k8s_clusters_service_services_pb.rb +30 -0
  26. data/lib/kessel/inventory/v1beta1/resources/k8s_policies_service_pb.rb +31 -0
  27. data/lib/kessel/inventory/v1beta1/resources/k8s_policies_service_services_pb.rb +30 -0
  28. data/lib/kessel/inventory/v1beta1/resources/k8s_policy_detail_pb.rb +24 -0
  29. data/lib/kessel/inventory/v1beta1/resources/k8s_policy_pb.rb +26 -0
  30. data/lib/kessel/inventory/v1beta1/resources/metadata_pb.rb +25 -0
  31. data/lib/kessel/inventory/v1beta1/resources/reporter_data_pb.rb +25 -0
  32. data/lib/kessel/inventory/v1beta1/resources/resource_label_pb.rb +23 -0
  33. data/lib/kessel/inventory/v1beta2/allowed_pb.rb +19 -0
  34. data/lib/kessel/inventory/v1beta2/check_for_update_request_pb.rb +23 -0
  35. data/lib/kessel/inventory/v1beta2/check_for_update_response_pb.rb +21 -0
  36. data/lib/kessel/inventory/v1beta2/check_request_pb.rb +23 -0
  37. data/lib/kessel/inventory/v1beta2/check_response_pb.rb +21 -0
  38. data/lib/kessel/inventory/v1beta2/consistency_pb.rb +22 -0
  39. data/lib/kessel/inventory/v1beta2/consistency_token_pb.rb +21 -0
  40. data/lib/kessel/inventory/v1beta2/delete_resource_request_pb.rb +22 -0
  41. data/lib/kessel/inventory/v1beta2/delete_resource_response_pb.rb +19 -0
  42. data/lib/kessel/inventory/v1beta2/inventory_service_pb.rb +30 -0
  43. data/lib/kessel/inventory/v1beta2/inventory_service_services_pb.rb +100 -0
  44. data/lib/kessel/inventory/v1beta2/report_resource_request_pb.rb +23 -0
  45. data/lib/kessel/inventory/v1beta2/report_resource_response_pb.rb +19 -0
  46. data/lib/kessel/inventory/v1beta2/reporter_reference_pb.rb +21 -0
  47. data/lib/kessel/inventory/v1beta2/representation_metadata_pb.rb +21 -0
  48. data/lib/kessel/inventory/v1beta2/representation_type_pb.rb +21 -0
  49. data/lib/kessel/inventory/v1beta2/request_pagination_pb.rb +21 -0
  50. data/lib/kessel/inventory/v1beta2/resource_reference_pb.rb +22 -0
  51. data/lib/kessel/inventory/v1beta2/resource_representations_pb.rb +23 -0
  52. data/lib/kessel/inventory/v1beta2/response_pagination_pb.rb +19 -0
  53. data/lib/kessel/inventory/v1beta2/streamed_list_objects_request_pb.rb +25 -0
  54. data/lib/kessel/inventory/v1beta2/streamed_list_objects_response_pb.rb +23 -0
  55. data/lib/kessel/inventory/v1beta2/subject_reference_pb.rb +22 -0
  56. data/lib/kessel/inventory/v1beta2/write_visibility_pb.rb +19 -0
  57. data/lib/kessel/version.rb +5 -0
  58. data/lib/kessel-sdk.rb +3 -0
  59. metadata +118 -0
@@ -0,0 +1,100 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: kessel/inventory/v1beta2/inventory_service.proto for package 'kessel.inventory.v1beta2'
3
+
4
+ require 'grpc'
5
+ require 'kessel/inventory/v1beta2/inventory_service_pb'
6
+
7
+ module Kessel
8
+ module Inventory
9
+ module V1beta2
10
+ module KesselInventoryService
11
+ # KesselInventoryService provides APIs to perform relationship checks
12
+ # and manage inventory resource lifecycles (reporting and deletion).
13
+ class Service
14
+
15
+ include ::GRPC::GenericService
16
+
17
+ self.marshal_class_method = :encode
18
+ self.unmarshal_class_method = :decode
19
+ self.service_name = 'kessel.inventory.v1beta2.KesselInventoryService'
20
+
21
+ # Performs an relationship check to determine whether a subject has a specific
22
+ # permission or relationship on a resource.
23
+ #
24
+ # This API evaluates whether the provided subject is a member of the specified relation
25
+ # (e.g., "viewer", "editor", "admin") on the target object. It answers the question:
26
+ # "Does subject *X* have relation *Y* on object *Z*?"
27
+ #
28
+ # Common use cases include enforcing read access, conditional UI visibility,
29
+ # or authorization gating for downstream API calls.
30
+ rpc :Check, ::Kessel::Inventory::V1beta2::CheckRequest, ::Kessel::Inventory::V1beta2::CheckResponse
31
+ # Performs a strongly consistent relationship check to determine whether a subject
32
+ # has a specific relation to an object (representing, for example, a permission).
33
+ #
34
+ # This API answers the question:
35
+ # "Is subject *X* currently authorized to update or modify resource *Y*?"
36
+ # Unlike the basic `Check` endpoint, this method guarantees a fully up-to-date
37
+ # view of the relationship state (e.g., not relying on cached or eventually consistent data).
38
+ #
39
+ # It is intended to be used just prior to sensitive operation (e.g., update, delete)
40
+ # which depend on the current state of the relationship.
41
+ rpc :CheckForUpdate, ::Kessel::Inventory::V1beta2::CheckForUpdateRequest, ::Kessel::Inventory::V1beta2::CheckForUpdateResponse
42
+ # Reports to Kessel Inventory that a Resource has been created or has been updated.
43
+ #
44
+ # Reporters can use this API to report facts about their resources in order to
45
+ # facilitate integration, correlation, and access control.
46
+ #
47
+ # Each call can include:
48
+ # - Reporter-specific attributes and relationships (`representations.reporter`)
49
+ # - Shared attributes and relationships common to all reporters (`representations.common`)
50
+ # - Identifiers and metadata that allow correlation to an existing resource
51
+ #
52
+ # Multiple reporters may report representations for the same resource.
53
+ # Kessel Inventory correlates these
54
+ # based on correlation keys provided for a given resource type
55
+ #
56
+ # All versions of your reported facts will be retained and can be queried as needed
57
+ #
58
+ # The relationships reported through this API are used to determine relationship check outcomes
59
+ # via the Check and CheckForUpdate APIs.
60
+ #
61
+ # Reporters are responsible for ensuring delivery guarantees and message ordering
62
+ # appropriate to the sensitivity and consistency needs of their use case.
63
+ #
64
+ # This API does **not** guarantee immediate read-your-writes consistency by default.
65
+ # If a reporter requires newly submitted resources or relationships to be visible
66
+ # in subsequent checks (e.g., `Check`), the request must explicitly set
67
+ # `write_visibility = IMMEDIATE`.
68
+ #
69
+ #
70
+ rpc :ReportResource, ::Kessel::Inventory::V1beta2::ReportResourceRequest, ::Kessel::Inventory::V1beta2::ReportResourceResponse
71
+ # Reports to Kessel Inventory that a Reporter's representation of a Resource has been deleted.
72
+ #
73
+ # This operation is typically used when a resource has been decommissioned or
74
+ # is no longer reported by any authorized system.
75
+ #
76
+ # As a result, relationship checks performed via the `Check` and
77
+ # `CheckForUpdate` APIs will no longer resolve positively for the deleted
78
+ # resource. Any decisions that depend on relationships tied to
79
+ # this resource will be affected.
80
+ #
81
+ # As an example, it can revoke previously granted access across the system.
82
+ rpc :DeleteResource, ::Kessel::Inventory::V1beta2::DeleteResourceRequest, ::Kessel::Inventory::V1beta2::DeleteResourceResponse
83
+ # Streams a list of objects where the given subject has the specified relation.
84
+ #
85
+ # This relationship query answers the question:
86
+ # "Which objects of type *X* does subject *Y* have the *Z* relation to?"
87
+ #
88
+ # It is often used to power user-facing dashboards, filtered UIs, or policy-driven
89
+ # access lists. The result is streamed incrementally to support large datasets and
90
+ # reduce client-side latency or memory pressure.
91
+ #
92
+ # Pagination and consistency controls allow fine-tuned performance and data freshness.
93
+ rpc :StreamedListObjects, ::Kessel::Inventory::V1beta2::StreamedListObjectsRequest, stream(::Kessel::Inventory::V1beta2::StreamedListObjectsResponse)
94
+ end
95
+
96
+ Stub = Service.rpc_stub_class
97
+ end
98
+ end
99
+ end
100
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: kessel/inventory/v1beta2/report_resource_request.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'kessel/inventory/v1beta2/resource_representations_pb'
8
+ require 'kessel/inventory/v1beta2/write_visibility_pb'
9
+ require 'buf/validate/validate_pb'
10
+
11
+
12
+ descriptor_data = "\n6kessel/inventory/v1beta2/report_resource_request.proto\x12\x18kessel.inventory.v1beta2\x1a\x37kessel/inventory/v1beta2/resource_representations.proto\x1a/kessel/inventory/v1beta2/write_visibility.proto\x1a\x1b\x62uf/validate/validate.proto\"\xbf\x03\n\x15ReportResourceRequest\x12&\n\x0cinventory_id\x18\x01 \x01(\tH\x00R\x0binventoryId\x88\x01\x01\x12-\n\x04type\x18\x02 \x01(\tB\x19\xbaH\x16r\x14\x10\x01\x32\x10^[A-Za-z0-9_-]+$R\x04type\x12>\n\rreporter_type\x18\x03 \x01(\tB\x19\xbaH\x16r\x14\x10\x01\x32\x10^[A-Za-z0-9_-]+$R\x0creporterType\x12\x39\n\x14reporter_instance_id\x18\x04 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x12reporterInstanceId\x12\x63\n\x0frepresentations\x18\x05 \x01(\x0b\x32\x31.kessel.inventory.v1beta2.ResourceRepresentationsB\x06\xbaH\x03\xc8\x01\x01R\x0frepresentations\x12^\n\x10write_visibility\x18\x06 \x01(\x0e\x32).kessel.inventory.v1beta2.WriteVisibilityB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0fwriteVisibilityB\x0f\n\r_inventory_idBr\n(org.project_kessel.api.inventory.v1beta2P\x01ZDgithub.com/project-kessel/inventory-api/api/kessel/inventory/v1beta2b\x06proto3"
13
+
14
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
15
+ pool.add_serialized_file(descriptor_data)
16
+
17
+ module Kessel
18
+ module Inventory
19
+ module V1beta2
20
+ ReportResourceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("kessel.inventory.v1beta2.ReportResourceRequest").msgclass
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: kessel/inventory/v1beta2/report_resource_response.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+
8
+ descriptor_data = "\n7kessel/inventory/v1beta2/report_resource_response.proto\x12\x18kessel.inventory.v1beta2\"\x18\n\x16ReportResourceResponseBr\n(org.project_kessel.api.inventory.v1beta2P\x01ZDgithub.com/project-kessel/inventory-api/api/kessel/inventory/v1beta2b\x06proto3"
9
+
10
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
11
+ pool.add_serialized_file(descriptor_data)
12
+
13
+ module Kessel
14
+ module Inventory
15
+ module V1beta2
16
+ ReportResourceResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("kessel.inventory.v1beta2.ReportResourceResponse").msgclass
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: kessel/inventory/v1beta2/reporter_reference.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'buf/validate/validate_pb'
8
+
9
+
10
+ descriptor_data = "\n1kessel/inventory/v1beta2/reporter_reference.proto\x12\x18kessel.inventory.v1beta2\x1a\x1b\x62uf/validate/validate.proto\"\x8f\x01\n\x11ReporterReference\x12,\n\x04type\x18\x01 \x01(\tB\x18\xbaH\x15r\x13\x10\x01\x32\x0f^[A-Za-z0-9_]+$R\x04type\x12<\n\x0binstance_id\x18\x02 \x01(\tB\x16\xbaH\x13r\x11\x32\x0f^[A-Za-z0-9_]+$H\x00R\ninstanceId\x88\x01\x01\x42\x0e\n\x0c_instance_idBr\n(org.project_kessel.api.inventory.v1beta2P\x01ZDgithub.com/project-kessel/inventory-api/api/kessel/inventory/v1beta2b\x06proto3"
11
+
12
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
13
+ pool.add_serialized_file(descriptor_data)
14
+
15
+ module Kessel
16
+ module Inventory
17
+ module V1beta2
18
+ ReporterReference = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("kessel.inventory.v1beta2.ReporterReference").msgclass
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: kessel/inventory/v1beta2/representation_metadata.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'buf/validate/validate_pb'
8
+
9
+
10
+ descriptor_data = "\n6kessel/inventory/v1beta2/representation_metadata.proto\x12\x18kessel.inventory.v1beta2\x1a\x1b\x62uf/validate/validate.proto\"\xef\x01\n\x16RepresentationMetadata\x12\x33\n\x11local_resource_id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x0flocalResourceId\x12\"\n\x08\x61pi_href\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x07\x61piHref\x12&\n\x0c\x63onsole_href\x18\x03 \x01(\tH\x00R\x0b\x63onsoleHref\x88\x01\x01\x12.\n\x10reporter_version\x18\x04 \x01(\tH\x01R\x0freporterVersion\x88\x01\x01\x42\x0f\n\r_console_hrefB\x13\n\x11_reporter_versionBr\n(org.project_kessel.api.inventory.v1beta2P\x01ZDgithub.com/project-kessel/inventory-api/api/kessel/inventory/v1beta2b\x06proto3"
11
+
12
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
13
+ pool.add_serialized_file(descriptor_data)
14
+
15
+ module Kessel
16
+ module Inventory
17
+ module V1beta2
18
+ RepresentationMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("kessel.inventory.v1beta2.RepresentationMetadata").msgclass
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: kessel/inventory/v1beta2/representation_type.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'buf/validate/validate_pb'
8
+
9
+
10
+ descriptor_data = "\n2kessel/inventory/v1beta2/representation_type.proto\x12\x18kessel.inventory.v1beta2\x1a\x1b\x62uf/validate/validate.proto\"\xa7\x01\n\x12RepresentationType\x12=\n\rresource_type\x18\x01 \x01(\tB\x18\xbaH\x15r\x13\x10\x01\x32\x0f^[A-Za-z0-9_]+$R\x0cresourceType\x12@\n\rreporter_type\x18\x02 \x01(\tB\x16\xbaH\x13r\x11\x32\x0f^[A-Za-z0-9_]+$H\x00R\x0creporterType\x88\x01\x01\x42\x10\n\x0e_reporter_typeBr\n(org.project_kessel.api.inventory.v1beta2P\x01ZDgithub.com/project-kessel/inventory-api/api/kessel/inventory/v1beta2b\x06proto3"
11
+
12
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
13
+ pool.add_serialized_file(descriptor_data)
14
+
15
+ module Kessel
16
+ module Inventory
17
+ module V1beta2
18
+ RepresentationType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("kessel.inventory.v1beta2.RepresentationType").msgclass
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: kessel/inventory/v1beta2/request_pagination.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'buf/validate/validate_pb'
8
+
9
+
10
+ descriptor_data = "\n1kessel/inventory/v1beta2/request_pagination.proto\x12\x18kessel.inventory.v1beta2\x1a\x1b\x62uf/validate/validate.proto\"}\n\x11RequestPagination\x12\x1d\n\x05limit\x18\x01 \x01(\rB\x07\xbaH\x04*\x02 \x00R\x05limit\x12\x32\n\x12\x63ontinuation_token\x18\x02 \x01(\tH\x00R\x11\x63ontinuationToken\x88\x01\x01\x42\x15\n\x13_continuation_tokenBr\n(org.project_kessel.api.inventory.v1beta2P\x01ZDgithub.com/project-kessel/inventory-api/api/kessel/inventory/v1beta2b\x06proto3"
11
+
12
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
13
+ pool.add_serialized_file(descriptor_data)
14
+
15
+ module Kessel
16
+ module Inventory
17
+ module V1beta2
18
+ RequestPagination = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("kessel.inventory.v1beta2.RequestPagination").msgclass
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: kessel/inventory/v1beta2/resource_reference.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'buf/validate/validate_pb'
8
+ require 'kessel/inventory/v1beta2/reporter_reference_pb'
9
+
10
+
11
+ descriptor_data = "\n1kessel/inventory/v1beta2/resource_reference.proto\x12\x18kessel.inventory.v1beta2\x1a\x1b\x62uf/validate/validate.proto\x1a\x31kessel/inventory/v1beta2/reporter_reference.proto\"\xd7\x01\n\x11ResourceReference\x12=\n\rresource_type\x18\x01 \x01(\tB\x18\xbaH\x15r\x13\x10\x01\x32\x0f^[A-Za-z0-9_]+$R\x0cresourceType\x12(\n\x0bresource_id\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\nresourceId\x12L\n\x08reporter\x18\x03 \x01(\x0b\x32+.kessel.inventory.v1beta2.ReporterReferenceH\x00R\x08reporter\x88\x01\x01\x42\x0b\n\t_reporterBr\n(org.project_kessel.api.inventory.v1beta2P\x01ZDgithub.com/project-kessel/inventory-api/api/kessel/inventory/v1beta2b\x06proto3"
12
+
13
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
14
+ pool.add_serialized_file(descriptor_data)
15
+
16
+ module Kessel
17
+ module Inventory
18
+ module V1beta2
19
+ ResourceReference = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("kessel.inventory.v1beta2.ResourceReference").msgclass
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: kessel/inventory/v1beta2/resource_representations.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'google/protobuf/struct_pb'
8
+ require 'kessel/inventory/v1beta2/representation_metadata_pb'
9
+ require 'buf/validate/validate_pb'
10
+
11
+
12
+ descriptor_data = "\n7kessel/inventory/v1beta2/resource_representations.proto\x12\x18kessel.inventory.v1beta2\x1a\x1cgoogle/protobuf/struct.proto\x1a\x36kessel/inventory/v1beta2/representation_metadata.proto\x1a\x1b\x62uf/validate/validate.proto\"\xf7\x01\n\x17ResourceRepresentations\x12T\n\x08metadata\x18\x01 \x01(\x0b\x32\x30.kessel.inventory.v1beta2.RepresentationMetadataB\x06\xbaH\x03\xc8\x01\x01R\x08metadata\x12\x34\n\x06\x63ommon\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructH\x00R\x06\x63ommon\x88\x01\x01\x12\x38\n\x08reporter\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x01R\x08reporter\x88\x01\x01\x42\t\n\x07_commonB\x0b\n\t_reporterBr\n(org.project_kessel.api.inventory.v1beta2P\x01ZDgithub.com/project-kessel/inventory-api/api/kessel/inventory/v1beta2b\x06proto3"
13
+
14
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
15
+ pool.add_serialized_file(descriptor_data)
16
+
17
+ module Kessel
18
+ module Inventory
19
+ module V1beta2
20
+ ResourceRepresentations = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("kessel.inventory.v1beta2.ResourceRepresentations").msgclass
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: kessel/inventory/v1beta2/response_pagination.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+
8
+ descriptor_data = "\n2kessel/inventory/v1beta2/response_pagination.proto\x12\x18kessel.inventory.v1beta2\"C\n\x12ResponsePagination\x12-\n\x12\x63ontinuation_token\x18\x01 \x01(\tR\x11\x63ontinuationTokenBr\n(org.project_kessel.api.inventory.v1beta2P\x01ZDgithub.com/project-kessel/inventory-api/api/kessel/inventory/v1beta2b\x06proto3"
9
+
10
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
11
+ pool.add_serialized_file(descriptor_data)
12
+
13
+ module Kessel
14
+ module Inventory
15
+ module V1beta2
16
+ ResponsePagination = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("kessel.inventory.v1beta2.ResponsePagination").msgclass
17
+ end
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/streamed_list_objects_request.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'buf/validate/validate_pb'
8
+ require 'kessel/inventory/v1beta2/request_pagination_pb'
9
+ require 'kessel/inventory/v1beta2/subject_reference_pb'
10
+ require 'kessel/inventory/v1beta2/consistency_pb'
11
+ require 'kessel/inventory/v1beta2/representation_type_pb'
12
+
13
+
14
+ descriptor_data = "\n<kessel/inventory/v1beta2/streamed_list_objects_request.proto\x12\x18kessel.inventory.v1beta2\x1a\x1b\x62uf/validate/validate.proto\x1a\x31kessel/inventory/v1beta2/request_pagination.proto\x1a\x30kessel/inventory/v1beta2/subject_reference.proto\x1a*kessel/inventory/v1beta2/consistency.proto\x1a\x32kessel/inventory/v1beta2/representation_type.proto\"\xa5\x03\n\x1aStreamedListObjectsRequest\x12U\n\x0bobject_type\x18\x01 \x01(\x0b\x32,.kessel.inventory.v1beta2.RepresentationTypeB\x06\xbaH\x03\xc8\x01\x01R\nobjectType\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\x12P\n\npagination\x18\x04 \x01(\x0b\x32+.kessel.inventory.v1beta2.RequestPaginationH\x00R\npagination\x88\x01\x01\x12L\n\x0b\x63onsistency\x18\x05 \x01(\x0b\x32%.kessel.inventory.v1beta2.ConsistencyH\x01R\x0b\x63onsistency\x88\x01\x01\x42\r\n\x0b_paginationB\x0e\n\x0c_consistencyBr\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
+ StreamedListObjectsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("kessel.inventory.v1beta2.StreamedListObjectsRequest").msgclass
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: kessel/inventory/v1beta2/streamed_list_objects_response.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'kessel/inventory/v1beta2/resource_reference_pb'
8
+ require 'kessel/inventory/v1beta2/response_pagination_pb'
9
+ require 'kessel/inventory/v1beta2/consistency_token_pb'
10
+
11
+
12
+ descriptor_data = "\n=kessel/inventory/v1beta2/streamed_list_objects_response.proto\x12\x18kessel.inventory.v1beta2\x1a\x31kessel/inventory/v1beta2/resource_reference.proto\x1a\x32kessel/inventory/v1beta2/response_pagination.proto\x1a\x30kessel/inventory/v1beta2/consistency_token.proto\"\x89\x02\n\x1bStreamedListObjectsResponse\x12\x43\n\x06object\x18\x01 \x01(\x0b\x32+.kessel.inventory.v1beta2.ResourceReferenceR\x06object\x12L\n\npagination\x18\x02 \x01(\x0b\x32,.kessel.inventory.v1beta2.ResponsePaginationR\npagination\x12W\n\x11\x63onsistency_token\x18\x03 \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"
13
+
14
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
15
+ pool.add_serialized_file(descriptor_data)
16
+
17
+ module Kessel
18
+ module Inventory
19
+ module V1beta2
20
+ StreamedListObjectsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("kessel.inventory.v1beta2.StreamedListObjectsResponse").msgclass
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: kessel/inventory/v1beta2/subject_reference.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'buf/validate/validate_pb'
8
+ require 'kessel/inventory/v1beta2/resource_reference_pb'
9
+
10
+
11
+ descriptor_data = "\n0kessel/inventory/v1beta2/subject_reference.proto\x12\x18kessel.inventory.v1beta2\x1a\x1b\x62uf/validate/validate.proto\x1a\x31kessel/inventory/v1beta2/resource_reference.proto\"\x91\x01\n\x10SubjectReference\x12\x1f\n\x08relation\x18\x01 \x01(\tH\x00R\x08relation\x88\x01\x01\x12O\n\x08resource\x18\x02 \x01(\x0b\x32+.kessel.inventory.v1beta2.ResourceReferenceB\x06\xbaH\x03\xc8\x01\x01R\x08resourceB\x0b\n\t_relationBr\n(org.project_kessel.api.inventory.v1beta2P\x01ZDgithub.com/project-kessel/inventory-api/api/kessel/inventory/v1beta2b\x06proto3"
12
+
13
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
14
+ pool.add_serialized_file(descriptor_data)
15
+
16
+ module Kessel
17
+ module Inventory
18
+ module V1beta2
19
+ SubjectReference = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("kessel.inventory.v1beta2.SubjectReference").msgclass
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: kessel/inventory/v1beta2/write_visibility.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+
8
+ descriptor_data = "\n/kessel/inventory/v1beta2/write_visibility.proto\x12\x18kessel.inventory.v1beta2*X\n\x0fWriteVisibility\x12 \n\x1cWRITE_VISIBILITY_UNSPECIFIED\x10\x00\x12\x14\n\x10MINIMIZE_LATENCY\x10\x01\x12\r\n\tIMMEDIATE\x10\x02\x42r\n(org.project_kessel.api.inventory.v1beta2P\x01ZDgithub.com/project-kessel/inventory-api/api/kessel/inventory/v1beta2b\x06proto3"
9
+
10
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
11
+ pool.add_serialized_file(descriptor_data)
12
+
13
+ module Kessel
14
+ module Inventory
15
+ module V1beta2
16
+ WriteVisibility = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("kessel.inventory.v1beta2.WriteVisibility").enummodule
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,5 @@
1
+ module Kessel
2
+ module Inventory
3
+ VERSION = "1.0.0".freeze
4
+ end
5
+ end
data/lib/kessel-sdk.rb ADDED
@@ -0,0 +1,3 @@
1
+ Dir.glob(File.join(__dir__, '**', '*_services_pb.rb')).sort.each do |file|
2
+ require file.sub(__dir__ + File::SEPARATOR, '')
3
+ end
metadata ADDED
@@ -0,0 +1,118 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: kessel-sdk
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Project Kessel
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2025-07-16 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: grpc
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 1.73.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 1.73.0
27
+ description: This is the official Ruby SDK for [Project Kessel](https://github.com/project-kessel),
28
+ a system for unifying APIs and experiences with fine-grained authorization, common
29
+ inventory, and CloudEvents.
30
+ email:
31
+ executables: []
32
+ extensions: []
33
+ extra_rdoc_files: []
34
+ files:
35
+ - LICENSE
36
+ - README.md
37
+ - lib/buf/validate/expression_pb.rb
38
+ - lib/buf/validate/priv/private_pb.rb
39
+ - lib/buf/validate/validate_pb.rb
40
+ - lib/google/api/annotations_pb.rb
41
+ - lib/google/api/field_behavior_pb.rb
42
+ - lib/google/api/http_pb.rb
43
+ - lib/kessel-sdk.rb
44
+ - lib/kessel/inventory/v1/health_pb.rb
45
+ - lib/kessel/inventory/v1/health_services_pb.rb
46
+ - lib/kessel/inventory/v1beta1/authz/check_pb.rb
47
+ - lib/kessel/inventory/v1beta1/authz/check_services_pb.rb
48
+ - lib/kessel/inventory/v1beta1/authz/common_pb.rb
49
+ - lib/kessel/inventory/v1beta1/relationships/k8spolicy_ispropagatedto_k8scluster_detail_pb.rb
50
+ - lib/kessel/inventory/v1beta1/relationships/k8spolicy_ispropagatedto_k8scluster_pb.rb
51
+ - lib/kessel/inventory/v1beta1/relationships/k8spolicy_ispropagatedto_k8scluster_service_pb.rb
52
+ - lib/kessel/inventory/v1beta1/relationships/k8spolicy_ispropagatedto_k8scluster_service_services_pb.rb
53
+ - lib/kessel/inventory/v1beta1/relationships/metadata_pb.rb
54
+ - lib/kessel/inventory/v1beta1/relationships/reporter_data_pb.rb
55
+ - lib/kessel/inventory/v1beta1/resources/k8s_cluster_detail_nodes_inner_pb.rb
56
+ - lib/kessel/inventory/v1beta1/resources/k8s_cluster_detail_pb.rb
57
+ - lib/kessel/inventory/v1beta1/resources/k8s_cluster_pb.rb
58
+ - lib/kessel/inventory/v1beta1/resources/k8s_clusters_service_pb.rb
59
+ - lib/kessel/inventory/v1beta1/resources/k8s_clusters_service_services_pb.rb
60
+ - lib/kessel/inventory/v1beta1/resources/k8s_policies_service_pb.rb
61
+ - lib/kessel/inventory/v1beta1/resources/k8s_policies_service_services_pb.rb
62
+ - lib/kessel/inventory/v1beta1/resources/k8s_policy_detail_pb.rb
63
+ - lib/kessel/inventory/v1beta1/resources/k8s_policy_pb.rb
64
+ - lib/kessel/inventory/v1beta1/resources/metadata_pb.rb
65
+ - lib/kessel/inventory/v1beta1/resources/reporter_data_pb.rb
66
+ - lib/kessel/inventory/v1beta1/resources/resource_label_pb.rb
67
+ - lib/kessel/inventory/v1beta2/allowed_pb.rb
68
+ - lib/kessel/inventory/v1beta2/check_for_update_request_pb.rb
69
+ - lib/kessel/inventory/v1beta2/check_for_update_response_pb.rb
70
+ - lib/kessel/inventory/v1beta2/check_request_pb.rb
71
+ - lib/kessel/inventory/v1beta2/check_response_pb.rb
72
+ - lib/kessel/inventory/v1beta2/consistency_pb.rb
73
+ - lib/kessel/inventory/v1beta2/consistency_token_pb.rb
74
+ - lib/kessel/inventory/v1beta2/delete_resource_request_pb.rb
75
+ - lib/kessel/inventory/v1beta2/delete_resource_response_pb.rb
76
+ - lib/kessel/inventory/v1beta2/inventory_service_pb.rb
77
+ - lib/kessel/inventory/v1beta2/inventory_service_services_pb.rb
78
+ - lib/kessel/inventory/v1beta2/report_resource_request_pb.rb
79
+ - lib/kessel/inventory/v1beta2/report_resource_response_pb.rb
80
+ - lib/kessel/inventory/v1beta2/reporter_reference_pb.rb
81
+ - lib/kessel/inventory/v1beta2/representation_metadata_pb.rb
82
+ - lib/kessel/inventory/v1beta2/representation_type_pb.rb
83
+ - lib/kessel/inventory/v1beta2/request_pagination_pb.rb
84
+ - lib/kessel/inventory/v1beta2/resource_reference_pb.rb
85
+ - lib/kessel/inventory/v1beta2/resource_representations_pb.rb
86
+ - lib/kessel/inventory/v1beta2/response_pagination_pb.rb
87
+ - lib/kessel/inventory/v1beta2/streamed_list_objects_request_pb.rb
88
+ - lib/kessel/inventory/v1beta2/streamed_list_objects_response_pb.rb
89
+ - lib/kessel/inventory/v1beta2/subject_reference_pb.rb
90
+ - lib/kessel/inventory/v1beta2/write_visibility_pb.rb
91
+ - lib/kessel/version.rb
92
+ homepage: https://github.com/project-kessel/kessel-sdk-ruby
93
+ licenses:
94
+ - Apache-2.0
95
+ metadata:
96
+ homepage_uri: https://github.com/project-kessel/kessel-sdk-ruby
97
+ source_code_uri: https://github.com/project-kessel/kessel-sdk-ruby
98
+ bug_tracker_uri: https://github.com/project-kessel/kessel-sdk-ruby/issues
99
+ post_install_message:
100
+ rdoc_options: []
101
+ require_paths:
102
+ - lib
103
+ required_ruby_version: !ruby/object:Gem::Requirement
104
+ requirements:
105
+ - - ">="
106
+ - !ruby/object:Gem::Version
107
+ version: '3.3'
108
+ required_rubygems_version: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: '0'
113
+ requirements: []
114
+ rubygems_version: 3.5.22
115
+ signing_key:
116
+ specification_version: 4
117
+ summary: Ruby SDK for Project Kessel
118
+ test_files: []