package discovery
- Alphabetic
- Public
- Protected
Type Members
- final case class Component(componentType: String = "", serviceName: String = "", componentSettings: ComponentSettings = kalix.protocol.discovery.Component.ComponentSettings.Empty, unknownFields: UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty) extends GeneratedMessage with Updatable[Component] with Product with Serializable
- componentType
The type of component (action, event sourced entity, view, etc). By convention, this should be a fully qualified service name of the service which is used to call the component from the proxy on the user service, for example: kalix.component.eventsourcedentity.EventSourcedEntities
- serviceName
The name of the service to load from the protobuf file.
- Annotations
- @SerialVersionUID()
- trait Discovery extends AnyRef
Service that the SDK (in the user service) implements to allow the proxy to discover which components are provided by this user service
Service that the SDK (in the user service) implements to allow the proxy to discover which components are provided by this user service
- Annotations
- @AkkaGrpcGenerated()
- final case class EntitySettings(entityType: String = "", passivationStrategy: Option[PassivationStrategy] = _root_.scala.None, forwardHeaders: Seq[String] = _root_.scala.Seq.empty, specificSettings: SpecificSettings = kalix.protocol.discovery.EntitySettings.SpecificSettings.Empty, unknownFields: UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty) extends GeneratedMessage with Updatable[EntitySettings] with Product with Serializable
shared settings for entities (event sourced/value/replicated entity)
shared settings for entities (event sourced/value/replicated entity)
- entityType
namespace for persisted or replicated state
- passivationStrategy
Note: passivation strategy settings for value entities and event sourced entities are ignored. Passivation timeout can only be configured for replicated entities. Passivation strategy settings may be completely removed in future versions of the protocol.
- forwardHeaders
header names to ask the proxy to forward from the request as metadata to the component calls note that the proxy may filter out Kalix internal headers from this list to not leak implementation details
- Annotations
- @SerialVersionUID()
- final case class GenericComponentSettings(forwardHeaders: Seq[String] = _root_.scala.Seq.empty, unknownFields: UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty) extends GeneratedMessage with Updatable[GenericComponentSettings] with Product with Serializable
shared settings for the components that does not have a specific settings type
shared settings for the components that does not have a specific settings type
- forwardHeaders
header names to ask the proxy to forward from the request as metadata to the component calls, note that the proxy may filter out Kalix internal headers from this list to not leak implementation details
- Annotations
- @SerialVersionUID()
- final case class HealthCheckResponse(serviceIncarnationUuid: String = "", unknownFields: UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty) extends GeneratedMessage with Updatable[HealthCheckResponse] with Product with Serializable
- serviceIncarnationUuid
Service should return same id as in the initial Discover response. Used by the runtime with the HealthCheck call to detect that the service has been restarted.
- Annotations
- @SerialVersionUID()
- final case class IdentificationInfo(selfIdentificationHeader: String = "", selfIdentificationToken: String = "", serviceIdentificationHeader: String = "", selfDeploymentName: String = "", unknownFields: UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty) extends GeneratedMessage with Updatable[IdentificationInfo] with Product with Serializable
- selfIdentificationHeader
The name of the header to inject to calls on self to identify self. If not set, no self identification header will be sent.
- selfIdentificationToken
The token to set in the self identification header to identify calls to self. It is expected that this will be a cryptographically secure random token, to allow secure detection of self calls.
- serviceIdentificationHeader
The name of the header to inject to calls on other services to identify this service. If not set, no service identification header will be sent. This header is intended for use in dev mode, to allow identifying calls from this service to other services running in dev mode. In production, identifying a service by putting its name in the header is not secure, and some other mechanism, eg, a service mesh, is expected to be used.
- selfDeploymentName
The name of this deployment. This is placed in the service identification header when making calls to other services in dev mode.
- Annotations
- @SerialVersionUID()
- final case class PassivationStrategy(strategy: Strategy = kalix.protocol.discovery.PassivationStrategy.Strategy.Empty, unknownFields: UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty) extends GeneratedMessage with Updatable[PassivationStrategy] with Product with Serializable
The passivation strategy for the entity user service.
The passivation strategy for the entity user service.
The semantics is to provide a flexible way for entity user services to configure the passivation strategy. This strategy is sent to the proxy at discovery time allowing the proxy to configure the corresponding entities. The only passivation strategy supported is the timeout strategy and configuring this is optional for the entity. If an entity user service does not configure the passivation strategy the proxy uses its fallback default value.
- Annotations
- @SerialVersionUID()
- final case class ProxyInfo(protocolMajorVersion: Int = 0, protocolMinorVersion: Int = 0, proxyName: String = "", proxyVersion: String = "", supportedEntityTypes: Seq[String] = _root_.scala.Seq.empty, devMode: Boolean = false, proxyHostname: String = "", identificationInfo: Option[IdentificationInfo] = _root_.scala.None, internalProxyHostname: String = "", proxyPort: Int = 0, tracingCollectorEndpoint: String = "", unknownFields: UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty) extends GeneratedMessage with Updatable[ProxyInfo] with Product with Serializable
- proxyHostname
The host name to use to connect to the proxy.
- identificationInfo
Info for identifying calls to self and other services.
- internalProxyHostname
The host name to use to connect to the proxy locally.
- tracingCollectorEndpoint
Endpoint to push traces
- Annotations
- @SerialVersionUID()
- final case class ReplicatedEntitySettings(writeConsistency: ReplicatedWriteConsistency = kalix.protocol.discovery.ReplicatedWriteConsistency.REPLICATED_WRITE_CONSISTENCY_LOCAL_UNSPECIFIED, unknownFields: UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty) extends GeneratedMessage with Updatable[ReplicatedEntitySettings] with Product with Serializable
Replicated Entity specific settings
Replicated Entity specific settings
- writeConsistency
write consistency setting for replicating updates
- Annotations
- @SerialVersionUID()
- sealed abstract class ReplicatedWriteConsistency extends GeneratedEnum
Write consistency setting for a replicated entity.
- final case class ServiceInfo(serviceName: String = "", serviceVersion: String = "", serviceRuntime: String = "", supportLibraryName: String = "", supportLibraryVersion: String = "", protocolMajorVersion: Int = 0, protocolMinorVersion: Int = 0, env: Map[String, String] = _root_.scala.collection.immutable.Map.empty, serviceIncarnationUuid: String = "", unknownFields: UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty) extends GeneratedMessage with Updatable[ServiceInfo] with Product with Serializable
Information about the service that the proxy is proxying to.
Information about the service that the proxy is proxying to. All of the information in here is optional. It may be useful for debug purposes.
- serviceName
The name of the service, eg, "shopping-cart".
- serviceVersion
The version of the service.
- serviceRuntime
A description of the runtime for the service. Can be anything, but examples might be:
- node v10.15.2
- OpenJDK Runtime Environment 1.8.0_192-b12
- supportLibraryName
If using a support library, the name of that library, eg "kalix-java-sdk"
- supportLibraryVersion
The version of the support library being used.
- protocolMajorVersion
Kalix protocol major version accepted by the support library.
- protocolMinorVersion
Kalix protocol minor version accepted by the support library.
- env
user service env variables
- serviceIncarnationUuid
Unique identifier of the service incarnation. Should be a new id for each start of the service. Used by the runtime with the HealthCheck call to detect that the service has been restarted.
- Annotations
- @SerialVersionUID()
- final case class Spec(proto: ByteString = _root_.com.google.protobuf.ByteString.EMPTY, components: Seq[Component] = _root_.scala.Seq.empty, serviceInfo: Option[ServiceInfo] = _root_.scala.None, unknownFields: UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty) extends GeneratedMessage with Updatable[Spec] with Product with Serializable
- proto
This should be the Descriptors.FileDescriptorSet in proto serialized from as generated by:
protoc --include_imports &92; --proto_path=<proto file directory> &92; --descriptor_set_out=user-function.desc &92; <path to .proto files>
- components
The components being served.
- serviceInfo
Optional information about the service.
- Annotations
- @SerialVersionUID()
- final case class TimeoutPassivationStrategy(timeout: Long = 0L, unknownFields: UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty) extends GeneratedMessage with Updatable[TimeoutPassivationStrategy] with Product with Serializable
A passivation strategy based on a timeout.
A passivation strategy based on a timeout. The idle timeout after which a user service's entity is passivated.
- timeout
The timeout in millis
- Annotations
- @SerialVersionUID()
- final case class UserFunctionError(message: String = "", code: String = "", detail: String = "", sourceLocations: Seq[SourceLocation] = _root_.scala.Seq.empty, severity: Severity = kalix.protocol.discovery.UserFunctionError.Severity.UNSPECIFIED, unknownFields: UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty) extends GeneratedMessage with Updatable[UserFunctionError] with Product with Serializable
An error detected by the proxy to be reported to the user.
An error detected by the proxy to be reported to the user.
The function should attempt to load the source code for any source code locations present in the file, and use the information in the source code location to extract the relevant lines of code, and highlight the column with a caret. For example, this is what an error may look like:
ERROR: KLX-00023 Event sourced entity method GetCart input parameter GetCartRequest does not declare a field with an component id. To fix this issue, annotate one of the fields in GetCartRequest with kalix.field.id, for example, if the first field, id, is the component id, you might add this:
string id = 1 [(kalix.field).id = true];
At shoppingcart.proto:15: rpc GetCart(GetCartRequest) returns (Cart); ^ At shoppingcart.proto:63: message GetCartRequest { string id = 1; }
- message
A single line message that describes the error. This message should always be displayed when the error is rendered.
- code
The error code. Each class of error has a unique code. Typically this code should be displayed before the error message.
- detail
A longer message explaining the error. This message may be multiple lines long, may include suggestions of how to fix the error, code snippets, URLs to go and read for more information, etc. If a user has configured logging to be less verbose, this detail may be left off, or in a UI may be hidden in an expandable section.
- sourceLocations
Zero or more source locations that are associated with this error. If the error is in a protobuf descriptor, this should contain at least one location.
- Annotations
- @SerialVersionUID()
Value Members
- object Component extends GeneratedMessageCompanion[Component]
- object Discovery extends ServiceDescription
- Annotations
- @AkkaGrpcGenerated()
- object DiscoveryHandler
- Annotations
- @ApiMayChange() @AkkaGrpcGenerated()
- object DiscoveryProto extends GeneratedFileObject
- object EntitySettings extends GeneratedMessageCompanion[EntitySettings]
- object GenericComponentSettings extends GeneratedMessageCompanion[GenericComponentSettings]
- object HealthCheckResponse extends GeneratedMessageCompanion[HealthCheckResponse]
- object IdentificationInfo extends GeneratedMessageCompanion[IdentificationInfo]
- object PassivationStrategy extends GeneratedMessageCompanion[PassivationStrategy]
- object ProxyInfo extends GeneratedMessageCompanion[ProxyInfo]
- object ReplicatedEntitySettings extends GeneratedMessageCompanion[ReplicatedEntitySettings]
- object ReplicatedWriteConsistency extends GeneratedEnumCompanion[ReplicatedWriteConsistency]
- object ServiceInfo extends GeneratedMessageCompanion[ServiceInfo]
- object Spec extends GeneratedMessageCompanion[Spec]
- object TimeoutPassivationStrategy extends GeneratedMessageCompanion[TimeoutPassivationStrategy]
- object UserFunctionError extends GeneratedMessageCompanion[UserFunctionError]