Fetch operator configmap from operator's namespace

This commit is contained in:
Sergey Dudoladov 2018-02-13 13:39:49 +01:00
parent 08e3d925e6
commit 5b0e2ea66d
1 changed files with 15 additions and 1 deletions

View File

@ -4,6 +4,7 @@ import (
"flag" "flag"
"log" "log"
"os" "os"
"os/exec"
"os/signal" "os/signal"
"sync" "sync"
"syscall" "syscall"
@ -27,13 +28,26 @@ func init() {
flag.BoolVar(&config.NoTeamsAPI, "noteamsapi", false, "Disable all access to the teams API") flag.BoolVar(&config.NoTeamsAPI, "noteamsapi", false, "Disable all access to the teams API")
flag.Parse() flag.Parse()
cmd := exec.Command("cat", "/var/run/secrets/kubernetes.io/serviceaccount/namespace")
operatorNamespaceBytes, err := cmd.Output()
if err != nil {
log.Fatalf("Unable to detect operator namespace from within its pod due to %v", err)
}
configMapRawName := os.Getenv("CONFIG_MAP_NAME") configMapRawName := os.Getenv("CONFIG_MAP_NAME")
if configMapRawName != "" { if configMapRawName != "" {
err := config.ConfigMapName.Decode(configMapRawName)
operatorNamespace := string(operatorNamespaceBytes)
namespacedConfigMapName := operatorNamespace + "/" + configMapRawName
log.Printf("Looking for the operator configmap at the same namespace the operator resides. Fully qualified configmap name: %v", namespacedConfigMapName)
err := config.ConfigMapName.Decode(namespacedConfigMapName)
if err != nil { if err != nil {
log.Fatalf("incorrect config map name") log.Fatalf("incorrect config map name")
} }
} }
} }
func main() { func main() {