config

package
v1.7.0 Latest Latest
Warning

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

Go to latest
Published: Mar 9, 2026 License: MIT Imports: 5 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 {
	Cluster               []string      `yaml:"cluster" env:"CLUSTER" env-default:""`
	ClusterKeyspace       string        `yaml:"cluster_keyspace" env:"CLUSTER_KEYSPACE" env-default:"gochat"`
	NatsConnString        string        `yaml:"nats_conn_string" env:"NATS_CONN_STRING" env-default:"nats://nats:4222"`
	KeyDB                 string        `yaml:"keydb" env:"KEYDB" env-default:"127.0.0.1:6379"`
	CacheTTL              time.Duration `yaml:"cache_ttl" env:"CACHE_TTL" env-default:"6h"`
	NegativeCacheTTL      time.Duration `yaml:"negative_cache_ttl" env:"NEGATIVE_CACHE_TTL" env-default:"30m"`
	ExcludedURLPatterns   []string      `yaml:"excluded_url_patterns" env:"EXCLUDED_URL_PATTERNS" env-separator:","`
	FetchTimeout          time.Duration `yaml:"fetch_timeout" env:"FETCH_TIMEOUT" env-default:"10s"`
	MaxBodyBytes          int64         `yaml:"max_body_bytes" env:"MAX_BODY_BYTES" env-default:"2097152"`
	AllowPrivateHosts     bool          `yaml:"allow_private_hosts" env:"ALLOW_PRIVATE_HOSTS" env-default:"false"`
	YouTubeOEmbedEndpoint string        `yaml:"youtube_oembed_endpoint" env:"YOUTUBE_OEMBED_ENDPOINT" env-default:"https://www.youtube.com/oembed"`
	YouTubeEmbedBaseURL   string        `yaml:"youtube_embed_base_url" env:"YOUTUBE_EMBED_BASE_URL" env-default:"https://www.youtube.com/embed"`
}

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