mirror of
https://github.com/akyaiy/GoSally-mvp.git
synced 2026-01-03 17:52:24 +00:00
- Changed UUIDLength type from byte to int in core/config/consts.go - Introduced MetaDir constant in core/config/consts.go - Added corestate package with initial state management and UUID handling - Implemented GetNodeUUID and SetNodeUUID functions for UUID file management - Created RunManager and RunFileManager for runtime directory management - Updated GeneralServer to use new configuration structure - Removed deprecated init package and replaced with main entry point - Added color utility functions for logging - Enhanced UUID generation functions in utils package - Updated update logic to handle new configuration structure - Added routines for cleaning temporary runtime directories - Introduced response formatting for API responses
60 lines
1.6 KiB
Go
60 lines
1.6 KiB
Go
// Package config provides configuration management for the application.
|
|
// config is built on top of the third-party module cleanenv
|
|
package config
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
var ConfigPath string
|
|
|
|
type CompositorContract interface {
|
|
LoadEnv() error
|
|
LoadConf(path string) error
|
|
}
|
|
|
|
type Compositor struct {
|
|
Conf *Conf
|
|
Env *Env
|
|
}
|
|
|
|
type Conf struct {
|
|
Mode string `mapstructure:"mode"`
|
|
ComDir string `mapstructure:"com_dir"`
|
|
HTTPServer HTTPServer `mapstructure:"http_server"`
|
|
TLS TLS `mapstructure:"tls"`
|
|
Updates Updates `mapstructure:"updates"`
|
|
}
|
|
|
|
type HTTPServer struct {
|
|
Address string `mapstructure:"address"`
|
|
Timeout time.Duration `mapstructure:"timeout"`
|
|
IdleTimeout time.Duration `mapstructure:"idle_timeout"`
|
|
HTTPServer_Api HTTPServer_Api `mapstructure:"api"`
|
|
}
|
|
|
|
type HTTPServer_Api struct {
|
|
LatestVer string `mapstructure:"latest-version"`
|
|
Layers []string `mapstructure:"layers"`
|
|
}
|
|
|
|
type TLS struct {
|
|
TlsEnabled bool `mapstructure:"enabled"`
|
|
CertFile string `mapstructure:"cert_file"`
|
|
KeyFile string `mapstructure:"key_file"`
|
|
}
|
|
|
|
type Updates struct {
|
|
UpdatesEnabled bool `mapstructure:"enabled"`
|
|
CheckInterval time.Duration `mapstructure:"check_interval"`
|
|
RepositoryURL string `mapstructure:"repository_url"`
|
|
WantedVersion string `mapstructure:"wanted_version"`
|
|
}
|
|
|
|
// ConfigEnv structure for environment variables
|
|
type Env struct {
|
|
ConfigPath string `mapstructure:"config_path"`
|
|
NodePath string `mapstructure:"node_path"`
|
|
ParentStagePID int `mapstructure:"parent_pid"`
|
|
}
|