internal

package
v0.19.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 18, 2025 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Endpoint

type Endpoint struct {
	// Maximum supported protocol version
	MaxProtocolVersion int `json:"maxProtocolVersion" yaml:"maxProtocolVersion" mapstructure:"maxProtocolVersion"`

	// Minimum supported protocol version
	MinProtocolVersion int `json:"minProtocolVersion" yaml:"minProtocolVersion" mapstructure:"minProtocolVersion"`

	// ProtocolMode corresponds to the JSON schema field "protocolMode".
	ProtocolMode ProtocolMode `json:"protocolMode,omitempty" yaml:"protocolMode,omitempty" mapstructure:"protocolMode,omitempty"`

	// Services corresponds to the JSON schema field "services".
	Services []Service `json:"services" yaml:"services" mapstructure:"services"`
}

Endpoint manifest v3

type Handler

type Handler struct {
	// Abort timeout duration, expressed in milliseconds.
	AbortTimeout *int `json:"abortTimeout,omitempty" yaml:"abortTimeout,omitempty" mapstructure:"abortTimeout,omitempty"`

	// Documentation for this handler definition. No format is enforced, but generally
	// Markdown is assumed.
	Documentation *string `json:"documentation,omitempty" yaml:"documentation,omitempty" mapstructure:"documentation,omitempty"`

	// If true, lazy state is enabled.
	EnableLazyState *bool `json:"enableLazyState,omitempty" yaml:"enableLazyState,omitempty" mapstructure:"enableLazyState,omitempty"`

	// Idempotency retention duration, expressed in milliseconds. This is NOT VALID
	// when HandlerType == WORKFLOW
	IdempotencyRetention *int `json:"idempotencyRetention,omitempty" yaml:"idempotencyRetention,omitempty" mapstructure:"idempotencyRetention,omitempty"`

	// Inactivity timeout duration, expressed in milliseconds.
	InactivityTimeout *int `json:"inactivityTimeout,omitempty" yaml:"inactivityTimeout,omitempty" mapstructure:"inactivityTimeout,omitempty"`

	// If true, the service cannot be invoked from the HTTP nor Kafka ingress.
	IngressPrivate *bool `json:"ingressPrivate,omitempty" yaml:"ingressPrivate,omitempty" mapstructure:"ingressPrivate,omitempty"`

	// Description of an input payload. This will be used by Restate to validate
	// incoming requests.
	Input *encoding.InputPayload `json:"input,omitempty" yaml:"input,omitempty" mapstructure:"input,omitempty"`

	// Journal retention duration, expressed in milliseconds.
	JournalRetention *int `json:"journalRetention,omitempty" yaml:"journalRetention,omitempty" mapstructure:"journalRetention,omitempty"`

	// Custom metadata of this handler definition. This metadata is shown on the Admin
	// API when querying the service/handler definition.
	Metadata map[string]string `json:"metadata,omitempty" yaml:"metadata,omitempty" mapstructure:"metadata,omitempty"`

	// Name corresponds to the JSON schema field "name".
	Name string `json:"name" yaml:"name" mapstructure:"name"`

	// Description of an output payload.
	Output *encoding.OutputPayload `json:"output,omitempty" yaml:"output,omitempty" mapstructure:"output,omitempty"`

	// If unspecified, defaults to EXCLUSIVE for Virtual Object or WORKFLOW for
	// Workflows. This should be unset for Services.
	Ty *ServiceHandlerType `json:"ty,omitempty" yaml:"ty,omitempty" mapstructure:"ty,omitempty"`

	// Workflow completion retention duration, expressed in milliseconds. This is
	// valid ONLY when HandlerType == WORKFLOW
	WorkflowCompletionRetention *int `` /* 142-byte string literal not displayed */
}

type ProtocolMode

type ProtocolMode string
const (
	ProtocolMode_BIDI_STREAM      ProtocolMode = "BIDI_STREAM"
	ProtocolMode_REQUEST_RESPONSE ProtocolMode = "REQUEST_RESPONSE"
)

type Service

type Service struct {
	// Abort timeout duration, expressed in milliseconds.
	AbortTimeout *int `json:"abortTimeout,omitempty" yaml:"abortTimeout,omitempty" mapstructure:"abortTimeout,omitempty"`

	// Documentation for this service definition. No format is enforced, but generally
	// Markdown is assumed.
	Documentation *string `json:"documentation,omitempty" yaml:"documentation,omitempty" mapstructure:"documentation,omitempty"`

	// If true, lazy state is enabled.
	EnableLazyState *bool `json:"enableLazyState,omitempty" yaml:"enableLazyState,omitempty" mapstructure:"enableLazyState,omitempty"`

	// Handlers corresponds to the JSON schema field "handlers".
	Handlers []Handler `json:"handlers" yaml:"handlers" mapstructure:"handlers"`

	// Idempotency retention duration, expressed in milliseconds. When ServiceType ==
	// WORKFLOW, this option will be applied only to the shared handlers. See
	// workflowCompletionRetention for more details.
	IdempotencyRetention *int `json:"idempotencyRetention,omitempty" yaml:"idempotencyRetention,omitempty" mapstructure:"idempotencyRetention,omitempty"`

	// Inactivity timeout duration, expressed in milliseconds.
	InactivityTimeout *int `json:"inactivityTimeout,omitempty" yaml:"inactivityTimeout,omitempty" mapstructure:"inactivityTimeout,omitempty"`

	// If true, the service cannot be invoked from the HTTP nor Kafka ingress.
	IngressPrivate *bool `json:"ingressPrivate,omitempty" yaml:"ingressPrivate,omitempty" mapstructure:"ingressPrivate,omitempty"`

	// Journal retention duration, expressed in milliseconds.
	JournalRetention *int `json:"journalRetention,omitempty" yaml:"journalRetention,omitempty" mapstructure:"journalRetention,omitempty"`

	// Custom metadata of this service definition. This metadata is shown on the Admin
	// API when querying the service definition.
	Metadata map[string]string `json:"metadata,omitempty" yaml:"metadata,omitempty" mapstructure:"metadata,omitempty"`

	// Name corresponds to the JSON schema field "name".
	Name string `json:"name" yaml:"name" mapstructure:"name"`

	// Ty corresponds to the JSON schema field "ty".
	Ty ServiceType `json:"ty" yaml:"ty" mapstructure:"ty"`
}

type ServiceHandlerType

type ServiceHandlerType string
const (
	ServiceHandlerType_WORKFLOW  ServiceHandlerType = "WORKFLOW"
	ServiceHandlerType_EXCLUSIVE ServiceHandlerType = "EXCLUSIVE"
	ServiceHandlerType_SHARED    ServiceHandlerType = "SHARED"
)

type ServiceType

type ServiceType string
const (
	ServiceType_VIRTUAL_OBJECT ServiceType = "VIRTUAL_OBJECT"
	ServiceType_SERVICE        ServiceType = "SERVICE"
	ServiceType_WORKFLOW       ServiceType = "WORKFLOW"
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL