config

package
v1.77.1 Latest Latest
Warning

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

Go to latest
Published: Mar 8, 2026 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultSlowQueryThreshold = 200 * time.Millisecond

	//nolint:gosec // configuration key, not a credential
	TokenEndpointAuthMethodPrivateKeyJWT = "private_key_jwt"
	PrivateKeyJWTSourceWorkloadAPI       = "workload_api"
)
View Source
const (
	RuntimeModeMonolith = "monolith"
	RuntimeModePolylith = "polylith"
)

Variables

This section is empty.

Functions

func FillEnv

func FillEnv(v any) error

FillEnv convenience method to fill a config object with environment data.

func FromContext

func FromContext[T any](ctx context.Context) T

FromContext extracts service configuration from the supplied context if any exist.

func FromEnv

func FromEnv[T any]() (T, error)

FromEnv convenience method to process configs.

func IsMonolith added in v1.74.1

func IsMonolith(cfg ConfigurationRuntime) bool

func IsPolylith added in v1.74.1

func IsPolylith(cfg ConfigurationRuntime) bool

func LoadWithOIDC

func LoadWithOIDC[T any](ctx context.Context) (T, error)

LoadWithOIDC convenience method to process configs.

func NormalizeRuntimeMode added in v1.74.1

func NormalizeRuntimeMode(mode string) string

func ToContext

func ToContext(ctx context.Context, config any) context.Context

ToContext adds service configuration to the current supplied context.

Types

type ConfigurationAuthorization

type ConfigurationAuthorization interface {
	GetAuthorizationServiceReadURI() string
	GetAuthorizationServiceWriteURI() string
	AuthorizationServiceCanRead() bool
	AuthorizationServiceCanWrite() bool
}

type ConfigurationDatabase

type ConfigurationDatabase interface {
	GetDatabasePrimaryHostURL() []string
	GetDatabaseReplicaHostURL() []string
	DoDatabaseMigrate() bool
	SkipDefaultTransaction() bool
	PreferSimpleProtocol() bool
	GetMaxIdleConnections() int
	GetMaxOpenConnections() int
	GetMaxConnectionLifeTimeInSeconds() time.Duration

	GetDatabaseMigrationPath() string
}

type ConfigurationDatabaseTracing added in v1.63.0

type ConfigurationDatabaseTracing interface {
	CanDatabaseTraceQueries() bool
	GetDatabaseSlowQueryLogThreshold() time.Duration
}

type ConfigurationDebug added in v1.74.1

type ConfigurationDebug interface {
	DebugEndpointsEnabled() bool
	DebugEndpointsBasePath() string
}

type ConfigurationDefault

type ConfigurationDefault struct {
	LogLevel      string `envDefault:"info"                      env:"LOG_LEVEL"       yaml:"log_level"`
	LogFormat     string `envDefault:"info"                      env:"LOG_FORMAT"      yaml:"log_format"`
	LogTimeFormat string `envDefault:"2006-01-02T15:04:05Z07:00" env:"LOG_TIME_FORMAT" yaml:"log_time_format"`
	LogColored    bool   `envDefault:"true"                      env:"LOG_COLORED"     yaml:"log_colored"`

	LogShowStackTrace bool `envDefault:"false" env:"LOG_SHOW_STACK_TRACE" yaml:"log_show_stack_trace"`

	TraceRequests        bool `envDefault:"false" env:"TRACE_REQUESTS"          yaml:"trace_requests"`
	TraceRequestsLogBody bool `envDefault:"false" env:"TRACE_REQUESTS_LOG_BODY" yaml:"trace_requests_log_body"`

	ProfilerEnable   bool   `envDefault:"false" env:"PROFILER_ENABLE" yaml:"profiler_enable"`
	ProfilerPortAddr string `envDefault:":6060" env:"PROFILER_PORT"   yaml:"profiler_port"`

	OpenTelemetryDisable    bool    `envDefault:"false" env:"OPENTELEMETRY_DISABLE"        yaml:"opentelemetry_disable"`
	OpenTelemetryTraceRatio float64 `envDefault:"0.1"   env:"OPENTELEMETRY_TRACE_ID_RATIO" yaml:"opentelemetry_trace_id_ratio"`

	ServiceName        string `envDefault:""     env:"SERVICE_NAME"         yaml:"service_name"`
	ServiceEnvironment string `envDefault:""     env:"SERVICE_ENVIRONMENT"  yaml:"service_environment"`
	ServiceVersion     string `envDefault:""     env:"SERVICE_VERSION"      yaml:"service_version"`
	RunServiceSecurely bool   `envDefault:"true" env:"RUN_SERVICE_SECURELY" yaml:"run_service_securely"`

	RuntimeModeValue  string `envDefault:"polylith" env:"FRAME_RUNTIME_MODE"  yaml:"runtime_mode"`
	ServiceIDValue    string `envDefault:""         env:"FRAME_SERVICE_ID"    yaml:"service_id"`
	ServiceGroupValue string `envDefault:""         env:"FRAME_SERVICE_GROUP" yaml:"service_group"`

	DebugEndpointsEnabledValue  bool   `envDefault:"false"        env:"FRAME_DEBUG_ENDPOINTS"          yaml:"frame_debug_endpoints"`
	DebugEndpointsBasePathValue string `envDefault:"/debug/frame" env:"FRAME_DEBUG_ENDPOINTS_BASEPATH" yaml:"frame_debug_endpoints_basepath"`

	ServerPort     string `envDefault:":7000" env:"PORT"      yaml:"server_port"`
	HTTPServerPort string `envDefault:":8080" env:"HTTP_PORT" yaml:"http_server_port"`

	HTTPServerReadTimeout       string `envDefault:"30s"  env:"HTTP_SERVER_READ_TIMEOUT"        yaml:"http_server_read_timeout"`
	HTTPServerReadHeaderTimeout string `envDefault:"5s"   env:"HTTP_SERVER_READ_HEADER_TIMEOUT" yaml:"http_server_read_header_timeout"`
	HTTPServerWriteTimeout      string `envDefault:"30s"  env:"HTTP_SERVER_WRITE_TIMEOUT"       yaml:"http_server_write_timeout"`
	HTTPServerIdleTimeout       string `envDefault:"90s"  env:"HTTP_SERVER_IDLE_TIMEOUT"        yaml:"http_server_idle_timeout"`
	HTTPServerShutdownTimeout   string `envDefault:"15s"  env:"HTTP_SERVER_SHUTDOWN_TIMEOUT"    yaml:"http_server_shutdown_timeout"`
	HTTPServerMaxHeaderBytes    int    `envDefault:"1024" env:"HTTP_SERVER_MAX_HEADER_KB"       yaml:"http_server_max_header_kb"`

	// Worker pool settings
	WorkerPoolCPUFactorForWorkerCount int    `envDefault:"10"  env:"WORKER_POOL_CPU_FACTOR_FOR_WORKER_COUNT" yaml:"worker_pool_cpu_factor_for_worker_count"`
	WorkerPoolCapacity                int    `envDefault:"100" env:"WORKER_POOL_CAPACITY"                    yaml:"worker_pool_capacity"`
	WorkerPoolCount                   int    `envDefault:"100" env:"WORKER_POOL_COUNT"                       yaml:"worker_pool_count"`
	WorkerPoolExpiryDuration          string `envDefault:"1s"  env:"WORKER_POOL_EXPIRY_DURATION"             yaml:"worker_pool_expiry_duration"`

	TLSCertificatePath    string `env:"TLS_CERTIFICATE_PATH"     yaml:"tls_certificate_path"`
	TLSCertificateKeyPath string `env:"TLS_CERTIFICATE_KEY_PATH" yaml:"tls_certificate_key_path"`

	WorkloadAPITrustedDomain string `env:"WORKLOAD_API_TRUSTED_DOMAIN" yaml:"workload_api_trusted_domain"`

	Oauth2ServiceURI              string                    `env:"OAUTH2_SERVICE_URI"           yaml:"oauth2_service_uri"`
	Oauth2ServiceAdminURI         string                    `env:"OAUTH2_SERVICE_ADMIN_URI"     yaml:"oauth2_service_admin_uri"`
	Oauth2WellKnownOIDCPath       string                    `env:"OAUTH2_WELL_KNOWN_OIDC_PATH"  yaml:"oauth2_well_known_oidc_path"  envDefault:".well-known/openid-configuration"`
	Oauth2ServiceAudience         []string                  `env:"OAUTH2_SERVICE_AUDIENCE"      yaml:"oauth2_service_audience"`
	Oauth2ServiceClientID         string                    `env:"OAUTH2_SERVICE_CLIENT_ID"     yaml:"oauth2_service_client_id"`
	Oauth2ServiceClientSecret     string                    `env:"OAUTH2_SERVICE_CLIENT_SECRET" yaml:"oauth2_service_client_secret"`
	Oauth2TokenEndpointAuthMethod string                    `env:"OAUTH2_TOKEN_ENDPOINT_AUTH_METHOD" yaml:"oauth2_token_endpoint_auth_method"`
	Oauth2PrivateJwtKey           OAuth2PrivateJWTKeyConfig `env:"OAUTH2_PRIVATE_JWT_KEY" yaml:"oauth2_private_jwt_key"`

	Oauth2WellKnownJwkData  string   `env:"OAUTH2_WELL_KNOWN_JWK_DATA" yaml:"oauth2_well_known_jwk_data"`
	Oauth2JwtVerifyAudience []string `env:"OAUTH2_JWT_VERIFY_AUDIENCE" yaml:"oauth2_jwt_verify_audience"`
	Oauth2JwtVerifyIssuer   string   `env:"OAUTH2_JWT_VERIFY_ISSUER"   yaml:"oauth2_jwt_verify_issuer"`

	AuthorizationServiceReadURI  string `env:"AUTHORIZATION_SERVICE_READ_URI"  yaml:"authorization_service_read_uri"`
	AuthorizationServiceWriteURI string `env:"AUTHORIZATION_SERVICE_WRITE_URI" yaml:"authorization_service_write_uri"`

	DatabasePrimaryURL             []string `env:"DATABASE_URL"             yaml:"database_url"`
	DatabaseReplicaURL             []string `env:"REPLICA_DATABASE_URL"     yaml:"replica_database_url"`
	DatabaseMigrate                bool     `env:"DO_MIGRATION"             yaml:"do_migration"             envDefault:"false"`
	DatabaseMigrationPath          string   `env:"MIGRATION_PATH"           yaml:"migration_path"           envDefault:"./migrations/0001"`
	DatabaseSkipDefaultTransaction bool     `env:"SKIP_DEFAULT_TRANSACTION" yaml:"skip_default_transaction" envDefault:"true"`
	DatabasePreferSimpleProtocol   bool     `env:"PREFER_SIMPLE_PROTOCOL"   yaml:"prefer_simple_protocol"   envDefault:"true"`

	DatabaseMaxIdleConnections           int `envDefault:"2"   env:"DATABASE_MAX_IDLE_CONNECTIONS"                yaml:"database_max_idle_connections"`
	DatabaseMaxOpenConnections           int `envDefault:"5"   env:"DATABASE_MAX_OPEN_CONNECTIONS"                yaml:"database_max_open_connections"`
	DatabaseMaxConnectionLifeTimeSeconds int `envDefault:"300" env:"DATABASE_MAX_CONNECTION_LIFE_TIME_IN_SECONDS" yaml:"database_max_connection_life_time_seconds"`

	DatabaseTraceQueries          bool   `envDefault:"false" env:"DATABASE_LOG_QUERIES"          yaml:"database_log_queries"`
	DatabaseSlowQueryLogThreshold string `envDefault:"200ms" env:"DATABASE_SLOW_QUERY_THRESHOLD" yaml:"database_slow_query_threshold"`

	EventsQueueName string `envDefault:"frame.events.internal_._queue"       env:"EVENTS_QUEUE_NAME" yaml:"events_queue_name"`
	EventsQueueURL  string `envDefault:"mem://frame.events.internal_._queue" env:"EVENTS_QUEUE_URL"  yaml:"events_queue_url"`
	// contains filtered or unexported fields
}

func (*ConfigurationDefault) AuthorizationServiceCanRead added in v1.70.1

func (c *ConfigurationDefault) AuthorizationServiceCanRead() bool

func (*ConfigurationDefault) AuthorizationServiceCanWrite added in v1.70.1

func (c *ConfigurationDefault) AuthorizationServiceCanWrite() bool

func (*ConfigurationDefault) CanDatabaseTraceQueries

func (c *ConfigurationDefault) CanDatabaseTraceQueries() bool

func (*ConfigurationDefault) DebugEndpointsBasePath added in v1.74.1

func (c *ConfigurationDefault) DebugEndpointsBasePath() string

func (*ConfigurationDefault) DebugEndpointsEnabled added in v1.74.1

func (c *ConfigurationDefault) DebugEndpointsEnabled() bool

func (*ConfigurationDefault) DisableOpenTelemetry

func (c *ConfigurationDefault) DisableOpenTelemetry() bool

func (*ConfigurationDefault) DoDatabaseMigrate

func (c *ConfigurationDefault) DoDatabaseMigrate() bool

func (*ConfigurationDefault) Environment

func (c *ConfigurationDefault) Environment() string

func (*ConfigurationDefault) GetAuthorizationServiceReadURI

func (c *ConfigurationDefault) GetAuthorizationServiceReadURI() string

func (*ConfigurationDefault) GetAuthorizationServiceWriteURI

func (c *ConfigurationDefault) GetAuthorizationServiceWriteURI() string

func (*ConfigurationDefault) GetCPUFactor

func (c *ConfigurationDefault) GetCPUFactor() int

func (*ConfigurationDefault) GetCapacity

func (c *ConfigurationDefault) GetCapacity() int

func (*ConfigurationDefault) GetCount

func (c *ConfigurationDefault) GetCount() int

func (*ConfigurationDefault) GetDatabaseMigrationPath

func (c *ConfigurationDefault) GetDatabaseMigrationPath() string

func (*ConfigurationDefault) GetDatabasePrimaryHostURL

func (c *ConfigurationDefault) GetDatabasePrimaryHostURL() []string

func (*ConfigurationDefault) GetDatabaseReplicaHostURL

func (c *ConfigurationDefault) GetDatabaseReplicaHostURL() []string

func (*ConfigurationDefault) GetDatabaseSlowQueryLogThreshold

func (c *ConfigurationDefault) GetDatabaseSlowQueryLogThreshold() time.Duration

func (*ConfigurationDefault) GetEventsQueueName

func (c *ConfigurationDefault) GetEventsQueueName() string

func (*ConfigurationDefault) GetEventsQueueURL

func (c *ConfigurationDefault) GetEventsQueueURL() string

func (*ConfigurationDefault) GetExpiryDuration

func (c *ConfigurationDefault) GetExpiryDuration() time.Duration

func (*ConfigurationDefault) GetMaxConnectionLifeTimeInSeconds

func (c *ConfigurationDefault) GetMaxConnectionLifeTimeInSeconds() time.Duration

func (*ConfigurationDefault) GetMaxIdleConnections

func (c *ConfigurationDefault) GetMaxIdleConnections() int

func (*ConfigurationDefault) GetMaxOpenConnections

func (c *ConfigurationDefault) GetMaxOpenConnections() int

func (*ConfigurationDefault) GetOauth2AuthorizationEndpoint

func (c *ConfigurationDefault) GetOauth2AuthorizationEndpoint() string

func (*ConfigurationDefault) GetOauth2EndSessionEndpoint

func (c *ConfigurationDefault) GetOauth2EndSessionEndpoint() string

func (*ConfigurationDefault) GetOauth2Issuer

func (c *ConfigurationDefault) GetOauth2Issuer() string

func (*ConfigurationDefault) GetOauth2PrivateKeyJWTConfig added in v1.77.1

func (c *ConfigurationDefault) GetOauth2PrivateKeyJWTConfig() *PrivateKeyJWTConfig

func (*ConfigurationDefault) GetOauth2RegistrationEndpoint

func (c *ConfigurationDefault) GetOauth2RegistrationEndpoint() string

func (*ConfigurationDefault) GetOauth2RevocationEndpoint

func (c *ConfigurationDefault) GetOauth2RevocationEndpoint() string

func (*ConfigurationDefault) GetOauth2ServiceAdminURI

func (c *ConfigurationDefault) GetOauth2ServiceAdminURI() string

func (*ConfigurationDefault) GetOauth2ServiceAudience

func (c *ConfigurationDefault) GetOauth2ServiceAudience() []string

func (*ConfigurationDefault) GetOauth2ServiceClientID

func (c *ConfigurationDefault) GetOauth2ServiceClientID() string

func (*ConfigurationDefault) GetOauth2ServiceClientSecret

func (c *ConfigurationDefault) GetOauth2ServiceClientSecret() string

func (*ConfigurationDefault) GetOauth2ServiceURI

func (c *ConfigurationDefault) GetOauth2ServiceURI() string

func (*ConfigurationDefault) GetOauth2TokenEndpoint

func (c *ConfigurationDefault) GetOauth2TokenEndpoint() string

func (*ConfigurationDefault) GetOauth2TokenEndpointAuthMethod added in v1.77.1

func (c *ConfigurationDefault) GetOauth2TokenEndpointAuthMethod() string

func (*ConfigurationDefault) GetOauth2UserInfoEndpoint

func (c *ConfigurationDefault) GetOauth2UserInfoEndpoint() string

func (*ConfigurationDefault) GetOauth2WellKnownJwk

func (c *ConfigurationDefault) GetOauth2WellKnownJwk() string

func (*ConfigurationDefault) GetOauth2WellKnownJwkData

func (c *ConfigurationDefault) GetOauth2WellKnownJwkData() string

func (*ConfigurationDefault) GetOauth2WellKnownOIDC

func (c *ConfigurationDefault) GetOauth2WellKnownOIDC() string

func (*ConfigurationDefault) GetTrustedDomain added in v1.77.0

func (c *ConfigurationDefault) GetTrustedDomain() string

func (*ConfigurationDefault) GetVerificationAudience added in v1.67.0

func (c *ConfigurationDefault) GetVerificationAudience() []string

func (*ConfigurationDefault) GetVerificationIssuer added in v1.67.0

func (c *ConfigurationDefault) GetVerificationIssuer() string

func (*ConfigurationDefault) HTTPIdleTimeout added in v1.77.0

func (c *ConfigurationDefault) HTTPIdleTimeout() time.Duration

func (*ConfigurationDefault) HTTPMaxHeaderBytes added in v1.77.0

func (c *ConfigurationDefault) HTTPMaxHeaderBytes() int

func (*ConfigurationDefault) HTTPPort

func (c *ConfigurationDefault) HTTPPort() string

func (*ConfigurationDefault) HTTPReadHeaderTimeout added in v1.77.0

func (c *ConfigurationDefault) HTTPReadHeaderTimeout() time.Duration

func (*ConfigurationDefault) HTTPReadTimeout added in v1.77.0

func (c *ConfigurationDefault) HTTPReadTimeout() time.Duration

func (*ConfigurationDefault) HTTPShutdownTimeout added in v1.77.0

func (c *ConfigurationDefault) HTTPShutdownTimeout() time.Duration

func (*ConfigurationDefault) HTTPWriteTimeout added in v1.77.0

func (c *ConfigurationDefault) HTTPWriteTimeout() time.Duration

func (*ConfigurationDefault) IsRunSecurely

func (c *ConfigurationDefault) IsRunSecurely() bool

func (*ConfigurationDefault) LoadOauth2Config

func (c *ConfigurationDefault) LoadOauth2Config(ctx context.Context) error

func (*ConfigurationDefault) LoggingColored

func (c *ConfigurationDefault) LoggingColored() bool

func (*ConfigurationDefault) LoggingFormat

func (c *ConfigurationDefault) LoggingFormat() string

func (*ConfigurationDefault) LoggingLevel

func (c *ConfigurationDefault) LoggingLevel() string

func (*ConfigurationDefault) LoggingLevelIsDebug

func (c *ConfigurationDefault) LoggingLevelIsDebug() bool

func (*ConfigurationDefault) LoggingShowStackTrace

func (c *ConfigurationDefault) LoggingShowStackTrace() bool

func (*ConfigurationDefault) LoggingTimeFormat

func (c *ConfigurationDefault) LoggingTimeFormat() string

func (*ConfigurationDefault) Name

func (c *ConfigurationDefault) Name() string

func (*ConfigurationDefault) Port

func (c *ConfigurationDefault) Port() string

func (*ConfigurationDefault) PreferSimpleProtocol

func (c *ConfigurationDefault) PreferSimpleProtocol() bool

func (*ConfigurationDefault) ProfilerEnabled added in v1.68.15

func (c *ConfigurationDefault) ProfilerEnabled() bool

func (*ConfigurationDefault) ProfilerPort added in v1.68.15

func (c *ConfigurationDefault) ProfilerPort() string

func (*ConfigurationDefault) RuntimeMode added in v1.73.0

func (c *ConfigurationDefault) RuntimeMode() string

func (*ConfigurationDefault) SamplingRatio

func (c *ConfigurationDefault) SamplingRatio() float64

func (*ConfigurationDefault) ServiceGroup added in v1.73.0

func (c *ConfigurationDefault) ServiceGroup() string

func (*ConfigurationDefault) ServiceID added in v1.73.0

func (c *ConfigurationDefault) ServiceID() string

func (*ConfigurationDefault) SetOIDCValue added in v1.76.6

func (c *ConfigurationDefault) SetOIDCValue(key string, value any)

SetOIDCValue sets a value in the OIDC discovery map. This is useful for tests that need to manually configure OIDC endpoints without performing actual OIDC discovery.

func (*ConfigurationDefault) SetTLSCertAndKeyPath

func (c *ConfigurationDefault) SetTLSCertAndKeyPath(certificatePath, certificateKeyPath string)

func (*ConfigurationDefault) SkipDefaultTransaction

func (c *ConfigurationDefault) SkipDefaultTransaction() bool

func (*ConfigurationDefault) TLSCertKeyPath

func (c *ConfigurationDefault) TLSCertKeyPath() string

func (*ConfigurationDefault) TLSCertPath

func (c *ConfigurationDefault) TLSCertPath() string

func (*ConfigurationDefault) TraceReq added in v1.63.0

func (c *ConfigurationDefault) TraceReq() bool

func (*ConfigurationDefault) TraceReqLogBody added in v1.68.0

func (c *ConfigurationDefault) TraceReqLogBody() bool

func (*ConfigurationDefault) Version

func (c *ConfigurationDefault) Version() string

type ConfigurationEvents

type ConfigurationEvents interface {
	GetEventsQueueName() string
	GetEventsQueueURL() string
}

type ConfigurationHTTPServer added in v1.77.0

type ConfigurationHTTPServer interface {
	HTTPReadTimeout() time.Duration
	HTTPReadHeaderTimeout() time.Duration
	HTTPWriteTimeout() time.Duration
	HTTPIdleTimeout() time.Duration
	HTTPShutdownTimeout() time.Duration
	HTTPMaxHeaderBytes() int
}

type ConfigurationJWTVerification added in v1.67.0

type ConfigurationJWTVerification interface {
	GetOauth2WellKnownJwk() string
	GetOauth2WellKnownJwkData() string
	GetVerificationAudience() []string
	GetVerificationIssuer() string
}

type ConfigurationLogLevel

type ConfigurationLogLevel interface {
	LoggingLevel() string
	LoggingFormat() string
	LoggingTimeFormat() string
	LoggingShowStackTrace() bool
	LoggingColored() bool
	LoggingLevelIsDebug() bool
}

type ConfigurationOAUTH2

type ConfigurationOAUTH2 interface {
	LoadOauth2Config(ctx context.Context) error
	GetOauth2WellKnownOIDC() string
	GetOauth2WellKnownJwk() string
	GetOauth2WellKnownJwkData() string
	GetOauth2Issuer() string
	GetOauth2AuthorizationEndpoint() string
	GetOauth2RegistrationEndpoint() string
	GetOauth2TokenEndpoint() string
	GetOauth2UserInfoEndpoint() string
	GetOauth2RevocationEndpoint() string
	GetOauth2EndSessionEndpoint() string
	GetOauth2ServiceURI() string
	GetOauth2ServiceClientID() string
	GetOauth2ServiceClientSecret() string
	GetOauth2TokenEndpointAuthMethod() string
	GetOauth2PrivateKeyJWTConfig() *PrivateKeyJWTConfig
	GetOauth2ServiceAudience() []string
	GetOauth2ServiceAdminURI() string
}

type ConfigurationPorts

type ConfigurationPorts interface {
	Port() string
	HTTPPort() string
}

type ConfigurationProfiler added in v1.68.15

type ConfigurationProfiler interface {
	ProfilerEnabled() bool
	ProfilerPort() string
}

type ConfigurationRuntime added in v1.73.0

type ConfigurationRuntime interface {
	RuntimeMode() string
	ServiceID() string
	ServiceGroup() string
}

type ConfigurationSecurity

type ConfigurationSecurity interface {
	IsRunSecurely() bool
}

type ConfigurationService

type ConfigurationService interface {
	Name() string
	Environment() string
	Version() string
}

type ConfigurationTLS

type ConfigurationTLS interface {
	TLSCertPath() string
	TLSCertKeyPath() string
	SetTLSCertAndKeyPath(certificatePath, certificateKeyPath string)
}

type ConfigurationTelemetry

type ConfigurationTelemetry interface {
	DisableOpenTelemetry() bool
	SamplingRatio() float64
}

type ConfigurationTraceRequests added in v1.63.0

type ConfigurationTraceRequests interface {
	TraceReq() bool
	TraceReqLogBody() bool
}

type ConfigurationWorkerPool

type ConfigurationWorkerPool interface {
	GetCPUFactor() int
	GetCapacity() int
	GetCount() int
	GetExpiryDuration() time.Duration
}

type ConfigurationWorkloadAPI added in v1.77.0

type ConfigurationWorkloadAPI interface {
	GetTrustedDomain() string
}

type JSONWebKeys

type JSONWebKeys struct {
	Kty string   `json:"kty"`
	Kid string   `json:"kid"`
	Use string   `json:"use"`
	N   string   `json:"n"`
	E   string   `json:"e"`
	X5c []string `json:"x5c"`
}

type Jwks

type Jwks struct {
	Keys []JSONWebKeys `json:"keys"`
}

type OAuth2PrivateJWTKeyConfig added in v1.77.1

type OAuth2PrivateJWTKeyConfig struct {
	PrivateKeyPEM  string `json:"private_key_pem" yaml:"private_key_pem"`
	PrivateKeyPath string `json:"private_key_path" yaml:"private_key_path"`
	Source         string `json:"source" yaml:"source"`
	SPIFFEID       string `json:"spiffe_id" yaml:"spiffe_id"`
	Hint           string `json:"hint" yaml:"hint"`
	KeyID          string `json:"key_id" yaml:"key_id"`
	Audience       string `json:"audience" yaml:"audience"`
	Issuer         string `json:"issuer" yaml:"issuer"`
	Subject        string `json:"subject" yaml:"subject"`
}

func (*OAuth2PrivateJWTKeyConfig) IsZero added in v1.77.1

func (c *OAuth2PrivateJWTKeyConfig) IsZero() bool

func (*OAuth2PrivateJWTKeyConfig) ToPrivateKeyJWTConfig added in v1.77.1

func (c *OAuth2PrivateJWTKeyConfig) ToPrivateKeyJWTConfig() *PrivateKeyJWTConfig

func (*OAuth2PrivateJWTKeyConfig) UnmarshalJSON added in v1.77.1

func (c *OAuth2PrivateJWTKeyConfig) UnmarshalJSON(text []byte) error

func (*OAuth2PrivateJWTKeyConfig) UnmarshalText added in v1.77.1

func (c *OAuth2PrivateJWTKeyConfig) UnmarshalText(text []byte) error

type OIDCMap

type OIDCMap map[string]any

type PrivateKeyJWTConfig added in v1.77.1

type PrivateKeyJWTConfig struct {
	PrivateKeyPEM  []byte
	PrivateKeyPath string
	Source         string
	SPIFFEID       string
	Hint           string
	KeyID          string
	Audience       string
	Issuer         string
	Subject        string
}

func (PrivateKeyJWTConfig) IsZero added in v1.77.1

func (c PrivateKeyJWTConfig) IsZero() bool

Jump to

Keyboard shortcuts

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