Added Namespace Flag for Flagger

- introduce the namespace flag for flagger to watch a single namespace
for Canary Objects
This commit is contained in:
Huy Le
2019-03-05 20:57:00 -08:00
parent f7c4d5aa0b
commit d8cb8f1064
3 changed files with 16 additions and 1 deletions
+3
View File
@@ -36,6 +36,9 @@ spec:
- ./flagger
- -log-level=info
- -metrics-server={{ .Values.metricsServer }}
{{- if .Values.namespace }}
- -namespace={{ .Values.namespace }}
{{- end }}
{{- if .Values.slack.url }}
- -slack-url={{ .Values.slack.url }}
- -slack-user={{ .Values.slack.user }}
+3
View File
@@ -7,6 +7,9 @@ image:
metricsServer: "http://prometheus.istio-system.svc.cluster.local:9090"
# Namespace that flagger will watch for Canary objects
namespace: ""
slack:
user: flagger
channel:
+10 -1
View File
@@ -35,6 +35,7 @@ var (
threadiness int
zapReplaceGlobals bool
zapEncoding string
namespace string
)
func init() {
@@ -50,6 +51,7 @@ func init() {
flag.IntVar(&threadiness, "threadiness", 2, "Worker concurrency.")
flag.BoolVar(&zapReplaceGlobals, "zap-replace-globals", false, "Whether to change the logging level of the global zap logger.")
flag.StringVar(&zapEncoding, "zap-encoding", "json", "Zap logger encoding.")
flag.StringVar(&namespace, "namespace", "", "Namespace that flagger would watch canary object")
}
func main() {
@@ -87,7 +89,14 @@ func main() {
logger.Fatalf("Error building example clientset: %s", err.Error())
}
flaggerInformerFactory := informers.NewSharedInformerFactory(flaggerClient, time.Second*30)
if namespace == "" {
logger.Infof("Flagger Canary's Watcher is on all namespace")
} else {
logger.Infof("Flagger Canary's Watcher is on namespace %s", namespace)
}
flaggerInformerFactory := informers.NewSharedInformerFactoryWithOptions(flaggerClient, time.Second*30, informers.WithNamespace(namespace))
canaryInformer := flaggerInformerFactory.Flagger().V1alpha3().Canaries()
logger.Infof("Starting flagger version %s revision %s", version.VERSION, version.REVISION)