Handle watched namespace set in operator config map

This commit is contained in:
Sergey Dudoladov 2018-02-08 14:51:45 +01:00
parent 86807d21ba
commit b5b0b027f2
1 changed files with 16 additions and 23 deletions

View File

@ -98,33 +98,26 @@ func (c *Controller) initOperatorConfig() {
} }
// by default, the operator listens to all namespaces // by default, the operator listens to all namespaces
// by setting the env variable, one can restrict the operator to a single namespace if configMapData["watched_namespace"] == "" {
watchedNamespace, isPresentInEnv := os.LookupEnv("WATCHED_NAMESPACE") c.logger.Infoln("The operator config map specifies no namespace to watch. Falling back to watching all namespaces.")
if isPresentInEnv {
// special case: v1.NamespaceAll currently also evaluates to the empty string
// so when the env var is set to the empty string, use the default ns
// since the meaning of this env var is only one namespace
if watchedNamespace == "" {
c.logger.Infof("The WATCHED_NAMESPACE env var evaluates to the empty string, falling back to watching the 'default' namespace.\n", watchedNamespace)
configMapData["watched_namespace"] = v1.NamespaceDefault
} else {
c.logger.Infof("Watch the %q namespace specified in the env variable WATCHED_NAMESPACE\n", watchedNamespace)
configMapData["watched_namespace"] = watchedNamespace
}
} else {
c.logger.Infof("Watch all namespaces. Set the WATCHED_NAMESPACE env var to restrict to a single namespace.\n", watchedNamespace)
configMapData["watched_namespace"] = v1.NamespaceAll configMapData["watched_namespace"] = v1.NamespaceAll
} }
/* watchedNsEnvVar, isPresentInEnv := os.LookupEnv("WATCHED_NAMESPACE")
// env var takes priority over the same param from the operator ConfigMap if isPresentInEnv {
c.logger.Infoln("The WATCHED_NAMESPACE env variable takes priority over the same param from the operator configMap\n")
if configMapData["watched_namespace"] == "" { // special case: v1.NamespaceAll currently also evaluates to the empty string
c.logger.Infoln("No namespace to watch specified. Fall back to watching the 'default' namespace.") // so when the env var is set to the empty string, use the default ns
// since the meaning of this env var is only one namespace
if watchedNsEnvVar == "" {
c.logger.Infof("The WATCHED_NAMESPACE env var evaluates to the empty string, falling back to watching the 'default' namespace.\n", watchedNsEnvVar)
configMapData["watched_namespace"] = v1.NamespaceDefault configMapData["watched_namespace"] = v1.NamespaceDefault
} else {
c.logger.Infof("Watch the %q namespace specified in the env variable WATCHED_NAMESPACE\n", watchedNsEnvVar)
configMapData["watched_namespace"] = watchedNsEnvVar
} }
*/ }
if c.config.NoDatabaseAccess { if c.config.NoDatabaseAccess {
configMapData["enable_database_access"] = "false" configMapData["enable_database_access"] = "false"
} }