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",
|
||
|
},
|
||
|
},
|
||
|
}
|
||
|
}
|