Documentation
¶
Index ¶
Constants ¶
View Source
const ( ErrInvalidTransactionID = DomainError("invalid transaction id") ErrInvalidEntryID = DomainError("invalid entry id") ErrInvalidOperation = DomainError("invalid operation") ErrInvalidAmount = DomainError("invalid amount") ErrInvalidEntriesNumber = DomainError("invalid entries number") ErrInvalidBalance = DomainError("invalid balance") ErrIdempotencyKeyViolation = DomainError("idempotency key violation") ErrInvalidVersion = DomainError("invalid version") ErrAccountNotFound = DomainError("account not found") ErrInvalidAccountStructure = DomainError("invalid account structure") ErrInvalidClassName = DomainError("invalid class name") )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { Server ServerConfig Metrics MetricsConfig Postgres PostgresConfig NewRelic NewRelicConfig }
func LoadConfig ¶
type DomainError ¶
type DomainError string
func (DomainError) Error ¶
func (err DomainError) Error() string
func (DomainError) Is ¶
func (err DomainError) Is(target error) bool
type MetricsConfig ¶
type MetricsConfig struct {
Prometheus PrometheusServerConfig
}
type NewRelicConfig ¶
type PostgresConfig ¶
type PostgresConfig struct { DatabaseName string `envconfig:"DATABASE_NAME" default:"dev"` User string `envconfig:"DATABASE_USER" default:"postgres"` Password string `envconfig:"DATABASE_PASSWORD" default:"postgres"` Host string `envconfig:"DATABASE_HOST" default:"localhost"` Port string `envconfig:"DATABASE_PORT" default:"5432"` PoolMinSize string `envconfig:"DATABASE_POOL_MIN_SIZE" default:"2"` PoolMaxSize string `envconfig:"DATABASE_POOL_MAX_SIZE" default:"10"` SSLMode string `envconfig:"DATABASE_SSLMODE" default:"disable"` SSLRootCert string `envconfig:"DATABASE_SSL_ROOTCERT"` SSLCert string `envconfig:"DATABASE_SSL_CERT"` SSLKey string `envconfig:"DATABASE_SSL_KEY"` }
func (PostgresConfig) DSN ¶
func (c PostgresConfig) DSN() string
func (PostgresConfig) URL ¶
func (c PostgresConfig) URL() string
type PrometheusServerConfig ¶
type PrometheusServerConfig struct { Port int `envconfig:"PROM_PORT" default:"3001"` ShutdownTimeout time.Duration `envconfig:"PROM_SHUTDOWN_TIMEOUT" default:"1s"` ReadTimeout time.Duration `envconfig:"PROM_READ_TIMEOUT" default:"30s"` WriteTimeout time.Duration `envconfig:"PROM_WRITE_TIMEOUT" default:"10s"` }
type ServerConfig ¶
type ServerConfig struct { Host string `envconfig:"GRPC_HOST" default:"0.0.0.0"` Port int `envconfig:"GRPC_PORT" default:"3000"` ShutdownTimeout time.Duration `envconfig:"APP_SHUTDOWN_TIMEOUT" default:"5s"` ReadTimeout time.Duration `envconfig:"GRPC_READ_TIMEOUT" default:"30s"` WriteTimeout time.Duration `envconfig:"GRPC_WRITE_TIMEOUT" default:"10s"` }
Click to show internal directories.
Click to hide internal directories.