Package intrinsic_proto.services
Services
service Calculator intrinsic/assets/services/examples/calcserver/calc_server.proto
This demonstrates how to use a custom service.
rpc Calculate
Request: intrinsic_proto.services.CalculatorRequest
Response:
intrinsic_proto.services.CalculatorResponse
Calculate performs basic calculator operations on two input numbers.
service ProductReader intrinsic/scene/product/assets/product_reader/product_reader.proto
rpc GetProductData
Request: intrinsic_proto.services.GetProductDataRequest
Response:
intrinsic_proto.services.GetProductDataResponse
Gets the product data necessary to create a WorldObject in a skill.
rpc ListProducts
Request: intrinsic_proto.services.ListProductsRequest
Response:
intrinsic_proto.services.ListProductsResponse
Lists all products in the solution.
Messages
message CalculatorConfig intrinsic/assets/services/examples/calcserver/calc_server.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | reverse_order |
bool
|
True to reverse the order of operands when calculating (i.e., y then x rather than x then y). |
message CalculatorRequest intrinsic/assets/services/examples/calcserver/calc_server.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | operation |
intrinsic_proto.services.CalculatorOperation
|
|
| 2 | x |
int64
|
|
| 3 | y |
int64
|
message CalculatorResponse intrinsic/assets/services/examples/calcserver/calc_server.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | result |
int64
|
message EmptyDirVolumeSource intrinsic/assets/services/proto/service_volume.proto
EmptyDirVolumeSource describes a volume created for use by the Service. See: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir
| Field | Type | Description | |
|---|---|---|---|
| 1 | medium |
intrinsic_proto.services.EmptyDirMedium
|
The medium used to store the volume. If unspecified, the host system's default is used. |
message EnvVar intrinsic/assets/services/proto/env_var.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | name |
string
|
The name of the environment variable. |
| 2 | value |
string
|
The value of the environment variable. |
message GetProductDataRequest intrinsic/scene/product/assets/product_reader/product_reader.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | name |
string
|
Unique name of the product within this solution |
message GetProductDataResponse intrinsic/scene/product/assets/product_reader/product_reader.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | scene_object |
intrinsic_proto.scene_object.v1.SceneObject
|
The fully configured SceneObject that represents the geometry of this product. |
| 2 | metadata |
google.protobuf.Struct
|
Metadata associated with the product. |
message HostPathVolumeSource intrinsic/assets/services/proto/service_volume.proto
HostPathVolumeSource describes a path on the host machine that should be made accessible to the Service. See: https://kubernetes.io/docs/concepts/storage/volumes/#hostpath
| Field | Type | Description | |
|---|---|---|---|
| 1 | path |
string
|
The path on the host to make available. |
message ListProductsRequest intrinsic/scene/product/assets/product_reader/product_reader.proto
| Field | Type | Description |
|---|
message ListProductsResponse intrinsic/scene/product/assets/product_reader/product_reader.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | products |
repeated
intrinsic_proto.product.Product
|
message PodSecurityContext intrinsic/assets/services/proto/service_permissions.proto
| Field | Type | Description | |
|---|---|---|---|
| 3 | sysctls |
repeated
intrinsic_proto.services.Sysctl
|
message PosixCapabilities intrinsic/assets/services/proto/service_permissions.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | add |
repeated
intrinsic_proto.services.PosixCapability
|
POSIX capabilities to be granted to the service. |
message ProcessedServiceAssets intrinsic/assets/services/proto/service_manifest.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | default_configuration |
google.protobuf.Any
|
Default configuration data for the service. |
| 2 | file_descriptor_set |
google.protobuf.FileDescriptorSet
|
A complete descriptor set for the configuration message. |
| 3 | images |
map<string, Image>
|
References to images uploaded in a container registry. The keys are the original filenames in the bundle, as referenced by the service definition. |
message ProcessedServiceManifest intrinsic/assets/services/proto/service_manifest.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | metadata |
intrinsic_proto.services.ServiceMetadata
|
Metadata associated with this service (e.g., id, documentation, etc.) |
| 2 | service_def |
intrinsic_proto.services.ServiceDef
|
The service's pod spec. |
| 3 | assets |
intrinsic_proto.services.ProcessedServiceAssets
|
The processed version of the service assets. This can be used to send a complete description of a service using a manifest. |
message ResourceRequirements intrinsic/assets/services/proto/service_permissions.proto
ResourceRequirements describes the compute resource requirements for the container running the service. See: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits
| Field | Type | Description | |
|---|---|---|---|
| 1 | limits |
map<string, string>
|
The maximum of specific resources that a container can use. Is also used as the requested amount of resources by default. |
| 2 | requests |
map<string, string>
|
The minimum of specific resources that a container can use. If both limits
and requests are specified for |
message SecurityContext intrinsic/assets/services/proto/service_permissions.proto
SecurityContext defines security related permissions the service will be given. See: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
| Field | Type | Description | |
|---|---|---|---|
| 1 | posix_capabilities |
intrinsic_proto.services.PosixCapabilities
|
|
| 2 | privileged |
bool
|
message ServiceAssets intrinsic/assets/services/proto/service_manifest.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | default_configuration_filename |
optional
string
|
The binary proto file containing the default configuration. If unspecified, the default configuration will be an empty message of the type specified in the manifest's ServiceDef.config_message_full_name. |
| 2 | parameter_descriptor_filename |
optional
string
|
The file descriptor set containing the service's parameters. |
| 3 | image_filenames |
repeated
string
|
The filenames of images used in the service definition. |
message ServiceDef intrinsic/assets/services/proto/service_manifest.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | service_proto_prefixes |
repeated
string
|
The list of gRPC service names that this service will expose. Descriptors for each service in this list must be included in the file descriptor set in the manifest's ServiceAssets. Do not include DynamicReconfiguration or ServiceState in this list. |
| 2 | real_spec |
intrinsic_proto.services.ServicePodSpec
|
The pod spec to be used in real environments. |
| 3 | sim_spec |
intrinsic_proto.services.ServicePodSpec
|
The pod spec to be used in simulated environments. |
| 4 | http_config |
intrinsic_proto.services.ServiceHttpConfig
|
The HTTP configuration for this service. If provided (including empty
config), an HTTP route to the service will be set up. It may handle HTTP
traffic at this route by serving HTTP responses at the HTTP port and path
prefix available from |
| 5 | supports_dynamic_reconfiguration |
bool
|
True if this Service supports dynamic reconfiguration by serving the DynamicReconfiguration service on its configured gRPC port. |
| 6 | supports_service_state |
bool
|
True if the Service supports service state interaction by serving the ServiceState service on its configured gRPC port. |
| 7 | config_message_full_name |
string
|
The full name of the proto message used to configure this service. For each instance of the service in a solution, a message of this type is specified and provided to the service container. A descriptor for this message must be included in the file descriptor set in the manifest's ServiceAssets. |
message ServiceHttpConfig intrinsic/assets/services/proto/service_http_config.proto
| Field | Type | Description |
|---|
message ServiceImage intrinsic/assets/services/proto/service_manifest.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | archive_filename |
string
|
The image archive file. |
| 2 | settings |
intrinsic_proto.services.ServiceImageSettings
|
The settings for this specific image. |
message ServiceImageSettings intrinsic/assets/services/proto/service_manifest.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | volume_mounts |
repeated
intrinsic_proto.services.VolumeMount
|
A list of volumes to be mounted in the image. |
| 2 | security_context |
intrinsic_proto.services.SecurityContext
|
Security permissions for the image. |
| 3 | resource_requirements |
intrinsic_proto.services.ResourceRequirements
|
The compute resource requirements for the container running the service. |
| 4 | requires_rtpc_node |
bool
|
If true, this image must be scheduled on a real-time node. |
| 5 | env_vars |
repeated
intrinsic_proto.services.EnvVar
|
The environment variables to set in the container. |
| 6 | args |
repeated
string
|
The arguments to pass to the container. |
message ServiceManifest intrinsic/assets/services/proto/service_manifest.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | metadata |
intrinsic_proto.services.ServiceMetadata
|
Metadata associated with this service (e.g., id, documentation, etc.) |
| 2 | service_def |
intrinsic_proto.services.ServiceDef
|
The service definition. |
| 3 | assets |
intrinsic_proto.services.ServiceAssets
|
This service's assets. |
message ServiceManifests intrinsic/assets/services/proto/service_manifest.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | manifests |
repeated
intrinsic_proto.services.ServiceManifest
|
message ServiceMetadata intrinsic/assets/services/proto/service_manifest.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | id |
intrinsic_proto.assets.Id
|
The service's id. |
| 2 | vendor |
intrinsic_proto.assets.Vendor
|
The service's vendor. |
| 3 | documentation |
intrinsic_proto.assets.Documentation
|
Documentation about the service which will be shown to users. |
| 4 | display_name |
string
|
The display name of this service to be shown in UIs. |
| 5 | asset_tag |
intrinsic_proto.assets.AssetTag
|
A tag identifying the category of the service. |
message ServicePodSettings intrinsic/assets/services/proto/service_manifest.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | host_network |
bool
|
If true, use the host's network namespace. |
| 2 | volumes |
repeated
intrinsic_proto.services.Volume
|
A list of named volumes that can be mounted by a resource image. |
| 3 | security_context |
intrinsic_proto.services.PodSecurityContext
|
Security settings for the pod and all its containers. |
message ServicePodSpec intrinsic/assets/services/proto/service_manifest.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | image |
intrinsic_proto.services.ServiceImage
|
The image to be used in simulated or real environments. |
| 2 | settings |
intrinsic_proto.services.ServicePodSettings
|
The settings for this pod. |
| 3 | extra_images |
repeated
intrinsic_proto.services.ServiceImage
|
Additional images to be used in the pod. |
message Sysctl intrinsic/assets/services/proto/service_permissions.proto
Sysctl defines a sysctl setting to be set for the particular pod.
This request may be allowlisted in particular contexts. See: https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/#setting-sysctls-for-a-pod
| Field | Type | Description | |
|---|---|---|---|
| 1 | name |
string
|
|
| 2 | value |
string
|
message Volume intrinsic/assets/services/proto/service_volume.proto
Volume represents a named volume in the pod that may be accessed by the Service through a VolumeMount. See: https://kubernetes.io/docs/concepts/storage/volumes/
| Field | Type | Description | |
|---|---|---|---|
| 1 | name |
string
|
|
|
oneof source
|
|||
| 2 | host_path |
intrinsic_proto.services.HostPathVolumeSource
|
|
| 3 | empty_dir |
intrinsic_proto.services.EmptyDirVolumeSource
|
|
message VolumeMount intrinsic/assets/services/proto/service_volume.proto
VolumeMount specifies how a Volume is mounted in the Service. Its name must match a specified volume. See: https://kubernetes.io/docs/concepts/storage/volumes/
Available mount paths and whether those paths are writeable depend on the
Service's container image. For instance, for Services that use
@distroless_base as a base image, likely only mount paths under /tmp will
be writeable.
| Field | Type | Description | |
|---|---|---|---|
| 1 | name |
string
|
|
| 2 | mount_path |
string
|
|
| 3 | read_only |
bool
|
Enums
enum CalculatorOperation intrinsic/assets/services/examples/calcserver/calc_server.proto
| Name | Number | Description |
|---|---|---|
CALCULATOR_OPERATION_UNSPECIFIED |
0 | |
CALCULATOR_OPERATION_ADD |
1 | |
CALCULATOR_OPERATION_MULTIPLY |
2 | |
CALCULATOR_OPERATION_SUBTRACT |
3 | |
CALCULATOR_OPERATION_DIVIDE |
4 |
enum EmptyDirMedium intrinsic/assets/services/proto/service_volume.proto
Empty dir medium determines where the empty dir volume is stored. See: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir
| Name | Number | Description |
|---|---|---|
EMPTY_DIR_MEDIUM_UNSPECIFIED |
0 | Unspecified uses the host system's default. |
EMPTY_DIR_MEDIUM_MEMORY |
1 |
enum PosixCapability intrinsic/assets/services/proto/service_permissions.proto
Each PosixCapability grants the service extra permissions. We currently support a limited subset of POSIX capabilities.
| Name | Number | Description |
|---|---|---|
POSIX_CAPABILITY_UNSPECIFIED |
0 | Unspecified is not a valid capability and should not be used. |
POSIX_CAPABILITY_SYS_RAWIO |
1 | |
POSIX_CAPABILITY_SYS_NICE |
2 | |
POSIX_CAPABILITY_IPC_LOCK |
3 |