Packages

p

kalix.protocol

discovery

package discovery

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. 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()
  2. 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()
  3. 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()
  4. final case class GenericComponentSettings(forwardHeaders: Seq[String] = _root_.scala.Seq.empty, componentId: String = "", 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

    componentId

    Unique identifier, optional, not used in Kalix JVM SDK FIXME drop once embedded gRPC compatibility layer is no longer used

    Annotations
    @SerialVersionUID()
  5. 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()
  6. 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()
  7. 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()
  8. 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()
  9. 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()
  10. sealed abstract class ReplicatedWriteConsistency extends GeneratedEnum

    Write consistency setting for a replicated entity.

  11. 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()
  12. 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()
  13. 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()
  14. 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()

Ungrouped