ok-1
This commit is contained in:
43
internal/config/loaders.go
Normal file
43
internal/config/loaders.go
Normal file
@@ -0,0 +1,43 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"gopkg.in/yaml.v3"
|
||||
)
|
||||
|
||||
func LoadSunHPC() (*SunHPCConfig, error) {
|
||||
return loadYAML[SunHPCConfig](SunHPCFile)
|
||||
}
|
||||
|
||||
func LoadNodes() (*NodesConfig, error) {
|
||||
return loadYAML[NodesConfig](NodesFile)
|
||||
}
|
||||
|
||||
func LoadNetwork() (*NetworkConfig, error) {
|
||||
return loadYAML[NetworkConfig](NetworkFile)
|
||||
}
|
||||
|
||||
func LoadDisks() (*DisksConfig, error) {
|
||||
return loadYAML[DisksConfig](DisksFile)
|
||||
}
|
||||
|
||||
func LoadServices() (*ServicesConfig, error) {
|
||||
return loadYAML[ServicesConfig](ServicesFile)
|
||||
}
|
||||
|
||||
func LoadFirewall() (*FirewallConfig, error) {
|
||||
return loadYAML[FirewallConfig](FirewallFile)
|
||||
}
|
||||
|
||||
func loadYAML[T any](path string) (*T, error) {
|
||||
data, err := os.ReadFile(path)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var cfg T
|
||||
if err := yaml.Unmarshal(data, &cfg); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &cfg, nil
|
||||
}
|
||||
Reference in New Issue
Block a user