Documentation
¶
Index ¶
- Constants
- func FillEnv(v any) error
- func FromContext[T any](ctx context.Context) T
- func FromEnv[T any]() (T, error)
- func LoadWithOIDC[T any](ctx context.Context) (T, error)
- func ToContext(ctx context.Context, config any) context.Context
- type ConfigurationAuthorization
- type ConfigurationDatabase
- type ConfigurationDatabaseTracing
- type ConfigurationDefault
- func (c *ConfigurationDefault) CanDatabaseTraceQueries() bool
- func (c *ConfigurationDefault) DisableOpenTelemetry() bool
- func (c *ConfigurationDefault) DoDatabaseMigrate() bool
- func (c *ConfigurationDefault) Environment() 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) GetMaxConnectionLifeTimeInSeconds() time.Duration
- func (c *ConfigurationDefault) GetMaxIdleConnections() int
- func (c *ConfigurationDefault) GetMaxOpenConnections() int
- func (c *ConfigurationDefault) GetOauth2AuthorizationEndpoint() string
- func (c *ConfigurationDefault) GetOauth2EndSessionEndpoint() string
- func (c *ConfigurationDefault) GetOauth2Issuer() string
- func (c *ConfigurationDefault) GetOauth2RegistrationEndpoint() string
- func (c *ConfigurationDefault) GetOauth2RevocationEndpoint() string
- func (c *ConfigurationDefault) GetOauth2ServiceAdminURI() string
- func (c *ConfigurationDefault) GetOauth2ServiceAudience() []string
- func (c *ConfigurationDefault) GetOauth2ServiceClientID() string
- func (c *ConfigurationDefault) GetOauth2ServiceClientSecret() string
- func (c *ConfigurationDefault) GetOauth2ServiceURI() string
- func (c *ConfigurationDefault) GetOauth2TokenEndpoint() string
- func (c *ConfigurationDefault) GetOauth2UserInfoEndpoint() string
- func (c *ConfigurationDefault) GetOauth2WellKnownJwk() string
- func (c *ConfigurationDefault) GetOauth2WellKnownJwkData() string
- func (c *ConfigurationDefault) GetOauth2WellKnownOIDC() string
- func (c *ConfigurationDefault) GetVerificationAudience() []string
- func (c *ConfigurationDefault) GetVerificationIssuer() string
- func (c *ConfigurationDefault) GrpcPort() string
- func (c *ConfigurationDefault) HTTPPort() string
- 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) SamplingRatio() float64
- 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) Version() string
- type ConfigurationEvents
- type ConfigurationJWTVerification
- type ConfigurationLogLevel
- type ConfigurationOAUTH2
- type ConfigurationPorts
- type ConfigurationProfiler
- type ConfigurationSecurity
- type ConfigurationService
- type ConfigurationTLS
- type ConfigurationTelemetry
- type ConfigurationTraceRequests
- type ConfigurationWorkerPool
- type JSONWebKeys
- type Jwks
- type OIDCMap
Constants ¶
View Source
const (
DefaultSlowQueryThreshold = 200 * time.Millisecond
)
Variables ¶
This section is empty.
Functions ¶
func FromContext ¶
FromContext extracts service configuration from the supplied context if any exist.
func LoadWithOIDC ¶
LoadWithOIDC convenience method to process configs.
Types ¶
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 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:"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"`
ServerPort string `envDefault:":7000" env:"PORT" yaml:"server_port"`
HTTPServerPort string `envDefault:":8080" env:"HTTP_PORT" yaml:"http_server_port"`
GrpcServerPort string `envDefault:":50051" env:"GRPC_PORT" yaml:"grpc_server_port"`
// 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"`
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"`
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) CanDatabaseTraceQueries ¶
func (c *ConfigurationDefault) CanDatabaseTraceQueries() 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) 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) 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) 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) GrpcPort ¶
func (c *ConfigurationDefault) GrpcPort() string
func (*ConfigurationDefault) HTTPPort ¶
func (c *ConfigurationDefault) HTTPPort() string
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) SamplingRatio ¶
func (c *ConfigurationDefault) SamplingRatio() float64
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 ConfigurationJWTVerification ¶ added in v1.67.0
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
GetOauth2ServiceAudience() []string
GetOauth2ServiceAdminURI() string
}
type ConfigurationPorts ¶
type ConfigurationProfiler ¶ added in v1.68.15
type ConfigurationSecurity ¶
type ConfigurationSecurity interface {
IsRunSecurely() bool
}
type ConfigurationService ¶
type ConfigurationTLS ¶
type ConfigurationTelemetry ¶
type ConfigurationTraceRequests ¶ added in v1.63.0
type ConfigurationWorkerPool ¶
type JSONWebKeys ¶
type Jwks ¶
type Jwks struct {
Keys []JSONWebKeys `json:"keys"`
}
Click to show internal directories.
Click to hide internal directories.