mirror of
https://github.com/Icinga/docker-icinga2.git
synced 2026-03-30 01:11:04 +02:00
parent
f192d78f19
commit
fbf3fcafdc
@ -118,6 +118,31 @@ func entrypoint() error {
|
||||
return errSt
|
||||
}
|
||||
}
|
||||
|
||||
logf(info, "Configuring features")
|
||||
|
||||
for _, env := range os.Environ() {
|
||||
if kv := strings.SplitN(env, "=", 2); len(kv) == 2 {
|
||||
if strings.HasPrefix(kv[0], "ICINGA_FEATURE_") {
|
||||
if kv[0] = strings.TrimPrefix(kv[0], "ICINGA_FEATURE_"); len(kv[0]) > 0 {
|
||||
kv[0] = strings.ToLower(strings.ReplaceAll(kv[0], "_", "-"))
|
||||
logf(info, "Configuring feature: %#v", kv[0])
|
||||
|
||||
available := path.Join("/etc/icinga2/features-available", kv[0]+".conf")
|
||||
if errWF := ioutil.WriteFile(available, []byte(kv[1]), 0750); errWF != nil {
|
||||
return errWF
|
||||
}
|
||||
|
||||
errSl := os.Symlink(available, path.Join("/etc/icinga2/features-enabled", kv[0]+".conf"))
|
||||
if errSl != nil {
|
||||
if le, ok := errSl.(*os.LinkError); !ok || !os.IsExist(le.Err) {
|
||||
return errSl
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
path := os.Args[1]
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user