config

package
v1.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 4, 2025 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	ApiLog                     bool     `yaml:"api_log" env:"API_LOG" env-default:"true"`
	ServerAddress              string   `yaml:"server_address" env:"SERVER_ADDRESS" env-default:":3100"`
	IdempotencyStorageLifetime int64    `yaml:"idempotency_storage_lifetime" env:"IDEMPOTENCY_STORAGE_LIFETIME" env-default:"10"`
	RateLimitTime              int      `yaml:"rate_limit_time" env:"RATE_LIMIT_TIME" env-default:"1"`
	RateLimitRequests          int      `yaml:"rate_limit_requests" env:"RATE_LIMIT_REQUESTS" env-default:"20"`
	AppName                    string   `yaml:"app_name" env:"APP_NAME" env-default:"GoChat"`
	BaseUrl                    string   `yaml:"base_url" env:"BASE_URL" env-default:"http://example.com" validation:"http_url"`
	Cluster                    []string `yaml:"cluster" env:"CLUSTER" env-default:""`
	ClusterKeyspace            string   `yaml:"cluster_keyspace" env:"CLUSTER_KEYSPACE" env-default:"gochat"`
	AuthSecret                 string   `yaml:"auth_secret" env:"AUTH_SECRET" env-default:"change_me_before_use_it_in_production"`
	Swagger                    bool     `yaml:"swagger" env:"SWAGGER" env-default:"false"`
	KeyDB                      string   `yaml:"keydb" env:"KEYDB" env-default:"127.0.0.1"`
	S3Endpoint                 string   `yaml:"s3_endpoint" env:"S3_ENDPOINT" env-default:""`
	S3AccessKeyID              string   `yaml:"s3_access_key_id" env:"S3_ACCESS_KEY_ID" env-default:""`
	S3SecretAccessKey          string   `yaml:"s3_secret_access_key" env:"S3_SECRET_ACCESS_KEY" env-default:""`
	S3UseSSL                   bool     `yaml:"s3_use_ssl" env:"S3_USE_SSL" env-default:"false"`
	UploadLimit                int64    `yaml:"upload_limit" env:"UPLOAD_LIMIT" env-default:"50000000"`
	NatsConnString             string   `yaml:"nats_conn_string" env:"NATS_CONN_STRING" env-default:"nats://nats:4222"`
	IndexerNatsConnString      string   `yaml:"indexer_nats_conn_string" env:"INDEX_NATS_CONN_STRING" env-default:"nats://indexer-nats:4222"`
	PGDSN                      string   `yaml:"pg_dsn" env:"PG_DSN" env-default:""`
	PGRetries                  int      `yaml:"pg_retries" env:"PG_RETRIES" env-default:"5"`
	OSInsecureSkipVerify       bool     `yaml:"os_insecure_skip_verify" env:"OS_INSECURE_SKIP_VERIFY"`
	OSAddresses                []string `yaml:"os_addresses" env:"OS_ADDRESSES"`
	OSUsername                 string   `yaml:"os_username" env:"OS_USERNAME"`
	OSPassword                 string   `yaml:"os_password" env:"OS_PASSWORD"`
}

func LoadConfig

func LoadConfig(logger *slog.Logger) (*Config, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL