58 lines
1.5 KiB
Go
58 lines
1.5 KiB
Go
package config
|
|
|
|
type AgentConfig struct {
|
|
ReconciliationInterval InterpolatedInt `yaml:"reconciliationInterval"`
|
|
Controllers ControllersConfig `yaml:"controllers"`
|
|
}
|
|
|
|
type ControllersConfig struct {
|
|
Persistence PersistenceControllerConfig `yaml:"persistence"`
|
|
Spec SpecControllerConfig `yaml:"spec"`
|
|
Gateway GatewayControllerConfig `yaml:"gateway"`
|
|
UCI UCIControllerConfig `yaml:"uci"`
|
|
}
|
|
|
|
type PersistenceControllerConfig struct {
|
|
Enabled InterpolatedBool `yaml:"enabled"`
|
|
StateFile InterpolatedString `yaml:"stateFile"`
|
|
}
|
|
|
|
type SpecControllerConfig struct {
|
|
Enabled InterpolatedBool `yaml:"enabled"`
|
|
ServerURL InterpolatedString `yaml:"serverUrl"`
|
|
}
|
|
|
|
type GatewayControllerConfig struct {
|
|
Enabled InterpolatedBool `yaml:"enabled"`
|
|
}
|
|
|
|
type UCIControllerConfig struct {
|
|
Enabled InterpolatedBool `yaml:"enabled"`
|
|
BinPath InterpolatedString `yaml:"binPath"`
|
|
ConfigBackupFile InterpolatedString `yaml:"configBackupFile"`
|
|
}
|
|
|
|
func NewDefaultAgentConfig() AgentConfig {
|
|
return AgentConfig{
|
|
ReconciliationInterval: 5,
|
|
Controllers: ControllersConfig{
|
|
Spec: SpecControllerConfig{
|
|
Enabled: true,
|
|
ServerURL: "http://127.0.0.1:3000",
|
|
},
|
|
Persistence: PersistenceControllerConfig{
|
|
Enabled: true,
|
|
StateFile: "state.json",
|
|
},
|
|
Gateway: GatewayControllerConfig{
|
|
Enabled: true,
|
|
},
|
|
UCI: UCIControllerConfig{
|
|
Enabled: true,
|
|
ConfigBackupFile: "uci-backup.conf",
|
|
BinPath: "uci",
|
|
},
|
|
},
|
|
}
|
|
}
|