You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by zh...@apache.org on 2022/11/03 20:26:39 UTC

[apisix-ingress-controller] branch master updated: feat: delete "app_namespaces" param (#1429)

This is an automated email from the ASF dual-hosted git repository.

zhangjintao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-ingress-controller.git


The following commit(s) were added to refs/heads/master by this push:
     new 53f26c1b feat: delete "app_namespaces" param (#1429)
53f26c1b is described below

commit 53f26c1b5c078b39b448f8adb7db27e662f5bd51
Author: cmssczy <sm...@outlook.com>
AuthorDate: Fri Nov 4 04:26:33 2022 +0800

    feat: delete "app_namespaces" param (#1429)
---
 cmd/ingress/ingress.go    |  4 ----
 conf/config-default.yaml  |  3 ---
 pkg/config/config.go      | 21 ---------------------
 pkg/config/config_test.go |  2 --
 4 files changed, 30 deletions(-)

diff --git a/cmd/ingress/ingress.go b/cmd/ingress/ingress.go
index 941359b2..c2c9dc74 100644
--- a/cmd/ingress/ingress.go
+++ b/cmd/ingress/ingress.go
@@ -175,7 +175,6 @@ For example, no available LB exists in the bare metal environment.`)
 	cmd.PersistentFlags().BoolVar(&cfg.EnableProfiling, "enable-profiling", true, "enable profiling via web interface host:port/debug/pprof")
 	cmd.PersistentFlags().StringVar(&cfg.Kubernetes.Kubeconfig, "kubeconfig", "", "Kubernetes configuration file (by default in-cluster configuration will be used)")
 	cmd.PersistentFlags().DurationVar(&cfg.Kubernetes.ResyncInterval.Duration, "resync-interval", time.Minute, "the controller resync (with Kubernetes) interval, the minimum resync interval is 30s")
-	cmd.PersistentFlags().StringSliceVar(&cfg.Kubernetes.AppNamespaces, "app-namespace", []string{config.NamespaceAll}, "namespaces that controller will watch for resources.")
 	cmd.PersistentFlags().StringSliceVar(&cfg.Kubernetes.NamespaceSelector, "namespace-selector", []string{""}, "labels that controller used to select namespaces which will watch for resources")
 	cmd.PersistentFlags().StringVar(&cfg.Kubernetes.IngressClass, "ingress-class", config.IngressClass, "the class of an Ingress object is set using the field IngressClassName in Kubernetes clusters version v1.18.0 or higher or the annotation \"kubernetes.io/ingress.class\" (deprecated)")
 	cmd.PersistentFlags().StringVar(&cfg.Kubernetes.ElectionID, "election-id", config.IngressAPISIXLeader, "election id used for campaign the controller leader")
@@ -189,8 +188,5 @@ For example, no available LB exists in the bare metal environment.`)
 	cmd.PersistentFlags().DurationVar(&cfg.ApisixResourceSyncInterval.Duration, "apisix-resource-sync-interval", 300*time.Second, "interval between syncs in seconds. Default value is 300s.")
 	cmd.PersistentFlags().StringVar(&cfg.PluginMetadataConfigMap, "plugin-metadata-cm", "plugin-metadata-config-map", "ConfigMap name of plugin metadata.")
 
-	if err := cmd.PersistentFlags().MarkDeprecated("app-namespace", "use namespace-selector instead"); err != nil {
-		dief("failed to mark `app-namespace` as deprecated: %s", err)
-	}
 	return cmd
 }
diff --git a/conf/config-default.yaml b/conf/config-default.yaml
index e80d4a59..bd861e90 100644
--- a/conf/config-default.yaml
+++ b/conf/config-default.yaml
@@ -57,9 +57,6 @@ kubernetes:
   resync_interval: "6h"                # how long should apisix-ingress-controller
                                        # re-synchronizes with Kubernetes, default is 6h,
                                        # and the minimal resync interval is 30s.
-  app_namespaces: ["*"]                # namespace list that controller will watch for resources,
-                                       # by default all namespaces (represented by "*") are watched.
-                                       # The `app_namespace` is deprecated, using `namespace_selector` instead since version 1.4.0
   namespace_selector: [""]             # namespace_selector represent basis for selecting managed namespaces.
                                        # the field is support since version 1.4.0
                                        # For example, "apisix.ingress=watching", so ingress will watching the namespaces which labels "apisix.ingress=watching"
diff --git a/pkg/config/config.go b/pkg/config/config.go
index 5daa6ae6..01c8c8df 100644
--- a/pkg/config/config.go
+++ b/pkg/config/config.go
@@ -26,15 +26,12 @@ import (
 	"time"
 
 	"gopkg.in/yaml.v2"
-	v1 "k8s.io/api/core/v1"
 	"k8s.io/apimachinery/pkg/util/validation"
 
 	"github.com/apache/apisix-ingress-controller/pkg/types"
 )
 
 const (
-	// NamespaceAll represents all namespaces.
-	NamespaceAll = "*"
 	// IngressAPISIXLeader is the default election id for the controller
 	// leader election.
 	IngressAPISIXLeader = "ingress-apisix-leader"
@@ -96,7 +93,6 @@ type Config struct {
 type KubernetesConfig struct {
 	Kubeconfig          string             `json:"kubeconfig" yaml:"kubeconfig"`
 	ResyncInterval      types.TimeDuration `json:"resync_interval" yaml:"resync_interval"`
-	AppNamespaces       []string           `json:"app_namespaces" yaml:"app_namespaces"`
 	NamespaceSelector   []string           `json:"namespace_selector" yaml:"namespace_selector"`
 	ElectionID          string             `json:"election_id" yaml:"election_id"`
 	IngressClass        string             `json:"ingress_class" yaml:"ingress_class"`
@@ -138,7 +134,6 @@ func NewDefaultConfig() *Config {
 		Kubernetes: KubernetesConfig{
 			Kubeconfig:          "", // Use in-cluster configurations.
 			ResyncInterval:      types.TimeDuration{Duration: 6 * time.Hour},
-			AppNamespaces:       []string{v1.NamespaceAll},
 			ElectionID:          IngressAPISIXLeader,
 			IngressClass:        IngressClass,
 			IngressVersion:      IngressNetworkingV1,
@@ -205,7 +200,6 @@ func (cfg *Config) Validate() error {
 	default:
 		return errors.New("unsupported ingress version")
 	}
-	cfg.Kubernetes.AppNamespaces = purifyAppNamespaces(cfg.Kubernetes.AppNamespaces)
 	ok, err := cfg.verifyNamespaceSelector()
 	if !ok {
 		return err
@@ -213,21 +207,6 @@ func (cfg *Config) Validate() error {
 	return nil
 }
 
-func purifyAppNamespaces(namespaces []string) []string {
-	exists := make(map[string]struct{})
-	var ultimate []string
-	for _, ns := range namespaces {
-		if ns == NamespaceAll {
-			return []string{v1.NamespaceAll}
-		}
-		if _, ok := exists[ns]; !ok {
-			ultimate = append(ultimate, ns)
-			exists[ns] = struct{}{}
-		}
-	}
-	return ultimate
-}
-
 func (cfg *Config) verifyNamespaceSelector() (bool, error) {
 	labels := cfg.Kubernetes.NamespaceSelector
 	// default is [""]
diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go
index 1625b595..594dcfce 100644
--- a/pkg/config/config_test.go
+++ b/pkg/config/config_test.go
@@ -45,7 +45,6 @@ func TestNewConfigFromFile(t *testing.T) {
 		Kubernetes: KubernetesConfig{
 			ResyncInterval: types.TimeDuration{Duration: time.Hour},
 			Kubeconfig:     "/path/to/foo/baz",
-			AppNamespaces:  []string{""},
 			ElectionID:     "my-election-id",
 			IngressClass:   IngressClass,
 			IngressVersion: IngressNetworkingV1,
@@ -134,7 +133,6 @@ func TestConfigWithEnvVar(t *testing.T) {
 		Kubernetes: KubernetesConfig{
 			ResyncInterval: types.TimeDuration{Duration: time.Hour},
 			Kubeconfig:     "",
-			AppNamespaces:  []string{""},
 			ElectionID:     "my-election-id",
 			IngressClass:   IngressClass,
 			IngressVersion: IngressNetworkingV1,