Adding option to deploy fluentd-elasticsearch in diffrent namespace then kube-system

This commit is contained in:
pprokop 2016-06-16 16:01:54 +02:00
parent 523e83fbb0
commit fa91b3e461

View File

@ -19,6 +19,7 @@ package main
import (
"flag"
"fmt"
"os"
"strings"
"time"
@ -45,12 +46,20 @@ func main() {
if err != nil {
glog.Fatalf("Failed to make client: %v", err)
}
namespace := api.NamespaceSystem
envNamespace := os.Getenv("NAMESPACE")
if envNamespace != "" {
if _, err := c.Namespaces().Get(envNamespace); err != nil {
glog.Fatalf("%s namespace doesn't exist: %v", envNamespace, err)
}
namespace = envNamespace
}
var elasticsearch *api.Service
// Look for endpoints associated with the Elasticsearch loggging service.
// First wait for the service to become available.
for t := time.Now(); time.Since(t) < 5*time.Minute; time.Sleep(10 * time.Second) {
elasticsearch, err = c.Services(api.NamespaceSystem).Get("elasticsearch-logging")
elasticsearch, err = c.Services(namespace).Get("elasticsearch-logging")
if err == nil {
break
}
@ -67,7 +76,7 @@ func main() {
// Wait for some endpoints.
count := 0
for t := time.Now(); time.Since(t) < 5*time.Minute; time.Sleep(10 * time.Second) {
endpoints, err = c.Endpoints(api.NamespaceSystem).Get("elasticsearch-logging")
endpoints, err = c.Endpoints(namespace).Get("elasticsearch-logging")
if err != nil {
continue
}