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) 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) 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) Version() string
- type ConfigurationEvents
- type ConfigurationLogLevel
- type ConfigurationOAUTH2
- type ConfigurationPorts
- 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"`
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"`
Oauth2WellKnownJwkData string `env:"OAUTH2_WELL_KNOWN_JWK_DATA" yaml:"oauth2_well_known_jwk_data"`
Oauth2ServiceAudience string `env:"OAUTH2_SERVICE_AUDIENCE" yaml:"oauth2_service_audience"`
Oauth2JwtVerifyAudience string `env:"OAUTH2_JWT_VERIFY_AUDIENCE" yaml:"oauth2_jwt_verify_audience"`
Oauth2JwtVerifyIssuer string `env:"OAUTH2_JWT_VERIFY_ISSUER" yaml:"oauth2_jwt_verify_issuer"`
Oauth2ServiceClientID string `env:"OAUTH2_SERVICE_CLIENT_ID" yaml:"oauth2_service_client_id"`
Oauth2ServiceClientSecret string `env:"OAUTH2_SERVICE_CLIENT_SECRET" yaml:"oauth2_service_client_secret"`
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) 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) 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) Version ¶
func (c *ConfigurationDefault) Version() string
type ConfigurationEvents ¶
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 ConfigurationSecurity ¶
type ConfigurationSecurity interface {
IsRunSecurely() bool
}
type ConfigurationService ¶
type ConfigurationTLS ¶
type ConfigurationTelemetry ¶
type ConfigurationTraceRequests ¶ added in v1.63.0
type ConfigurationTraceRequests interface {
TraceReq() bool
}
type ConfigurationWorkerPool ¶
type JSONWebKeys ¶
type Jwks ¶
type Jwks struct {
Keys []JSONWebKeys `json:"keys"`
}
Click to show internal directories.
Click to hide internal directories.