Documentation
¶
Index ¶
- Constants
- func DetectEnvironment() string
- func GetEnvironmentFileName() string
- type ConfigLoader
- func (cl *ConfigLoader) GetBool(key string, defaultValue bool) (bool, error)
- func (cl *ConfigLoader) GetDuration(key string, defaultValue time.Duration) (time.Duration, error)
- func (cl *ConfigLoader) GetInt(key string, defaultValue int) (int, error)
- func (cl *ConfigLoader) GetIntInRange(key string, defaultValue, min, max int) (int, error)
- func (cl *ConfigLoader) GetString(key, defaultValue string) string
- func (cl *ConfigLoader) LoadEnvFile(filename string) error
- func (cl *ConfigLoader) LoadEnvironmentFile() error
- func (cl *ConfigLoader) ValidateDirectory(key, value string) error
- func (cl *ConfigLoader) ValidateHostname(key, value string) error
- func (cl *ConfigLoader) ValidateNetworkAddress(key, value string) error
- func (cl *ConfigLoader) ValidateRequired(key, value string) error
- func (cl *ConfigLoader) WithLogger(logger *zap.Logger) *ConfigLoader
- type ConsoleConfig
- type MinionConfig
- type NexusConfig
- type ValidationError
Constants ¶
const ( EnvProduction = "prod" EnvTest = "test" )
Environment constants for MINEXUS_ENV
Variables ¶
This section is empty.
Functions ¶
func DetectEnvironment ¶ added in v1.3.0
func DetectEnvironment() string
DetectEnvironment returns the current environment based on MINEXUS_ENV Panics on invalid environment values to prevent configuration errors
func GetEnvironmentFileName ¶ added in v1.3.0
func GetEnvironmentFileName() string
GetEnvironmentFileName returns the environment-specific filename for the current environment
Types ¶
type ConfigLoader ¶
type ConfigLoader struct {
// contains filtered or unexported fields
}
ConfigLoader provides unified configuration loading with priority handling
func NewConfigLoader ¶
func NewConfigLoader() *ConfigLoader
NewConfigLoader creates a new configuration loader
func (*ConfigLoader) GetBool ¶
func (cl *ConfigLoader) GetBool(key string, defaultValue bool) (bool, error)
GetBool gets bool value with validation
func (*ConfigLoader) GetDuration ¶
GetDuration gets duration value with validation
func (*ConfigLoader) GetInt ¶
func (cl *ConfigLoader) GetInt(key string, defaultValue int) (int, error)
GetInt gets int value with validation
func (*ConfigLoader) GetIntInRange ¶
func (cl *ConfigLoader) GetIntInRange(key string, defaultValue, min, max int) (int, error)
GetIntInRange gets int value with range validation
func (*ConfigLoader) GetString ¶
func (cl *ConfigLoader) GetString(key, defaultValue string) string
GetString gets string value with priority: flags → env → file → default
func (*ConfigLoader) LoadEnvFile ¶
func (cl *ConfigLoader) LoadEnvFile(filename string) error
LoadEnvFile loads environment variables from .env file (LEGACY - use LoadEnvironmentFile)
func (*ConfigLoader) LoadEnvironmentFile ¶ added in v1.3.0
func (cl *ConfigLoader) LoadEnvironmentFile() error
LoadEnvironmentFile loads environment variables from environment-specific file Uses strict validation with no fallback - panics if environment file is missing
func (*ConfigLoader) ValidateDirectory ¶
func (cl *ConfigLoader) ValidateDirectory(key, value string) error
ValidateDirectory ensures a directory path is valid
func (*ConfigLoader) ValidateHostname ¶
func (cl *ConfigLoader) ValidateHostname(key, value string) error
ValidateHostname validates a hostname (without port)
func (*ConfigLoader) ValidateNetworkAddress ¶
func (cl *ConfigLoader) ValidateNetworkAddress(key, value string) error
ValidateNetworkAddress validates a network address
func (*ConfigLoader) ValidateRequired ¶
func (cl *ConfigLoader) ValidateRequired(key, value string) error
ValidateRequired ensures a required field is not empty
func (*ConfigLoader) WithLogger ¶
func (cl *ConfigLoader) WithLogger(logger *zap.Logger) *ConfigLoader
WithLogger sets the logger for the config loader
type ConsoleConfig ¶
ConsoleConfig holds configuration for the console client
func DefaultConsoleConfig ¶
func DefaultConsoleConfig() *ConsoleConfig
DefaultConsoleConfig returns default configuration for Console
func LoadConsoleConfig ¶
func LoadConsoleConfig() (*ConsoleConfig, error)
LoadConsoleConfig loads console configuration with validation
func (*ConsoleConfig) LogConfig ¶
func (c *ConsoleConfig) LogConfig(logger *zap.Logger)
LogConfig logs the console configuration
type MinionConfig ¶
type MinionConfig struct {
ServerAddr string
ID string
Debug bool
ConnectTimeout int // seconds
InitialReconnectDelay int // seconds - starting delay for exponential backoff
MaxReconnectDelay int // seconds - maximum delay cap for exponential backoff
HeartbeatInterval int // seconds
DefaultShellTimeout int // seconds - default timeout for shell command execution
StreamTimeout int // seconds - timeout for stream operations
}
MinionConfig holds configuration for Minion clients
func DefaultMinionConfig ¶
func DefaultMinionConfig() *MinionConfig
DefaultMinionConfig returns default configuration for Minion
func LoadMinionConfig ¶
func LoadMinionConfig() (*MinionConfig, error)
LoadMinionConfig loads Minion configuration with validation
func (*MinionConfig) LogConfig ¶
func (c *MinionConfig) LogConfig(logger *zap.Logger)
LogConfig logs the minion configuration
type NexusConfig ¶
type NexusConfig struct {
MinionPort int // Port for minion connections with standard TLS
ConsolePort int // Port for console connections with mTLS
WebPort int // Port for HTTP web server
WebEnabled bool // Enable/disable web server
WebRoot string // Path to webroot directory (for file system assets)
DBHost string
DBPort int
DBUser string
DBPassword string
DBName string
DBSSLMode string
Debug bool
MaxMsgSize int
FileRoot string
}
NexusConfig holds configuration for the Nexus server
func DefaultNexusConfig ¶
func DefaultNexusConfig() *NexusConfig
DefaultNexusConfig returns default configuration for Nexus
func LoadNexusConfig ¶
func LoadNexusConfig() (*NexusConfig, error)
LoadNexusConfig loads Nexus configuration with validation
func (*NexusConfig) DBConnectionString ¶
func (c *NexusConfig) DBConnectionString() string
DBConnectionString builds a PostgreSQL connection string from config
func (*NexusConfig) LogConfig ¶
func (c *NexusConfig) LogConfig(logger *zap.Logger)
LogConfig logs the configuration (masks sensitive data)
type ValidationError ¶
ValidationError represents a configuration validation error
func (ValidationError) Error ¶
func (e ValidationError) Error() string