Documentation
¶
Index ¶
- Constants
- func FillEnv(v any) error
- func FromContext[T any](ctx context.Context) T
- func FromEnv[T any]() (T, error)
- func IsMonolith(cfg ConfigurationRuntime) bool
- func IsPolylith(cfg ConfigurationRuntime) bool
- func LoadWithOIDC[T any](ctx context.Context) (T, error)
- func NormalizeRuntimeMode(mode string) string
- func ResourceAudienceStrings(audiences []ResourceAudience) []string
- func ToContext(ctx context.Context, config any) context.Context
- type AudienceBaseURL
- type ClientAssertionAudience
- type ConfigurationAuthorization
- type ConfigurationDatabase
- type ConfigurationDatabaseTracing
- type ConfigurationDebug
- type ConfigurationDefault
- func (c *ConfigurationDefault) AuthorizationServiceCanRead() bool
- func (c *ConfigurationDefault) AuthorizationServiceCanWrite() bool
- func (c *ConfigurationDefault) CanDatabaseTraceQueries() bool
- func (c *ConfigurationDefault) DebugEndpointsBasePath() string
- func (c *ConfigurationDefault) DebugEndpointsEnabled() bool
- func (c *ConfigurationDefault) DisableOpenTelemetry() bool
- func (c *ConfigurationDefault) DoDatabaseMigrate() bool
- func (c *ConfigurationDefault) Environment() string
- func (c *ConfigurationDefault) GetAuthorizationMode() string
- func (c *ConfigurationDefault) GetAuthorizationServiceReadURI() string
- func (c *ConfigurationDefault) GetAuthorizationServiceWriteURI() string
- func (c *ConfigurationDefault) GetCPUFactor() int
- func (c *ConfigurationDefault) GetCapacity() int
- func (c *ConfigurationDefault) GetCount() int
- func (c *ConfigurationDefault) GetDatabaseMigrationPath() string
- func (c *ConfigurationDefault) GetDatabasePrimaryHostURL() []string
- func (c *ConfigurationDefault) GetDatabaseReplicaHostURL() []string
- func (c *ConfigurationDefault) GetDatabaseSlowQueryLogThreshold() time.Duration
- func (c *ConfigurationDefault) GetEventsQueueName() string
- func (c *ConfigurationDefault) GetEventsQueueURL() string
- func (c *ConfigurationDefault) GetExpiryDuration() time.Duration
- func (c *ConfigurationDefault) GetHTTPClientIdleTimeout() time.Duration
- func (c *ConfigurationDefault) GetHTTPClientTimeout() time.Duration
- func (c *ConfigurationDefault) GetMaxConnectionLifeTimeInSeconds() time.Duration
- func (c *ConfigurationDefault) GetMaxIdleConnections() int
- func (c *ConfigurationDefault) GetMaxOpenConnections() int
- func (c *ConfigurationDefault) GetOauth2AudienceBaseURL() string
- func (c *ConfigurationDefault) GetOauth2AuthorizationEndpoint() string
- func (c *ConfigurationDefault) GetOauth2ClientAssertionAudience() string
- func (c *ConfigurationDefault) GetOauth2EndSessionEndpoint() string
- func (c *ConfigurationDefault) GetOauth2Issuer() string
- func (c *ConfigurationDefault) GetOauth2PrivateKeyJWTConfig() *PrivateKeyJWTConfig
- func (c *ConfigurationDefault) GetOauth2RegistrationEndpoint() string
- func (c *ConfigurationDefault) GetOauth2RequestedAudiences() []string
- func (c *ConfigurationDefault) GetOauth2RevocationEndpoint() string
- func (c *ConfigurationDefault) GetOauth2ServiceAdminURI() string
- func (c *ConfigurationDefault) GetOauth2ServiceClientID() string
- func (c *ConfigurationDefault) GetOauth2ServiceClientSecret() string
- func (c *ConfigurationDefault) GetOauth2ServiceURI() string
- func (c *ConfigurationDefault) GetOauth2TokenEndpoint() string
- func (c *ConfigurationDefault) GetOauth2TokenEndpointAuthMethod() string
- func (c *ConfigurationDefault) GetOauth2UserInfoEndpoint() string
- func (c *ConfigurationDefault) GetOauth2WellKnownJwk() string
- func (c *ConfigurationDefault) GetOauth2WellKnownJwkData() string
- func (c *ConfigurationDefault) GetOauth2WellKnownOIDC() string
- func (c *ConfigurationDefault) GetResourceAudience() string
- func (c *ConfigurationDefault) GetTrustedDomain() string
- func (c *ConfigurationDefault) GetVerificationIssuer() string
- func (c *ConfigurationDefault) HTTPIdleTimeout() time.Duration
- func (c *ConfigurationDefault) HTTPMaxHeaderBytes() int
- func (c *ConfigurationDefault) HTTPPort() string
- func (c *ConfigurationDefault) HTTPReadHeaderTimeout() time.Duration
- func (c *ConfigurationDefault) HTTPReadTimeout() time.Duration
- func (c *ConfigurationDefault) HTTPShutdownTimeout() time.Duration
- func (c *ConfigurationDefault) HTTPWriteTimeout() time.Duration
- func (c *ConfigurationDefault) IsRunSecurely() bool
- func (c *ConfigurationDefault) LoadOauth2Config(ctx context.Context) error
- func (c *ConfigurationDefault) LoggingColored() bool
- func (c *ConfigurationDefault) LoggingFormat() string
- func (c *ConfigurationDefault) LoggingLevel() string
- func (c *ConfigurationDefault) LoggingLevelIsDebug() bool
- func (c *ConfigurationDefault) LoggingShowStackTrace() bool
- func (c *ConfigurationDefault) LoggingTimeFormat() string
- func (c *ConfigurationDefault) Name() string
- func (c *ConfigurationDefault) Port() string
- func (c *ConfigurationDefault) PreferSimpleProtocol() bool
- func (c *ConfigurationDefault) ProfilerEnabled() bool
- func (c *ConfigurationDefault) ProfilerPort() string
- func (c *ConfigurationDefault) RuntimeMode() string
- func (c *ConfigurationDefault) SamplingRatio() float64
- func (c *ConfigurationDefault) ServiceGroup() string
- func (c *ConfigurationDefault) ServiceID() string
- func (c *ConfigurationDefault) SetOIDCValue(key string, value any)
- func (c *ConfigurationDefault) SetTLSCertAndKeyPath(certificatePath, certificateKeyPath string)
- func (c *ConfigurationDefault) SkipDefaultTransaction() bool
- func (c *ConfigurationDefault) TLSCertKeyPath() string
- func (c *ConfigurationDefault) TLSCertPath() string
- func (c *ConfigurationDefault) TraceReq() bool
- func (c *ConfigurationDefault) TraceReqLogBody() bool
- func (c *ConfigurationDefault) ValidateOAuth2Configuration() error
- func (c *ConfigurationDefault) Version() string
- type ConfigurationEvents
- type ConfigurationHTTPClient
- type ConfigurationHTTPServer
- type ConfigurationJWTVerification
- type ConfigurationLogLevel
- type ConfigurationOAUTH2
- type ConfigurationPorts
- type ConfigurationProfiler
- type ConfigurationRuntime
- type ConfigurationSecurity
- type ConfigurationService
- type ConfigurationTLS
- type ConfigurationTelemetry
- type ConfigurationTraceRequests
- type ConfigurationWorkerPool
- type ConfigurationWorkloadAPI
- type JSONWebKeys
- type Jwks
- type OAuth2PrivateJWTKeyConfig
- type OIDCMap
- type PrivateKeyJWTConfig
- type ResourceAudience
Constants ¶
const ( DefaultSlowQueryThreshold = 200 * time.Millisecond //nolint:gosec // configuration key, not a credential TokenEndpointAuthMethodPrivateKeyJWT = "private_key_jwt" PrivateKeyJWTSourceWorkloadAPI = "workload_api" PrivateKeyJWTSourceURL = "url" )
const ( AuthorizationModeEnforced = "enforced" AuthorizationModeDisabled = "disabled" )
const ( RuntimeModeMonolith = "monolith" RuntimeModePolylith = "polylith" )
Variables ¶
This section is empty.
Functions ¶
func FromContext ¶
FromContext extracts service configuration from the supplied context if any exist.
func IsMonolith ¶
func IsMonolith(cfg ConfigurationRuntime) bool
func IsPolylith ¶
func IsPolylith(cfg ConfigurationRuntime) bool
func LoadWithOIDC ¶
LoadWithOIDC convenience method to process configs.
func NormalizeRuntimeMode ¶
func ResourceAudienceStrings ¶
func ResourceAudienceStrings(audiences []ResourceAudience) []string
Types ¶
type AudienceBaseURL ¶
type AudienceBaseURL string
func ParseAudienceBaseURL ¶
func ParseAudienceBaseURL(value string) (AudienceBaseURL, error)
type ClientAssertionAudience ¶
type ClientAssertionAudience string
func ParseClientAssertionAudience ¶
func ParseClientAssertionAudience(value string) (ClientAssertionAudience, error)
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 ConfigurationDebug ¶
type ConfigurationDefault ¶
type ConfigurationDefault struct {
LogLevel string `envDefault:"info" env:"LOG_LEVEL" yaml:"log_level"`
LogFormat string `envDefault:"text" 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"`
// HTTPClientTimeout is the per-request timeout applied to outbound
// http.Client.Do calls performed by the Frame-instrumented HTTP client.
// Doubles as a downstream backpressure valve: setting it longer than
// a slow upstream's worst-case response time lets clients wait
// rather than retry-storm; setting it shorter sheds load when a
// downstream is unhealthy. Default 30s.
HTTPClientTimeout string `envDefault:"30s" env:"HTTP_CLIENT_TIMEOUT" yaml:"http_client_timeout"`
// HTTPClientIdleTimeout is the connection idle timeout for outbound
// http.Transport keep-alive pools. Default 90s.
HTTPClientIdleTimeout string `envDefault:"90s" env:"HTTP_CLIENT_IDLE_TIMEOUT" yaml:"http_client_idle_timeout"`
// 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"`
Oauth2RequestedAudiences []string `env:"OAUTH2_REQUESTED_AUDIENCES" yaml:"oauth2_requested_audiences"`
Oauth2AudienceBaseURL string `env:"OAUTH2_AUDIENCE_BASE_URL" yaml:"oauth2_audience_base_url"`
Oauth2ClientAssertionAudience string `env:"OAUTH2_CLIENT_ASSERTION_AUDIENCE" yaml:"oauth2_client_assertion_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"`
Oauth2SignerAPIKey string `env:"OAUTH2_SIGNER_API_KEY" yaml:"oauth2_signer_api_key"`
Oauth2WellKnownJwkData string `env:"OAUTH2_WELL_KNOWN_JWK_DATA" yaml:"oauth2_well_known_jwk_data"`
Oauth2ResourceAudience string `env:"OAUTH2_RESOURCE_AUDIENCE" yaml:"oauth2_resource_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"`
AuthorizationMode string `env:"AUTHORIZATION_MODE" yaml:"authorization_mode" envDefault:"enforced"`
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 ¶
func (c *ConfigurationDefault) AuthorizationServiceCanRead() bool
func (*ConfigurationDefault) AuthorizationServiceCanWrite ¶
func (c *ConfigurationDefault) AuthorizationServiceCanWrite() bool
func (*ConfigurationDefault) CanDatabaseTraceQueries ¶
func (c *ConfigurationDefault) CanDatabaseTraceQueries() bool
func (*ConfigurationDefault) DebugEndpointsBasePath ¶
func (c *ConfigurationDefault) DebugEndpointsBasePath() string
func (*ConfigurationDefault) DebugEndpointsEnabled ¶
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) GetAuthorizationMode ¶
func (c *ConfigurationDefault) GetAuthorizationMode() 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) GetHTTPClientIdleTimeout ¶
func (c *ConfigurationDefault) GetHTTPClientIdleTimeout() time.Duration
GetHTTPClientIdleTimeout returns the configured outbound HTTP idle-conn timeout (env HTTP_CLIENT_IDLE_TIMEOUT), falling back to the default.
func (*ConfigurationDefault) GetHTTPClientTimeout ¶
func (c *ConfigurationDefault) GetHTTPClientTimeout() time.Duration
GetHTTPClientTimeout returns the configured outbound HTTP request timeout (env HTTP_CLIENT_TIMEOUT), falling back to defaultHTTPClientTimeout when unset or unparseable.
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) GetOauth2AudienceBaseURL ¶
func (c *ConfigurationDefault) GetOauth2AudienceBaseURL() string
func (*ConfigurationDefault) GetOauth2AuthorizationEndpoint ¶
func (c *ConfigurationDefault) GetOauth2AuthorizationEndpoint() string
func (*ConfigurationDefault) GetOauth2ClientAssertionAudience ¶
func (c *ConfigurationDefault) GetOauth2ClientAssertionAudience() string
func (*ConfigurationDefault) GetOauth2EndSessionEndpoint ¶
func (c *ConfigurationDefault) GetOauth2EndSessionEndpoint() string
func (*ConfigurationDefault) GetOauth2Issuer ¶
func (c *ConfigurationDefault) GetOauth2Issuer() string
func (*ConfigurationDefault) GetOauth2PrivateKeyJWTConfig ¶
func (c *ConfigurationDefault) GetOauth2PrivateKeyJWTConfig() *PrivateKeyJWTConfig
func (*ConfigurationDefault) GetOauth2RegistrationEndpoint ¶
func (c *ConfigurationDefault) GetOauth2RegistrationEndpoint() string
func (*ConfigurationDefault) GetOauth2RequestedAudiences ¶
func (c *ConfigurationDefault) GetOauth2RequestedAudiences() []string
func (*ConfigurationDefault) GetOauth2RevocationEndpoint ¶
func (c *ConfigurationDefault) GetOauth2RevocationEndpoint() string
func (*ConfigurationDefault) GetOauth2ServiceAdminURI ¶
func (c *ConfigurationDefault) GetOauth2ServiceAdminURI() 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 ¶
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) GetResourceAudience ¶
func (c *ConfigurationDefault) GetResourceAudience() string
func (*ConfigurationDefault) GetTrustedDomain ¶
func (c *ConfigurationDefault) GetTrustedDomain() string
func (*ConfigurationDefault) GetVerificationIssuer ¶
func (c *ConfigurationDefault) GetVerificationIssuer() string
func (*ConfigurationDefault) HTTPIdleTimeout ¶
func (c *ConfigurationDefault) HTTPIdleTimeout() time.Duration
func (*ConfigurationDefault) HTTPMaxHeaderBytes ¶
func (c *ConfigurationDefault) HTTPMaxHeaderBytes() int
func (*ConfigurationDefault) HTTPPort ¶
func (c *ConfigurationDefault) HTTPPort() string
func (*ConfigurationDefault) HTTPReadHeaderTimeout ¶
func (c *ConfigurationDefault) HTTPReadHeaderTimeout() time.Duration
func (*ConfigurationDefault) HTTPReadTimeout ¶
func (c *ConfigurationDefault) HTTPReadTimeout() time.Duration
func (*ConfigurationDefault) HTTPShutdownTimeout ¶
func (c *ConfigurationDefault) HTTPShutdownTimeout() time.Duration
func (*ConfigurationDefault) HTTPWriteTimeout ¶
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 ¶
func (c *ConfigurationDefault) ProfilerEnabled() bool
func (*ConfigurationDefault) ProfilerPort ¶
func (c *ConfigurationDefault) ProfilerPort() string
func (*ConfigurationDefault) RuntimeMode ¶
func (c *ConfigurationDefault) RuntimeMode() string
func (*ConfigurationDefault) SamplingRatio ¶
func (c *ConfigurationDefault) SamplingRatio() float64
func (*ConfigurationDefault) ServiceGroup ¶
func (c *ConfigurationDefault) ServiceGroup() string
func (*ConfigurationDefault) ServiceID ¶
func (c *ConfigurationDefault) ServiceID() string
func (*ConfigurationDefault) SetOIDCValue ¶
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 ¶
func (c *ConfigurationDefault) TraceReq() bool
func (*ConfigurationDefault) TraceReqLogBody ¶
func (c *ConfigurationDefault) TraceReqLogBody() bool
func (*ConfigurationDefault) ValidateOAuth2Configuration ¶
func (c *ConfigurationDefault) ValidateOAuth2Configuration() error
func (*ConfigurationDefault) Version ¶
func (c *ConfigurationDefault) Version() string
type ConfigurationEvents ¶
type ConfigurationHTTPClient ¶
type ConfigurationHTTPClient interface {
GetHTTPClientTimeout() time.Duration
GetHTTPClientIdleTimeout() time.Duration
}
ConfigurationHTTPClient surfaces outbound HTTP-client tunables to the `frame/client` package, which consults the in-context configuration to derive sensible defaults before user-supplied options are applied.
Both methods must return strictly positive durations; non-positive or unparseable values fall back to the package defaults.
type ConfigurationHTTPServer ¶
type ConfigurationLogLevel ¶
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
GetOauth2RequestedAudiences() []string
GetOauth2ClientAssertionAudience() string
GetOauth2ServiceAdminURI() string
}
type ConfigurationPorts ¶
type ConfigurationProfiler ¶
type ConfigurationRuntime ¶
type ConfigurationSecurity ¶
type ConfigurationSecurity interface {
IsRunSecurely() bool
}
type ConfigurationService ¶
type ConfigurationTLS ¶
type ConfigurationTelemetry ¶
type ConfigurationWorkerPool ¶
type ConfigurationWorkloadAPI ¶
type ConfigurationWorkloadAPI interface {
GetTrustedDomain() string
}
type JSONWebKeys ¶
type Jwks ¶
type Jwks struct {
Keys []JSONWebKeys `json:"keys"`
}
type OAuth2PrivateJWTKeyConfig ¶
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"`
SignerURL string `json:"signer_url" yaml:"signer_url"`
SignerAPIKey string `json:"signer_api_key" yaml:"signer_api_key"`
SPIFFEID string `json:"spiffe_id" yaml:"spiffe_id"`
Hint string `json:"hint" yaml:"hint"`
KeyID string `json:"key_id" yaml:"key_id"`
Issuer string `json:"issuer" yaml:"issuer"`
Subject string `json:"subject" yaml:"subject"`
}
func (*OAuth2PrivateJWTKeyConfig) IsZero ¶
func (c *OAuth2PrivateJWTKeyConfig) IsZero() bool
func (*OAuth2PrivateJWTKeyConfig) ToPrivateKeyJWTConfig ¶
func (c *OAuth2PrivateJWTKeyConfig) ToPrivateKeyJWTConfig() *PrivateKeyJWTConfig
func (*OAuth2PrivateJWTKeyConfig) UnmarshalJSON ¶
func (c *OAuth2PrivateJWTKeyConfig) UnmarshalJSON(text []byte) error
func (*OAuth2PrivateJWTKeyConfig) UnmarshalText ¶
func (c *OAuth2PrivateJWTKeyConfig) UnmarshalText(text []byte) error
type PrivateKeyJWTConfig ¶
type PrivateKeyJWTConfig struct {
PrivateKeyPEM []byte
PrivateKeyPath string
Source string
SignerURL string
SignerAPIKey string
SPIFFEID string
Hint string
KeyID string
ClientAssertionAudience string
Issuer string
Subject string
}
func (PrivateKeyJWTConfig) IsZero ¶
func (c PrivateKeyJWTConfig) IsZero() bool
type ResourceAudience ¶
type ResourceAudience string
func ParseResourceAudience ¶
func ParseResourceAudience(value string) (ResourceAudience, error)
func ParseResourceAudiences ¶
func ParseResourceAudiences(values []string) ([]ResourceAudience, error)