clioptions

package
v0.0.0-...-0c1b59c Latest Latest
Warning

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

Go to latest
Published: May 11, 2026 License: MIT Imports: 25 Imported by: 1

Documentation

Index

Constants

View Source
const AUTH_HEADER_ENV_VAR = "TEMPORAL_OMES_AUTH_HEADER"
View Source
const EnvVarPrefix = "TEMPORAL_OMES_"

EnvVarPrefix is the prefix applied to all environment variable names.

Variables

View Source
var BackupLogger = log.New(os.Stderr, "", 0)

BackupLogger is used in case we can't instantiate zap (it's nicer DX than panicking or using built-in `log`).

Functions

func BindEnvVars

func BindEnvVars(fs *pflag.FlagSet)

BindEnvVars sets flag values from environment variables for any flags not explicitly set on the command line. CLI flags always take precedence over environment variables. Environment variable names are derived from flag names via FlagNameToEnvVar.

func FlagNameToEnvVar

func FlagNameToEnvVar(flagName string) string

FlagNameToEnvVar converts a flag name to its corresponding environment variable name. For example, "server-address" becomes "TEMPORAL_OMES_SERVER_ADDRESS".

func OmesDataConverter

func OmesDataConverter() converter.DataConverter

func StartProcessMetricsSidecar

func StartProcessMetricsSidecar(
	logger *zap.SugaredLogger,
	address string,
	workerPID int,
	sdkVersion string,
	buildID string,
	language string,
) *http.Server

StartProcessMetricsSidecar starts a process metrics server that monitors an external PID. This is called by run.go after starting the SDK worker subprocess. It serves /metrics (CPU/memory for the worker PID) and /info (worker metadata).

Types

type ClientOptions

type ClientOptions struct {
	// Address of Temporal server to connect to
	Address string
	// Temporal namespace
	Namespace string
	// Enable TLS
	EnableTLS bool
	// TLS client cert
	ClientCertPath string
	// TLS client private key
	ClientKeyPath string
	// TLS server name
	TLSServerName string
	// Authorization header value
	AuthHeader string
	// Disable Host Verification
	DisableHostVerification bool
	// contains filtered or unexported fields
}

Options for creating a Temporal client.

func (*ClientOptions) Dial

func (c *ClientOptions) Dial(metrics *metrics.Metrics, logger *zap.SugaredLogger) (client.Client, error)

Dial connects to a Temporal server, with logging, metrics, loaded TLS certs and set auth header.

func (*ClientOptions) FlagSet

func (c *ClientOptions) FlagSet() *pflag.FlagSet

FlagSet adds the relevant flags to populate the options struct and returns a pflag.FlagSet.

func (*ClientOptions) MustDial

func (c *ClientOptions) MustDial(metrics *metrics.Metrics, logger *zap.SugaredLogger) client.Client

MustDial connects to a Temporal server, with logging, metrics and loaded TLS certs.

type InfoResponse

type InfoResponse struct {
	SDKVersion string `json:"sdk_version"`
	BuildID    string `json:"build_id"`
	Language   string `json:"language"`
}

InfoResponse is returned by the /info endpoint on the process metrics server. Only contains fields that run-scenario doesn't already know.

type Language

type Language string
const (
	LangGo         Language = "go"
	LangPython     Language = "python"
	LangJava       Language = "java"
	LangTypeScript Language = "typescript"
	LangDotNet     Language = "dotnet"
	LangRuby       Language = "ruby"
)

func (*Language) Set

func (lf *Language) Set(value string) error

func (*Language) String

func (lf *Language) String() string

func (*Language) Type

func (lf *Language) Type() string

type LoggingOptions

type LoggingOptions struct {
	// Log level
	LogLevel string
	// Log encoding (console json)
	LogEncoding string
	// Prepared logger to use instead of creating a new one from options. Progamatic use only.
	PreparedLogger *zap.SugaredLogger
	// contains filtered or unexported fields
}

LoggingOptions for setting up the logger component

func (*LoggingOptions) FlagSet

func (l *LoggingOptions) FlagSet() *pflag.FlagSet

FlagSet adds the relevant flags to populate the options struct and returns a pflag.FlagSet.

func (*LoggingOptions) MustCreateLogger

func (l *LoggingOptions) MustCreateLogger() *zap.SugaredLogger

MustCreateLogger sets up a zap logger or panics on error.

type MetricsOptions

type MetricsOptions struct {
	// Address for the Prometheus HTTP listener.
	// If empty, the listener will not be started.
	PrometheusListenAddress string
	// HTTP path for serving metrics.
	// Default "/metrics".
	PrometheusHandlerPath string
	// Address for separate process metrics server (CPU/memory only).
	// If empty, process metrics will not be served separately.
	WorkerProcessMetricsAddress string
	// MetricsVersionTag is the SDK version/ref to report in metrics.
	// This is used by the sidecar's /info endpoint and is NOT passed to the worker.
	// If empty, falls back to the --version flag value.
	MetricsVersionTag string
	// contains filtered or unexported fields
}

MetricsOptions for setting up Prometheus metrics.

func (*MetricsOptions) FlagSet

func (m *MetricsOptions) FlagSet(prefix string) *pflag.FlagSet

FlagSet adds the relevant flags to populate the options struct and returns a pflag.FlagSet.

func (*MetricsOptions) MustCreateMetrics

func (m *MetricsOptions) MustCreateMetrics(ctx context.Context, logger *zap.SugaredLogger) *metrics.Metrics

MustCreateMetrics sets up Prometheus based metrics and starts an HTTP server for serving SDK metrics.

type PassThroughPayloadConverter

type PassThroughPayloadConverter struct{}

func (*PassThroughPayloadConverter) Encoding

func (p *PassThroughPayloadConverter) Encoding() string

func (*PassThroughPayloadConverter) FromPayload

func (p *PassThroughPayloadConverter) FromPayload(payload *common.Payload, valuePtr interface{}) error

func (*PassThroughPayloadConverter) ToPayload

func (p *PassThroughPayloadConverter) ToPayload(value interface{}) (*common.Payload, error)

func (*PassThroughPayloadConverter) ToString

func (p *PassThroughPayloadConverter) ToString(payload *common.Payload) string

type PrometheusInstanceFlags

type PrometheusInstanceFlags struct {
	metrics.PrometheusInstanceOptions
	// contains filtered or unexported fields
}

func (*PrometheusInstanceFlags) FlagSet

func (p *PrometheusInstanceFlags) FlagSet(prefix string) *pflag.FlagSet

type ScenarioID

type ScenarioID struct {
	Scenario  string
	RunID     string
	RunFamily string
}

func (*ScenarioID) AddCLIFlags

func (r *ScenarioID) AddCLIFlags(fs *pflag.FlagSet)

type SdkOptions

type SdkOptions struct {
	Language Language
	Version  string
}

func (*SdkOptions) AddCLIFlags

func (s *SdkOptions) AddCLIFlags(fs *pflag.FlagSet)

type WorkerOptions

type WorkerOptions struct {
	BuildID                      string
	DeploymentName               string
	DeploymentBuildID            string
	DefaultVersioningBehavior    string
	MaxConcurrentActivityPollers int
	MaxConcurrentWorkflowPollers int
	ActivityPollerAutoscaleMax   int // overrides MaxConcurrentActivityPollers
	WorkflowPollerAutoscaleMax   int // overrides MaxConcurrentWorkflowPollers
	MaxConcurrentActivities      int
	MaxConcurrentWorkflowTasks   int
	WorkerActivitiesPerSecond    float64
	ErrOnUnimplemented           bool
	// contains filtered or unexported fields
}

WorkerOptions for setting up worker parameters

func (*WorkerOptions) FlagSet

func (m *WorkerOptions) FlagSet() *pflag.FlagSet

FlagSet adds the relevant flags to populate the options struct and returns a pflag.FlagSet.

func (*WorkerOptions) FlagSetWithPrefix

func (m *WorkerOptions) FlagSetWithPrefix(prefix string) *pflag.FlagSet

FlagSetWithPrefix adds worker flags using the provided prefix. The stock OMES CLI keeps the historic "worker-" prefix, while the Go harness mirrors the Python harness worker flags without that prefix.

type ZapAdapter

type ZapAdapter struct {
	// contains filtered or unexported fields
}

func NewZapAdapter

func NewZapAdapter(zapLogger *zap.Logger) *ZapAdapter

func (*ZapAdapter) Debug

func (log *ZapAdapter) Debug(msg string, keyvals ...interface{})

func (*ZapAdapter) Error

func (log *ZapAdapter) Error(msg string, keyvals ...interface{})

func (*ZapAdapter) Info

func (log *ZapAdapter) Info(msg string, keyvals ...interface{})

func (*ZapAdapter) Warn

func (log *ZapAdapter) Warn(msg string, keyvals ...interface{})

func (*ZapAdapter) With

func (log *ZapAdapter) With(keyvals ...interface{}) log.Logger

Jump to

Keyboard shortcuts

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