Documentation ¶
Overview ¶
Package env работа с настройками и окружением.
Package env работа с настройками и окружением.
Package env работа с настройками и окружением.
Package env работа с настройками и окружением.
Package env работа с настройками и окружением.
Package env работа с настройками и окружением.
Package env работа с настройками и окружением.
Index ¶
- Constants
- Variables
- func WithCacheExpire(cacheExpire time.Duration) func(*mapProperties)
- func WithCacheGCInterval(cacheGCInterval time.Duration) func(*mapProperties)
- func WithConfig(config Config) func(*mapProperties)
- func WithEnvironments(env environments) func(*mapProperties)
- func WithExternalAssetGRPCAddress(address string) func(*mapProperties)
- func WithExternalAuthGRPCAddress(address string) func(*mapProperties)
- func WithExternalRequestTimeoutInterval(timeoutInterval time.Duration) func(*mapProperties)
- func WithFlags(flags map[string]interface{}) func(*mapProperties)
- func WithGRPCAddress(address string) func(*mapProperties)
- func WithGRPCTransportCredentials(tCredentials credentials.TransportCredentials) func(*mapProperties)
- func WithHTTPAddress(address string) func(*mapProperties)
- func WithHTTPTLSConfig(tCredentials *tls.Config) func(*mapProperties)
- func WithJwtExpiresIn(jwtExpiresIn time.Duration) func(*mapProperties)
- func WithJwtMaxAgeSec(maxAge int) func(*mapProperties)
- func WithJwtSecret(secret string) func(*mapProperties)
- func WithLogger(logger *slog.Logger) func(*mapProperties)
- func WithUpkRSAPrivateKey(privateKey *rsa.PrivateKey) func(*mapProperties)
- func WithUpkRSAPublicKey(publicKey *rsa.PublicKey) func(*mapProperties)
- func WithUpkSecretKey(secretKey []byte) func(*mapProperties)
- type Config
- type Properties
Constants ¶
const MSG = "go-favorites "
Variables ¶
var ErrEmptyAddress = fmt.Errorf("can't configure epmty address")
Functions ¶
func WithCacheExpire ¶
WithCacheExpire — срок действия записи в кэше.
func WithCacheGCInterval ¶
WithCacheGCInterval — интервал очистки кэша.
func WithEnvironments ¶
func WithEnvironments(env environments) func(*mapProperties)
WithEnvironments — Окружение.
func WithExternalAssetGRPCAddress ¶
func WithExternalAssetGRPCAddress(address string) func(*mapProperties)
WithExternalAssetGRPCAddress — внешний адрес gRPC-сервиса по биржевым инструментам.
func WithExternalAuthGRPCAddress ¶
func WithExternalAuthGRPCAddress(address string) func(*mapProperties)
WithExternalAuthGRPCAddress — внешний адрес gRPC-сервиса аутентификации пользователей.
func WithExternalRequestTimeoutInterval ¶
WithExternalRequestTimeoutInterval — интервал ожидания ответа от внешних gRPC-сервисов.
func WithFlags ¶
func WithFlags(flags map[string]interface{}) func(*mapProperties)
WithFlags — Флаги.
func WithGRPCAddress ¶
func WithGRPCAddress(address string) func(*mapProperties)
WithGRPCAddress — адрес gRPC сервера.
func WithGRPCTransportCredentials ¶
func WithGRPCTransportCredentials(tCredentials credentials.TransportCredentials) func(*mapProperties)
WithGRPCTransportCredentials — TLS реквизиты для gRPC-сервера.
func WithHTTPAddress ¶
func WithHTTPAddress(address string) func(*mapProperties)
WithHTTPAddress — адрес HTTP сервера.
func WithHTTPTLSConfig ¶
WithHTTPTLSConfig — TLS конфигурация для HTTP-сервера.
func WithJwtExpiresIn ¶
WithJwtExpiresIn — Утверждение «exp» (время истечения срока действия) определяет время истечения срока действия или после чего JWT НЕ ДОЛЖЕН приниматься в обработку.
func WithJwtMaxAgeSec ¶
func WithJwtMaxAgeSec(maxAge int) func(*mapProperties)
WithJwtMaxAgeSec — определяет время жизни куки в секундах.
func WithJwtSecret ¶
func WithJwtSecret(secret string) func(*mapProperties)
WithJwtSecret — секрет для подписи JWТокена.
func WithLogger ¶
WithLogger — логгер приложения.
func WithUpkRSAPrivateKey ¶
func WithUpkRSAPrivateKey(privateKey *rsa.PrivateKey) func(*mapProperties)
WithUpkRSAPrivateKey — RSA ключ для дешифрации секрета который применяется в симметричном шифровании UPK (User Personal Key).
func WithUpkRSAPublicKey ¶
WithUpkRSAPublicKey — RSA ключ для шифрования секрета который применяется в симметричном шифровании UPK (User Personal Key).
func WithUpkSecretKey ¶
func WithUpkSecretKey(secretKey []byte) func(*mapProperties)
WithUpkSecretKey — секрет симметричного шифрования UPK (User Personal Key).
Types ¶
type Config ¶
type Config interface { fmt.Stringer CacheEnabled() bool CacheExpireMs() int CacheGCIntervalSec() int DBEnabled() bool DBHost() string DBName() string DBPort() int DBUserName() string DBUserPassword() string Enabled() bool ExternalAssetGRPCAddress() string ExternalAuthGRPCAddress() string ExternalRequestTimeoutInterval() int GRPCAddress() string GRPCEnabled() bool GRPCPort() int GRPCProto() string GRPCTLSCAFile() string GRPCTLSCertFile() string GRPCTLSEnabled() bool GRPCTLSKeyFile() string HTTPAddress() string HTTPEnabled() bool HTTPPort() int HTTPTLSCAFile() string HTTPTLSCertFile() string HTTPTLSEnabled() bool HTTPTLSKeyFile() string JwtExpiresIn() time.Duration JwtMaxAgeSec() int JwtSecret() string MongoEnabled() bool MongoHost() string MongoName() string MongoPort() int MongoUserName() string MongoUserPassword() string Token() string UpkRSAPrivateKeyFile() string UpkRSAPublicKeyFile() string UpkSecret() string }
Config статичная конфигурация собранная из Yaml-файла.
func LoadConfig ¶
LoadConfig - TODO. Example:
favorites:
enabled: true cache: enabled: true expire_ms: 1000 gc_interval_sec: 10 db: enabled: true name: db host: localhost port: 5432 username: dbuser password: password external: asset_grpc_address: 127.0.0.1:8444 auth_grpc_address: 127.0.0.1:8444 request_timeout_interval_ms: 911 grpc: address: localhost enabled: true port: 8442 proto: tcp tls: enabled: true ca_file: cert/grpc-ca-cert.pem cert_file: cert/grpc-server-cert.pem key_file: cert/grpc-server-key.pem http: address: localhost enabled: true port: 8443 tls: enabled: true ca_file: cert/http-ca-cert.pem cert_file: cert/http-server-cert.pem key_file: cert/http-server-key.pem jwt: jwt_secret: TzzVGdLUJGcYKaf5he4zeLW5QdSJws9UoUug3Q3kCMeLVijBSjPY3k0pNu2XWhB jwt_expired_in: 60m jwt_max_age_sec: 3600 mongo: enabled: true name: db host: localhost port: 27017 username: mongouser password: password token: '$2a$11$ZTzzVGdLUJGcYKJws9UoUug3Q3kCMELVziajBSJPY3k0pNu2XWHBy' upk: rsa_private_key_file: cert/upk-private-key.pem rsa_public_key_file: cert/upk-public-key.pem secret: g16Ug0b1zVaCYQzxD45C6p99fUxMkaSL2npjmi5qBjRMAy6kjpZP0/zahKE4zQGvTlp7lKavV4z3RWIm9Uch1pBgaYLZ/pAZDbgr8roqVc/QEzQnsaLqoe7ZzOcPsj7NzbrXz/l+rWVAGdyAkLGs7NIZ3GgNlyZ5lrjglAIRdHA6PpW0jBzbcKb5Z5Y5U80N75+wrenlWPFUKTrN8exuUhzLK6FHWpAzuivD+pg42bZFvdSLE/0oXd0U1W+SxSBXv3RxEkRMquYG+9/VHpT745BzF+QQlR+CicLC5XaUusAZKtqFf3LokISPY1kxjP32gW3SqtZThZa/4pPMpesrXA==
type Properties ¶
type Properties interface { fmt.Stringer CacheExpire() time.Duration CacheGCInterval() time.Duration Config() Config DBPool() *pgxpool.Pool Environments() environments ExternalAssetGRPCAddress() string ExternalAuthGRPCAddress() string ExternalRequestTimeoutInterval() time.Duration Flags() map[string]interface{} GRPCAddress() string GRPCTransportCredentials() credentials.TransportCredentials HTTPAddress() string HTTPTLSConfig() *tls.Config JwtExpiresIn() time.Duration JwtMaxAgeSec() int JwtSecret() string Logger() *slog.Logger MongodbPool() *tool.MongoPool SlogJSON() bool OutboundIP() net.IP UpkRSAPrivateKey() *rsa.PrivateKey UpkRSAPublicKey() *rsa.PublicKey UpkSecretKey() []byte }
Properties конфигурация собранная из Yaml-файла, переменных окружения и флагов командной строки.
func GetProperties ¶
func GetProperties() Properties
GetProperties — свойства преобразованные из конфигурации и окружения. потокобезопасное (thread-safe) создание.