Repository: linkerd/linkerd2
Pull request #5078 (2020-10-13 23:10:56)

Stop rendering addon config
The linkerd-addon-config is no longer used and can be safely removed.

Signed-off-by: Alex Leong <alex@buoyant.io>

<!--  Thanks for sending a pull request!

If you already have a well-structured git commit message, chances are GitHub
set the title and description of this PR to the git commit message subject and
body, respectively. If so, you may delete these instructions and submit your PR.

If this is your first time, please read our contributor guide:
https://github.com/linkerd/linkerd2/blob/main/CONTRIBUTING.md

The title and description of your Pull Request should match the git commit
subject and body, respectively. Git commit messages are structured as follows:

```
Subject

Problem

Solution

Validation

Fixes #[GitHub issue ID]

DCO Sign off
```

Example git commit message:

```
Introduce Pull Request Template

GitHub's community guidelines recommend a pull request template, the repo was
lacking one.

Introduce a `PULL_REQUEST_TEMPLATE.md` file.

Once merged, the
[Community profile checklist](https://github.com/linkerd/linkerd2/community)
should indicate the repo now provides a pull request template.

Fixes #3321

Signed-off-by: Jane Smith <jane.smith@example.com>
```

Note the git commit message subject becomes the pull request title.

For more details around git commits, see the section on Committing in our
contributor guide:
https://github.com/linkerd/linkerd2/blob/main/CONTRIBUTING.md#committing
-->


alpeb: Not strictly related to this PR, but rather to the other one that renamed `--addon-config`, there's still a mention to that flag in `charts/addons/prometheus/values.yaml` :eye: 

Patch:
diff --git a/charts/add-ons/prometheus/values.yaml b/charts/add-ons/prometheus/values.yaml
index f068a8da0..822596321 100644
--- a/charts/add-ons/prometheus/values.yaml
+++ b/charts/add-ons/prometheus/values.yaml
@@ -2,7 +2,7 @@
 # If installing/upgrading with Helm, you can override them through the usual `--set` or `-f` flags
 # when installing with the parent linkerd2 chart
 # Do not override them in this file!
-# If installing/upgrading with linkerd's CLI, use the `--addon-config` flag.
+# If installing/upgrading with linkerd's CLI, use the `--config` flag.
 image: prom/prometheus:v2.19.3
 args:
   storage.tsdb.path: /data
diff --git a/charts/linkerd2/templates/linkerd-config-addons.yaml b/charts/linkerd2/templates/linkerd-config-addons.yaml
deleted file mode 100644
index 6f86c9371..000000000
--- a/charts/linkerd2/templates/linkerd-config-addons.yaml
+++ /dev/null
@@ -1,31 +0,0 @@
-{{- /*
-  This config-map is used to store the configuration of add-ons, which is useful during upgrades.
-  This is required, as some add-ons can be enabled by default.
-  Whenever an add-on is disabled, we just store the enabled flag for it and remove any extra configuration
-  passed for the add-on.
-*/ -}}
----
-###
-### linkerd add-ons configuration
-###
----
-kind: ConfigMap
-apiVersion: v1
-metadata:
-  name: linkerd-config-addons
-  namespace: {{.Values.global.namespace}}
-  labels:
-    {{.Values.global.controllerNamespaceLabel}}: {{.Values.global.namespace}}
-  annotations:
-    {{.Values.global.createdByAnnotation}}: {{default (printf "linkerd/helm %s" .Values.global.linkerdVersion) .Values.global.cliVersion}}
-data:
-  values: |-
-    global:
-      prometheusUrl: "{{.Values.global.prometheusUrl}}"
-      grafanaUrl: "{{.Values.global.grafanaUrl}}"
-    grafana:
-      {{- include "linkerd.addons.sanitize-config" .Values.grafana}}
-    prometheus:
-      {{- include "linkerd.addons.sanitize-config" .Values.prometheus}}
-    tracing:
-      {{- include "linkerd.addons.sanitize-config" .Values.tracing}}
diff --git a/cli/cmd/install.go b/cli/cmd/install.go
index cd8ab9aa3..3d3e69590 100644
--- a/cli/cmd/install.go
+++ b/cli/cmd/install.go
@@ -82,7 +82,6 @@ var (
 		"templates/proxy-injector.yaml",
 		"templates/sp-validator.yaml",
 		"templates/tap.yaml",
-		"templates/linkerd-config-addons.yaml",
 	}
 
 	ignoreCluster bool
diff --git a/pkg/healthcheck/healthcheck.go b/pkg/healthcheck/healthcheck.go
index adaef35a6..32de70493 100644
--- a/pkg/healthcheck/healthcheck.go
+++ b/pkg/healthcheck/healthcheck.go
@@ -378,7 +378,6 @@ type HealthChecker struct {
 	trustAnchors     []*x509.Certificate
 	cniDaemonSet     *appsv1.DaemonSet
 	links            []multicluster.Link
-	addOns           map[string]interface{}
 }
 
 // NewHealthChecker returns an initialized HealthChecker
diff --git a/pkg/healthcheck/healthcheck_addons.go b/pkg/healthcheck/healthcheck_addons.go
index 1fe027ef3..b51d0761a 100644
--- a/pkg/healthcheck/healthcheck_addons.go
+++ b/pkg/healthcheck/healthcheck_addons.go
@@ -5,16 +5,11 @@ import (
 	"errors"
 	"fmt"
 
-	l5dcharts "github.com/linkerd/linkerd2/pkg/charts/linkerd2"
-	"github.com/linkerd/linkerd2/pkg/k8s"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"sigs.k8s.io/yaml"
 )
 
 const (
-	// LinkerdAddOnChecks adds checks to validate the add-on components
-	LinkerdAddOnChecks CategoryID = "linkerd-addons"
-
 	// LinkerdGrafanaAddOnChecks adds checks related to grafana add-on components
 	LinkerdGrafanaAddOnChecks CategoryID = "linkerd-grafana"
 
@@ -30,7 +25,7 @@ var (
 	errorKeyNotFound error = errors.New("key not found")
 
 	// AddOnCategories is the list of add-on category checks
-	AddOnCategories = []CategoryID{LinkerdAddOnChecks, LinkerdPrometheusAddOnChecks, LinkerdGrafanaAddOnChecks, LinkerdTracingAddOnChecks}
+	AddOnCategories = []CategoryID{LinkerdPrometheusAddOnChecks, LinkerdGrafanaAddOnChecks, LinkerdTracingAddOnChecks}
 )
 
 // addOnCategories contain all the checks w.r.t add-ons. It is strongly advised to
@@ -38,18 +33,6 @@ var (
 // not hard requirements unless otherwise.
 func (hc *HealthChecker) addOnCategories() []category {
 	return []category{
-		{
-			id: LinkerdAddOnChecks,
-			checkers: []checker{
-				{
-					description: fmt.Sprintf("'%s' config map exists", k8s.AddOnsConfigMapName),
-					warning:     true,
-					check: func(ctx context.Context) error {
-						return hc.checkIfAddOnsConfigMapExists(ctx)
-					},
-				},
-			},
-		},
 		{
 			id: LinkerdPrometheusAddOnChecks,
 			checkers: []checker{
@@ -57,7 +40,12 @@ func (hc *HealthChecker) addOnCategories() []category {
 					description: "prometheus add-on service account exists",
 					warning:     true,
 					check: func(ctx context.Context) error {
-						if _, ok := hc.addOns[l5dcharts.PrometheusAddOn]; ok {
+						prometheusValues := make(map[string]interface{})
+						err := yaml.Unmarshal(hc.linkerdConfig.Prometheus.Values(), &prometheusValues)
+						if err != nil {
+							return err
+						}
+						if GetBool(prometheusValues, "enabled") {
 							return hc.checkServiceAccounts(ctx, []string{"linkerd-prometheus"}, hc.ControlPlaneNamespace, "")
 						}
 						return &SkipError{Reason: "prometheus add-on not enabled"}
@@ -67,7 +55,12 @@ func (hc *HealthChecker) addOnCategories() []category {
 					description: "prometheus add-on config map exists",
 					warning:     true,
 					check: func(ctx context.Context) error {
-						if _, ok := hc.addOns[l5dcharts.PrometheusAddOn]; ok {
+						prometheusValues := make(map[string]interface{})
+						err := yaml.Unmarshal(hc.linkerdConfig.Prometheus.Values(), &prometheusValues)
+						if err != nil {
+							return err
+						}
+						if GetBool(prometheusValues, "enabled") {
 							_, err := hc.kubeAPI.CoreV1().ConfigMaps(hc.ControlPlaneNamespace).Get(ctx, "linkerd-prometheus-config", metav1.GetOptions{})
 							return err
 						}
@@ -80,7 +73,12 @@ func (hc *HealthChecker) addOnCategories() []category {
 					retryDeadline:       hc.RetryDeadline,
 					surfaceErrorOnRetry: true,
 					check: func(ctx context.Context) error {
-						if _, ok := hc.addOns[l5dcharts.PrometheusAddOn]; ok {
+						prometheusValues := make(map[string]interface{})
+						err := yaml.Unmarshal(hc.linkerdConfig.Prometheus.Values(), &prometheusValues)
+						if err != nil {
+							return err
+						}
+						if GetBool(prometheusValues, "enabled") {
 							// populate controlPlanePods to get the latest status, during retries
 							var err error
 							hc.controlPlanePods, err = hc.kubeAPI.GetPodsByNamespace(ctx, hc.ControlPlaneNamespace)
@@ -102,7 +100,12 @@ func (hc *HealthChecker) addOnCategories() []category {
 					description: "grafana add-on service account exists",
 					warning:     true,
 					check: func(ctx context.Context) error {
-						if grafana, ok := hc.addOns[l5dcharts.GrafanaAddOn]; ok {
+						grafana := make(map[string]interface{})
+						err := yaml.Unmarshal(hc.linkerdConfig.Grafana.Values(), &grafana)
+						if err != nil {
+							return err
+						}
+						if GetBool(grafana, "enabled") {
 							name, err := GetString(grafana, "name")
 							if err != nil && !errors.Is(err, errorKeyNotFound) {
 								return err
@@ -122,7 +125,12 @@ func (hc *HealthChecker) addOnCategories() []category {
 					description: "grafana add-on config map exists",
 					warning:     true,
 					check: func(ctx context.Context) error {
-						if grafana, ok := hc.addOns[l5dcharts.GrafanaAddOn]; ok {
+						grafana := make(map[string]interface{})
+						err := yaml.Unmarshal(hc.linkerdConfig.Grafana.Values(), &grafana)
+						if err != nil {
+							return err
+						}
+						if GetBool(grafana, "enabled") {
 							name, err := GetString(grafana, "name")
 							if err != nil && !errors.Is(err, errorKeyNotFound) {
 								return err
@@ -148,7 +156,12 @@ func (hc *HealthChecker) addOnCategories() []category {
 					retryDeadline:       hc.RetryDeadline,
 					surfaceErrorOnRetry: true,
 					check: func(ctx context.Context) error {
-						if _, ok := hc.addOns[l5dcharts.GrafanaAddOn]; ok {
+						grafana := make(map[string]interface{})
+						err := yaml.Unmarshal(hc.linkerdConfig.Grafana.Values(), &grafana)
+						if err != nil {
+							return err
+						}
+						if GetBool(grafana, "enabled") {
 							// populate controlPlanePods to get the latest status, during retries
 							var err error
 							hc.controlPlanePods, err = hc.kubeAPI.GetPodsByNamespace(ctx, hc.ControlPlaneNamespace)
@@ -170,7 +183,12 @@ func (hc *HealthChecker) addOnCategories() []category {
 					description: "collector service account exists",
 					warning:     true,
 					check: func(ctx context.Context) error {
-						if tracing, ok := hc.addOns[l5dcharts.TracingAddOn]; ok {
+						tracing := make(map[string]interface{})
+						err := yaml.Unmarshal(hc.linkerdConfig.Tracing.Values(), &tracing)
+						if err != nil {
+							return err
+						}
+						if GetBool(tracing, "enabled") {
 
 							collector, mapError := GetMap(tracing, "collector")
 
@@ -197,7 +215,12 @@ func (hc *HealthChecker) addOnCategories() []category {
 					description: "jaeger service account exists",
 					warning:     true,
 					check: func(ctx context.Context) error {
-						if tracing, ok := hc.addOns[l5dcharts.TracingAddOn]; ok {
+						tracing := make(map[string]interface{})
+						err := yaml.Unmarshal(hc.linkerdConfig.Tracing.Values(), &tracing)
+						if err != nil {
+							return err
+						}
+						if GetBool(tracing, "enabled") {
 							jaeger, mapError := GetMap(tracing, "jaeger")
 
 							jaegerName, keyError := GetString(jaeger, "name")
@@ -223,7 +246,12 @@ func (hc *HealthChecker) addOnCategories() []category {
 					description: "collector config map exists",
 					warning:     true,
 					check: func(ctx context.Context) error {
-						if tracing, ok := hc.addOns[l5dcharts.TracingAddOn]; ok {
+						tracing := make(map[string]interface{})
+						err := yaml.Unmarshal(hc.linkerdConfig.Tracing.Values(), &tracing)
+						if err != nil {
+							return err
+						}
+						if GetBool(tracing, "enabled") {
 							collector, mapError := GetMap(tracing, "collector")
 
 							collectorName, keyError := GetString(collector, "name")
@@ -255,7 +283,12 @@ func (hc *HealthChecker) addOnCategories() []category {
 					retryDeadline:       hc.RetryDeadline,
 					surfaceErrorOnRetry: true,
 					check: func(ctx context.Context) error {
-						if _, ok := hc.addOns[l5dcharts.TracingAddOn]; ok {
+						tracing := make(map[string]interface{})
+						err := yaml.Unmarshal(hc.linkerdConfig.Tracing.Values(), &tracing)
+						if err != nil {
+							return err
+						}
+						if GetBool(tracing, "enabled") {
 							// populate controlPlanePods to get the latest status, during retries
 							var err error
 							hc.controlPlanePods, err = hc.kubeAPI.GetPodsByNamespace(ctx, hc.ControlPlaneNamespace)
@@ -274,7 +307,12 @@ func (hc *HealthChecker) addOnCategories() []category {
 					retryDeadline:       hc.RetryDeadline,
 					surfaceErrorOnRetry: true,
 					check: func(ctx context.Context) error {
-						if _, ok := hc.addOns[l5dcharts.TracingAddOn]; ok {
+						tracing := make(map[string]interface{})
+						err := yaml.Unmarshal(hc.linkerdConfig.Tracing.Values(), &tracing)
+						if err != nil {
+							return err
+						}
+						if GetBool(tracing, "enabled") {
 							// populate controlPlanePods to get the latest status, during retries
 							var err error
 							hc.controlPlanePods, err = hc.kubeAPI.GetPodsByNamespace(ctx, hc.ControlPlaneNamespace)
@@ -292,74 +330,45 @@ func (hc *HealthChecker) addOnCategories() []category {
 	}
 }
 
-func (hc *HealthChecker) checkIfAddOnsConfigMapExists(ctx context.Context) error {
-
-	// Check if linkerd-config-addons ConfigMap present, If not skip the next checks
-	cm, err := hc.checkForAddOnCM(ctx)
-	if err != nil {
-		return err
-	}
-
-	// linkerd-config-addons cm is present,now update hc to include those add-ons
-	// so that further add-on specific checks can be ran
-	var values l5dcharts.Values
-	err = yaml.Unmarshal([]byte(cm), &values)
-	if err != nil {
-		return fmt.Errorf("could not unmarshal %s config-map: %s", k8s.AddOnsConfigMapName, err)
-	}
-
-	addOns, err := l5dcharts.ParseAddOnValues(&values)
-	if err != nil {
-		return fmt.Errorf("could not read %s config-map: %s", k8s.AddOnsConfigMapName, err)
-	}
-
-	hc.addOns = make(map[string]interface{})
-
-	for _, addOn := range addOns {
-		values := map[string]interface{}{}
-		err = yaml.Unmarshal(addOn.Values(), &values)
-		if err != nil {
-			return err
-		}
-
-		hc.addOns[addOn.Name()] = values
+// GetString returns a String with the given key if present
+func GetString(i interface{}, k string) (string, error) {
+	m, ok := i.(map[string]interface{})
+	if !ok {
+		return "", errors.New("config value is not a map")
 	}
 
-	return nil
-}
-
-func (hc *HealthChecker) checkForAddOnCM(ctx context.Context) (string, error) {
-	cm, err := k8s.GetAddOnsConfigMap(ctx, hc.kubeAPI, hc.ControlPlaneNamespace)
-	if err != nil {
-		return "", err
+	v, ok := m[k]
+	if !ok {
+		return "", errorKeyNotFound
 	}
 
-	values, ok := cm["values"]
+	res, ok := v.(string)
 	if !ok {
-		return "", fmt.Errorf("values subpath not found in %s configmap", k8s.AddOnsConfigMapName)
+		return "", fmt.Errorf("config value '%v' for key '%s' is not a string", v, k)
 	}
 
-	return values, nil
+	return res, nil
 }
 
-// GetString returns a String with the given key if present
-func GetString(i interface{}, k string) (string, error) {
+// GetBool returns a bool with the given key if present.  Defaults to false if
+// the key is not present or is a different type.
+func GetBool(i interface{}, k string) bool {
 	m, ok := i.(map[string]interface{})
 	if !ok {
-		return "", errors.New("config value is not a map")
+		return false
 	}
 
 	v, ok := m[k]
 	if !ok {
-		return "", errorKeyNotFound
+		return false
 	}
 
-	res, ok := v.(string)
+	res, ok := v.(bool)
 	if !ok {
-		return "", fmt.Errorf("config value '%v' for key '%s' is not a string", v, k)
+		return false
 	}
 
-	return res, nil
+	return res
 }
 
 // GetMap returns a Map with the given Key if Present


Test patch:
diff --git a/cli/cmd/testdata/install_addon.golden b/cli/cmd/testdata/install_addon.golden
index 98284edae..56a59015e 100644
--- a/cli/cmd/testdata/install_addon.golden
+++ b/cli/cmd/testdata/install_addon.golden
@@ -2756,31 +2756,6 @@ spec:
 
 ---
 ###
-### linkerd add-ons configuration
-###
----
-kind: ConfigMap
-apiVersion: v1
-metadata:
-  name: linkerd-config-addons
-  namespace: linkerd
-  labels:
-    linkerd.io/control-plane-ns: linkerd
-  annotations:
-    linkerd.io/created-by: linkerd/cli dev-undefined
-data:
-  values: |-
-    global:
-      prometheusUrl: ""
-      grafanaUrl: ""
-    grafana:
-      enabled: true
-    prometheus:
-      enabled: true
-    tracing:
-      enabled: true
----
-###
 ### Grafana RBAC
 ###
 ---
diff --git a/cli/cmd/testdata/install_controlplane_tracing_output.golden b/cli/cmd/testdata/install_controlplane_tracing_output.golden
index 18f66d4d1..9c8f5f442 100644
--- a/cli/cmd/testdata/install_controlplane_tracing_output.golden
+++ b/cli/cmd/testdata/install_controlplane_tracing_output.golden
@@ -2858,31 +2858,6 @@ spec:
 
 ---
 ###
-### linkerd add-ons configuration
-###
----
-kind: ConfigMap
-apiVersion: v1
-metadata:
-  name: linkerd-config-addons
-  namespace: linkerd
-  labels:
-    linkerd.io/control-plane-ns: linkerd
-  annotations:
-    linkerd.io/created-by: linkerd/cli dev-undefined
-data:
-  values: |-
-    global:
-      prometheusUrl: ""
-      grafanaUrl: ""
-    grafana:
-      enabled: true
-    prometheus:
-      enabled: true
-    tracing:
-      enabled: false
----
-###
 ### Grafana RBAC
 ###
 ---
diff --git a/cli/cmd/testdata/install_custom_registry.golden b/cli/cmd/testdata/install_custom_registry.golden
index a1272e44f..4a94dfcb9 100644
--- a/cli/cmd/testdata/install_custom_registry.golden
+++ b/cli/cmd/testdata/install_custom_registry.golden
@@ -2755,31 +2755,6 @@ spec:
 
 ---
 ###
-### linkerd add-ons configuration
-###
----
-kind: ConfigMap
-apiVersion: v1
-metadata:
-  name: linkerd-config-addons
-  namespace: linkerd
-  labels:
-    linkerd.io/control-plane-ns: linkerd
-  annotations:
-    linkerd.io/created-by: linkerd/cli dev-undefined
-data:
-  values: |-
-    global:
-      prometheusUrl: ""
-      grafanaUrl: ""
-    grafana:
-      enabled: true
-    prometheus:
-      enabled: true
-    tracing:
-      enabled: false
----
-###
 ### Grafana RBAC
 ###
 ---
diff --git a/cli/cmd/testdata/install_default.golden b/cli/cmd/testdata/install_default.golden
index 603677614..0ccd4932e 100644
--- a/cli/cmd/testdata/install_default.golden
+++ b/cli/cmd/testdata/install_default.golden
@@ -2755,31 +2755,6 @@ spec:
 
 ---
 ###
-### linkerd add-ons configuration
-###
----
-kind: ConfigMap
-apiVersion: v1
-metadata:
-  name: linkerd-config-addons
-  namespace: linkerd
-  labels:
-    linkerd.io/control-plane-ns: linkerd
-  annotations:
-    linkerd.io/created-by: linkerd/cli dev-undefined
-data:
-  values: |-
-    global:
-      prometheusUrl: ""
-      grafanaUrl: ""
-    grafana:
-      enabled: true
-    prometheus:
-      enabled: true
-    tracing:
-      enabled: false
----
-###
 ### Grafana RBAC
 ###
 ---
diff --git a/cli/cmd/testdata/install_default_override_dst_get_nets.golden b/cli/cmd/testdata/install_default_override_dst_get_nets.golden
index e8ef3cb12..e60c3f8ea 100644
--- a/cli/cmd/testdata/install_default_override_dst_get_nets.golden
+++ b/cli/cmd/testdata/install_default_override_dst_get_nets.golden
@@ -2755,31 +2755,6 @@ spec:
 
 ---
 ###
-### linkerd add-ons configuration
-###
----
-kind: ConfigMap
-apiVersion: v1
-metadata:
-  name: linkerd-config-addons
-  namespace: linkerd
-  labels:
-    linkerd.io/control-plane-ns: linkerd
-  annotations:
-    linkerd.io/created-by: linkerd/cli dev-undefined
-data:
-  values: |-
-    global:
-      prometheusUrl: ""
-      grafanaUrl: ""
-    grafana:
-      enabled: true
-    prometheus:
-      enabled: true
-    tracing:
-      enabled: false
----
-###
 ### Grafana RBAC
 ###
 ---
diff --git a/cli/cmd/testdata/install_grafana_existing.golden b/cli/cmd/testdata/install_grafana_existing.golden
index 01cbbcd54..93b0b6fef 100644
--- a/cli/cmd/testdata/install_grafana_existing.golden
+++ b/cli/cmd/testdata/install_grafana_existing.golden
@@ -2752,31 +2752,6 @@ spec:
 
 ---
 ###
-### linkerd add-ons configuration
-###
----
-kind: ConfigMap
-apiVersion: v1
-metadata:
-  name: linkerd-config-addons
-  namespace: linkerd
-  labels:
-    linkerd.io/control-plane-ns: linkerd
-  annotations:
-    linkerd.io/created-by: linkerd/cli dev-undefined
-data:
-  values: |-
-    global:
-      prometheusUrl: ""
-      grafanaUrl: "somegrafana.xyz"
-    grafana:
-      enabled: false
-    prometheus:
-      enabled: true
-    tracing:
-      enabled: false
----
-###
 ### Prometheus RBAC
 ###
 ---
diff --git a/cli/cmd/testdata/install_ha_output.golden b/cli/cmd/testdata/install_ha_output.golden
index 98180bd31..920bbc739 100644
--- a/cli/cmd/testdata/install_ha_output.golden
+++ b/cli/cmd/testdata/install_ha_output.golden
@@ -3053,45 +3053,6 @@ spec:
 
 ---
 ###
-### linkerd add-ons configuration
-###
----
-kind: ConfigMap
-apiVersion: v1
-metadata:
-  name: linkerd-config-addons
-  namespace: linkerd
-  labels:
-    linkerd.io/control-plane-ns: linkerd
-  annotations:
-    linkerd.io/created-by: linkerd/cli dev-undefined
-data:
-  values: |-
-    global:
-      prometheusUrl: ""
-      grafanaUrl: ""
-    grafana:
-      enabled: true
-      resources:
-        cpu:
-          limit: "1"
-          request: 100m
-        memory:
-          limit: 1024Mi
-          request: 50Mi
-    prometheus:
-      enabled: true
-      resources:
-        cpu:
-          limit: "4"
-          request: 300m
-        memory:
-          limit: 8192Mi
-          request: 300Mi
-    tracing:
-      enabled: false
----
-###
 ### Grafana RBAC
 ###
 ---
diff --git a/cli/cmd/testdata/install_ha_with_overrides_output.golden b/cli/cmd/testdata/install_ha_with_overrides_output.golden
index f4a8fcf09..bacf8ff4e 100644
--- a/cli/cmd/testdata/install_ha_with_overrides_output.golden
+++ b/cli/cmd/testdata/install_ha_with_overrides_output.golden
@@ -3053,45 +3053,6 @@ spec:
 
 ---
 ###
-### linkerd add-ons configuration
-###
----
-kind: ConfigMap
-apiVersion: v1
-metadata:
-  name: linkerd-config-addons
-  namespace: linkerd
-  labels:
-    linkerd.io/control-plane-ns: linkerd
-  annotations:
-    linkerd.io/created-by: linkerd/cli dev-undefined
-data:
-  values: |-
-    global:
-      prometheusUrl: ""
-      grafanaUrl: ""
-    grafana:
-      enabled: true
-      resources:
-        cpu:
-          limit: "1"
-          request: 100m
-        memory:
-          limit: 1024Mi
-          request: 50Mi
-    prometheus:
-      enabled: true
-      resources:
-        cpu:
-          limit: "4"
-          request: 300m
-        memory:
-          limit: 8192Mi
-          request: 300Mi
-    tracing:
-      enabled: false
----
-###
 ### Grafana RBAC
 ###
 ---
diff --git a/cli/cmd/testdata/install_heartbeat_disabled_output.golden b/cli/cmd/testdata/install_heartbeat_disabled_output.golden
index 96c565cfe..efca69ac5 100644
--- a/cli/cmd/testdata/install_heartbeat_disabled_output.golden
+++ b/cli/cmd/testdata/install_heartbeat_disabled_output.golden
@@ -2666,31 +2666,6 @@ spec:
 
 ---
 ###
-### linkerd add-ons configuration
-###
----
-kind: ConfigMap
-apiVersion: v1
-metadata:
-  name: linkerd-config-addons
-  namespace: linkerd
-  labels:
-    linkerd.io/control-plane-ns: linkerd
-  annotations:
-    linkerd.io/created-by: linkerd/cli dev-undefined
-data:
-  values: |-
-    global:
-      prometheusUrl: ""
-      grafanaUrl: ""
-    grafana:
-      enabled: true
-    prometheus:
-      enabled: true
-    tracing:
-      enabled: false
----
-###
 ### Grafana RBAC
 ###
 ---
diff --git a/cli/cmd/testdata/install_helm_output.golden b/cli/cmd/testdata/install_helm_output.golden
index 1f6536acb..8ee76d586 100644
--- a/cli/cmd/testdata/install_helm_output.golden
+++ b/cli/cmd/testdata/install_helm_output.golden
@@ -3052,45 +3052,6 @@ spec:
           secretName: linkerd-tap-k8s-tls
 
 ---
-# Source: linkerd2/templates/linkerd-config-addons.yaml
----
-###
-### linkerd add-ons configuration
-###
----
-kind: ConfigMap
-apiVersion: v1
-metadata:
-  name: linkerd-config-addons
-  namespace: linkerd
-  labels:
-    linkerd.io/control-plane-ns: linkerd
-  annotations:
-    linkerd.io/created-by: linkerd/helm linkerd-version
-data:
-  values: |-
-    global:
-      prometheusUrl: ""
-      grafanaUrl: ""
-    grafana:
-      enabled: true
-      image:
-        name: ghcr.io/linkerd/grafana
-    prometheus:
-      args:
-        config.file: /etc/prometheus/prometheus.yml
-        log.level: info
-        storage.tsdb.path: /data
-        storage.tsdb.retention.time: 6h
-      enabled: true
-      globalConfig:
-        evaluation_interval: 10s
-        scrape_interval: 10s
-        scrape_timeout: 10s
-      image: prom/prometheus:v2.19.3
-    tracing:
-      enabled: false
----
 # Source: linkerd2/charts/grafana/templates/grafana-rbac.yaml
 ---
 ###
diff --git a/cli/cmd/testdata/install_helm_output_addons.golden b/cli/cmd/testdata/install_helm_output_addons.golden
index ba2c572ac..398551857 100644
--- a/cli/cmd/testdata/install_helm_output_addons.golden
+++ b/cli/cmd/testdata/install_helm_output_addons.golden
@@ -3228,49 +3228,6 @@ spec:
           secretName: linkerd-tap-k8s-tls
 
 ---
-# Source: linkerd2/templates/linkerd-config-addons.yaml
----
-###
-### linkerd add-ons configuration
-###
----
-kind: ConfigMap
-apiVersion: v1
-metadata:
-  name: linkerd-config-addons
-  namespace: linkerd
-  labels:
-    linkerd.io/control-plane-ns: linkerd
-  annotations:
-    linkerd.io/created-by: linkerd/helm linkerd-version
-data:
-  values: |-
-    global:
-      prometheusUrl: ""
-      grafanaUrl: ""
-    grafana:
-      enabled: true
-      image:
-        name: ghcr.io/linkerd/grafana
-    prometheus:
-      args:
-        config.file: /etc/prometheus/prometheus.yml
-        log.level: info
-        storage.tsdb.path: /data
-        storage.tsdb.retention.time: 6h
-      enabled: true
-      globalConfig:
-        evaluation_interval: 10s
-        scrape_interval: 10s
-        scrape_timeout: 10s
-      image: prom/prometheus:v2.19.3
-    tracing:
-      collector:
-        image: omnition/opencensus-collector:0.1.11
-      enabled: true
-      jaeger:
-        image: jaegertracing/all-in-one:1.19.2
----
 # Source: linkerd2/charts/grafana/templates/grafana-rbac.yaml
 ---
 ###
diff --git a/cli/cmd/testdata/install_helm_output_ha.golden b/cli/cmd/testdata/install_helm_output_ha.golden
index 8c5aa463b..4ac55e17b 100644
--- a/cli/cmd/testdata/install_helm_output_ha.golden
+++ b/cli/cmd/testdata/install_helm_output_ha.golden
@@ -3346,59 +3346,6 @@ spec:
           secretName: linkerd-tap-k8s-tls
 
 ---
-# Source: linkerd2/templates/linkerd-config-addons.yaml
----
-###
-### linkerd add-ons configuration
-###
----
-kind: ConfigMap
-apiVersion: v1
-metadata:
-  name: linkerd-config-addons
-  namespace: linkerd
-  labels:
-    linkerd.io/control-plane-ns: linkerd
-  annotations:
-    linkerd.io/created-by: linkerd/helm linkerd-version
-data:
-  values: |-
-    global:
-      prometheusUrl: ""
-      grafanaUrl: ""
-    grafana:
-      enabled: true
-      image:
-        name: ghcr.io/linkerd/grafana
-      resources:
-        cpu:
-          limit: "1"
-          request: 100m
-        memory:
-          limit: 1024Mi
-          request: 50Mi
-    prometheus:
-      args:
-        config.file: /etc/prometheus/prometheus.yml
-        log.level: info
-        storage.tsdb.path: /data
-        storage.tsdb.retention.time: 6h
-      enabled: true
-      globalConfig:
-        evaluation_interval: 10s
-        scrape_interval: 10s
-        scrape_timeout: 10s
-      image: prom/prometheus:v2.19.3
-      resources:
-        cpu:
-          limit: "4"
-          request: 300m
-        memory:
-          limit: 8192Mi
-          request: 300Mi
-    tracing:
-      enabled: false
----
 # Source: linkerd2/charts/grafana/templates/grafana-rbac.yaml
 ---
 ###
diff --git a/cli/cmd/testdata/install_helm_output_ha_labels.golden b/cli/cmd/testdata/install_helm_output_ha_labels.golden
index 547ad5b65..b2596f538 100644
--- a/cli/cmd/testdata/install_helm_output_ha_labels.golden
+++ b/cli/cmd/testdata/install_helm_output_ha_labels.golden
@@ -3398,59 +3398,6 @@ spec:
           secretName: linkerd-tap-k8s-tls
 
 ---
-# Source: linkerd2/templates/linkerd-config-addons.yaml
----
-###
-### linkerd add-ons configuration
-###
----
-kind: ConfigMap
-apiVersion: v1
-metadata:
-  name: linkerd-config-addons
-  namespace: linkerd
-  labels:
-    linkerd.io/control-plane-ns: linkerd
-  annotations:
-    linkerd.io/created-by: linkerd/helm linkerd-version
-data:
-  values: |-
-    global:
-      prometheusUrl: ""
-      grafanaUrl: ""
-    grafana:
-      enabled: true
-      image:
-        name: ghcr.io/linkerd/grafana
-      resources:
-        cpu:
-          limit: "1"
-          request: 100m
-        memory:
-          limit: 1024Mi
-          request: 50Mi
-    prometheus:
-      args:
-        config.file: /etc/prometheus/prometheus.yml
-        log.level: info
-        storage.tsdb.path: /data
-        storage.tsdb.retention.time: 6h
-      enabled: true
-      globalConfig:
-        evaluation_interval: 10s
-        scrape_interval: 10s
-        scrape_timeout: 10s
-      image: prom/prometheus:v2.19.3
-      resources:
-        cpu:
-          limit: "4"
-          request: 300m
-        memory:
-          limit: 8192Mi
-          request: 300Mi
-    tracing:
-      enabled: false
----
 # Source: linkerd2/charts/grafana/templates/grafana-rbac.yaml
 ---
 ###
diff --git a/cli/cmd/testdata/install_helm_output_ha_namespace_selector.golden b/cli/cmd/testdata/install_helm_output_ha_namespace_selector.golden
index ec67750ec..bce59af9d 100644
--- a/cli/cmd/testdata/install_helm_output_ha_namespace_selector.golden
+++ b/cli/cmd/testdata/install_helm_output_ha_namespace_selector.golden
@@ -3346,59 +3346,6 @@ spec:
           secretName: linkerd-tap-k8s-tls
 
 ---
-# Source: linkerd2/templates/linkerd-config-addons.yaml
----
-###
-### linkerd add-ons configuration
-###
----
-kind: ConfigMap
-apiVersion: v1
-metadata:
-  name: linkerd-config-addons
-  namespace: linkerd
-  labels:
-    linkerd.io/control-plane-ns: linkerd
-  annotations:
-    linkerd.io/created-by: linkerd/helm linkerd-version
-data:
-  values: |-
-    global:
-      prometheusUrl: ""
-      grafanaUrl: ""
-    grafana:
-      enabled: true
-      image:
-        name: ghcr.io/linkerd/grafana
-      resources:
-        cpu:
-          limit: "1"
-          request: 100m
-        memory:
-          limit: 1024Mi
-          request: 50Mi
-    prometheus:
-      args:
-        config.file: /etc/prometheus/prometheus.yml
-        log.level: info
-        storage.tsdb.path: /data
-        storage.tsdb.retention.time: 6h
-      enabled: true
-      globalConfig:
-        evaluation_interval: 10s
-        scrape_interval: 10s
-        scrape_timeout: 10s
-      image: prom/prometheus:v2.19.3
-      resources:
-        cpu:
-          limit: "4"
-          request: 300m
-        memory:
-          limit: 8192Mi
-          request: 300Mi
-    tracing:
-      enabled: false
----
 # Source: linkerd2/charts/grafana/templates/grafana-rbac.yaml
 ---
 ###
diff --git a/cli/cmd/testdata/install_no_init_container.golden b/cli/cmd/testdata/install_no_init_container.golden
index f94883101..bf8be8d91 100644
--- a/cli/cmd/testdata/install_no_init_container.golden
+++ b/cli/cmd/testdata/install_no_init_container.golden
@@ -2486,31 +2486,6 @@ spec:
 
 ---
 ###
-### linkerd add-ons configuration
-###
----
-kind: ConfigMap
-apiVersion: v1
-metadata:
-  name: linkerd-config-addons
-  namespace: linkerd
-  labels:
-    linkerd.io/control-plane-ns: linkerd
-  annotations:
-    linkerd.io/created-by: linkerd/cli dev-undefined
-data:
-  values: |-
-    global:
-      prometheusUrl: ""
-      grafanaUrl: ""
-    grafana:
-      enabled: true
-    prometheus:
-      enabled: true
-    tracing:
-      enabled: false
----
-###
 ### Grafana RBAC
 ###
 ---
diff --git a/cli/cmd/testdata/install_output.golden b/cli/cmd/testdata/install_output.golden
index f5affcf10..a303b40a5 100644
--- a/cli/cmd/testdata/install_output.golden
+++ b/cli/cmd/testdata/install_output.golden
@@ -2770,32 +2770,6 @@ spec:
 
 ---
 ###
-### linkerd add-ons configuration
-###
----
-kind: ConfigMap
-apiVersion: v1
-metadata:
-  name: linkerd-config-addons
-  namespace: Namespace
-  labels:
-    ControllerNamespaceLabel: Namespace
-  annotations:
-    CreatedByAnnotation: CliVersion
-data:
-  values: |-
-    global:
-      prometheusUrl: ""
-      grafanaUrl: ""
-    grafana:
-      enabled: true
-    prometheus:
-      enabled: true
-      image: PrometheusImage
-    tracing:
-      enabled: false
----
-###
 ### Grafana RBAC
 ###
 ---
diff --git a/cli/cmd/testdata/install_prometheus_overwrite.golden b/cli/cmd/testdata/install_prometheus_overwrite.golden
index e18f1ce10..4dc8e5940 100644
--- a/cli/cmd/testdata/install_prometheus_overwrite.golden
+++ b/cli/cmd/testdata/install_prometheus_overwrite.golden
@@ -2812,88 +2812,6 @@ spec:
 
 ---
 ###
-### linkerd add-ons configuration
-###
----
-kind: ConfigMap
-apiVersion: v1
-metadata:
-  name: linkerd-config-addons
-  namespace: linkerd
-  labels:
-    linkerd.io/control-plane-ns: linkerd
-  annotations:
-    linkerd.io/created-by: linkerd/cli dev-undefined
-data:
-  values: |-
-    global:
-      prometheusUrl: ""
-      grafanaUrl: ""
-    grafana:
-      enabled: true
-    prometheus:
-      alertManagers:
-      - scheme: http
-        static_configs:
-        - targets:
-          - alertmanager.linkerd.svc:9093
-      alertRelabelConfigs:
-      - action: labeldrop
-        regex: prometheus_replica
-      args:
-        log.format: json
-      enabled: true
-      globalConfig:
-        evaluation_interval: 2m
-        external_labels:
-          cluster: cluster-1
-      image: linkedin.io/prom
-      remoteWrite:
-      - url: http://cortex-service.default:9009/api/prom/push
-      ruleConfigMapMounts:
-      - configMap: linkerd-prometheus-rules
-        name: alerting-rules
-        subPath: alerting_rules.yml
-      - configMap: linkerd-prometheus-rules
-        name: recording-rules
-        subPath: recording_rules.yml
-      scrapeConfigs:
-      - bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
-        job_name: kubernetes-nodes
-        kubernetes_sd_configs:
-        - role: node
-        relabel_configs:
-        - action: labelmap
-          regex: __meta_kubernetes_node_label_(.+)
-        scheme: https
-        tls_config:
-          ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
-      sidecarContainers:
-      - command:
-        - /bin/sh
-        - -c
-        - |
-          exec /bin/stackdriver-prometheus-sidecar \
-            --stackdriver.project-id=myproject \
-            --stackdriver.kubernetes.location=us-central1 \
-            --stackdriver.kubernetes.cluster-name=mycluster \
-            --prometheus.wal-directory=/data/wal \
-            --log.level=info
-          volumeMounts:
-          - mountPath: /data
-            name: data
-        imagePullPolicy: always
-        lifecycle:
-          type: Sidecar
-        name: sidecar
-        ports:
-        - containerPort: 9091
-          name: foo
-          protocol: TCP
-    tracing:
-      enabled: false
----
-###
 ### Grafana RBAC
 ###
 ---
diff --git a/cli/cmd/testdata/install_proxy_ignores.golden b/cli/cmd/testdata/install_proxy_ignores.golden
index 55727deea..7c79b4c62 100644
--- a/cli/cmd/testdata/install_proxy_ignores.golden
+++ b/cli/cmd/testdata/install_proxy_ignores.golden
@@ -2755,31 +2755,6 @@ spec:
 
 ---
 ###
-### linkerd add-ons configuration
-###
----
-kind: ConfigMap
-apiVersion: v1
-metadata:
-  name: linkerd-config-addons
-  namespace: linkerd
-  labels:
-    linkerd.io/control-plane-ns: linkerd
-  annotations:
-    linkerd.io/created-by: linkerd/cli dev-undefined
-data:
-  values: |-
-    global:
-      prometheusUrl: ""
-      grafanaUrl: ""
-    grafana:
-      enabled: true
-    prometheus:
-      enabled: true
-    tracing:
-      enabled: false
----
-###
 ### Grafana RBAC
 ###
 ---
diff --git a/cli/cmd/testdata/install_restricted_dashboard.golden b/cli/cmd/testdata/install_restricted_dashboard.golden
index 515a2a66f..21a1d380f 100644
--- a/cli/cmd/testdata/install_restricted_dashboard.golden
+++ b/cli/cmd/testdata/install_restricted_dashboard.golden
@@ -2687,31 +2687,6 @@ spec:
 
 ---
 ###
-### linkerd add-ons configuration
-###
----
-kind: ConfigMap
-apiVersion: v1
-metadata:
-  name: linkerd-config-addons
-  namespace: linkerd
-  labels:
-    linkerd.io/control-plane-ns: linkerd
-  annotations:
-    linkerd.io/created-by: linkerd/cli dev-undefined
-data:
-  values: |-
-    global:
-      prometheusUrl: ""
-      grafanaUrl: ""
-    grafana:
-      enabled: true
-    prometheus:
-      enabled: true
-    tracing:
-      enabled: false
----
-###
 ### Grafana RBAC
 ###
 ---
diff --git a/cli/cmd/testdata/install_tracing.golden b/cli/cmd/testdata/install_tracing.golden
index 98284edae..56a59015e 100644
--- a/cli/cmd/testdata/install_tracing.golden
+++ b/cli/cmd/testdata/install_tracing.golden
@@ -2756,31 +2756,6 @@ spec:
 
 ---
 ###
-### linkerd add-ons configuration
-###
----
-kind: ConfigMap
-apiVersion: v1
-metadata:
-  name: linkerd-config-addons
-  namespace: linkerd
-  labels:
-    linkerd.io/control-plane-ns: linkerd
-  annotations:
-    linkerd.io/created-by: linkerd/cli dev-undefined
-data:
-  values: |-
-    global:
-      prometheusUrl: ""
-      grafanaUrl: ""
-    grafana:
-      enabled: true
-    prometheus:
-      enabled: true
-    tracing:
-      enabled: true
----
-###
 ### Grafana RBAC
 ###
 ---
diff --git a/cli/cmd/testdata/install_tracing_overwrite.golden b/cli/cmd/testdata/install_tracing_overwrite.golden
index c7f11bf0a..e05eb2d63 100644
--- a/cli/cmd/testdata/install_tracing_overwrite.golden
+++ b/cli/cmd/testdata/install_tracing_overwrite.golden
@@ -2758,33 +2758,6 @@ spec:
 
 ---
 ###
-### linkerd add-ons configuration
-###
----
-kind: ConfigMap
-apiVersion: v1
-metadata:
-  name: linkerd-config-addons
-  namespace: linkerd
-  labels:
-    linkerd.io/control-plane-ns: linkerd
-  annotations:
-    linkerd.io/created-by: linkerd/cli dev-undefined
-data:
-  values: |-
-    global:
-      prometheusUrl: ""
-      grafanaUrl: ""
-    grafana:
-      enabled: true
-    prometheus:
-      enabled: true
-    tracing:
-      collector:
-        image: overwrite-collector-image
-      enabled: true
----
-###
 ### Grafana RBAC
 ###
 ---
diff --git a/cli/cmd/upgrade_test.go b/cli/cmd/upgrade_test.go
index e5c60ae0f..a91bc2fb7 100644
--- a/cli/cmd/upgrade_test.go
+++ b/cli/cmd/upgrade_test.go
@@ -293,7 +293,7 @@ func TestUpgradeTracingAddon(t *testing.T) {
 	upgradeManifests := parseManifestList(upgrade.String())
 	diffMap := diffManifestLists(expectedManifests, upgradeManifests)
 	tracingManifests := []string{
-		"Service/linkerd-jaeger", "Deployment/linkerd-jaeger", "ConfigMap/linkerd-config-addons",
+		"Service/linkerd-jaeger", "Deployment/linkerd-jaeger",
 		"ServiceAccount/linkerd-jaeger", "Service/linkerd-collector", "ConfigMap/linkerd-collector-config",
 		"ServiceAccount/linkerd-collector", "Deployment/linkerd-collector",
 	}
@@ -343,9 +343,7 @@ func TestUpgradeOverwriteTracingAddon(t *testing.T) {
 	expectedManifests := parseManifestList(expected)
 	upgradeManifests := parseManifestList(upgrade.String())
 	diffMap := diffManifestLists(expectedManifests, upgradeManifests)
-	tracingManifests := []string{
-		"ConfigMap/linkerd-config-addons", "Deployment/linkerd-collector",
-	}
+	tracingManifests := []string{"Deployment/linkerd-collector"}
 	for _, id := range tracingManifests {
 		if _, ok := diffMap[id]; ok {
 			delete(diffMap, id)
@@ -523,7 +521,7 @@ func TestUpgradeEnableAddon(t *testing.T) {
 	diffMap := diffManifestLists(expectedManifests, upgradeManifests)
 	addonManifests := []string{
 		"ServiceAccount/linkerd-grafana", "Deployment/linkerd-grafana", "Service/linkerd-grafana",
-		"ConfigMap/linkerd-grafana-config", "ConfigMap/linkerd-config-addons",
+		"ConfigMap/linkerd-grafana-config",
 	}
 	for _, id := range addonManifests {
 		if _, ok := diffMap[id]; ok {
@@ -608,11 +606,6 @@ func TestUpgradeOverwriteRemoveAddonKeys(t *testing.T) {
 	expectedManifests := parseManifestList(expected)
 	upgradeManifests := parseManifestList(upgrade.String())
 	diffMap := diffManifestLists(expectedManifests, upgradeManifests)
-	if _, ok := diffMap["ConfigMap/linkerd-config-addons"]; ok {
-		delete(diffMap, "ConfigMap/linkerd-config-addons")
-	} else {
-		t.Error("Expected ConfigMap/linkerd-config-addons in upgrade output diff but was absent")
-	}
 
 	resourceDiffFound := false
 	for id, diffs := range diffMap {
diff --git a/test/integration/testdata/check.cni.golden b/test/integration/testdata/check.cni.golden
index b8527fa57..2144cdcd8 100644
--- a/test/integration/testdata/check.cni.golden
+++ b/test/integration/testdata/check.cni.golden
@@ -76,10 +76,6 @@ control-plane-version
 √ control plane is up-to-date
 √ control plane and cli versions match
 
-linkerd-addons
---------------
-√ 'linkerd-config-addons' config map exists
-
 linkerd-prometheus
 ------------------
 √ prometheus add-on service account exists
diff --git a/test/integration/testdata/check.cni.proxy.golden b/test/integration/testdata/check.cni.proxy.golden
index f87440190..0a08a8121 100644
--- a/test/integration/testdata/check.cni.proxy.golden
+++ b/test/integration/testdata/check.cni.proxy.golden
@@ -83,10 +83,6 @@ linkerd-data-plane
 √ data plane is up-to-date
 √ data plane and cli versions match
 
-linkerd-addons
---------------
-√ 'linkerd-config-addons' config map exists
-
 linkerd-prometheus
 ------------------
 √ prometheus add-on service account exists
diff --git a/test/integration/testdata/check.golden b/test/integration/testdata/check.golden
index 1de523497..7f3dd2bf4 100644
--- a/test/integration/testdata/check.golden
+++ b/test/integration/testdata/check.golden
@@ -64,10 +64,6 @@ control-plane-version
 √ control plane is up-to-date
 √ control plane and cli versions match
 
-linkerd-addons
---------------
-√ 'linkerd-config-addons' config map exists
-
 linkerd-prometheus
 ------------------
 √ prometheus add-on service account exists
diff --git a/test/integration/testdata/check.multicluster.golden b/test/integration/testdata/check.multicluster.golden
index 52929609c..150d673d7 100644
--- a/test/integration/testdata/check.multicluster.golden
+++ b/test/integration/testdata/check.multicluster.golden
@@ -64,10 +64,6 @@ control-plane-version
 √ control plane is up-to-date
 √ control plane and cli versions match
 
-linkerd-addons
---------------
-√ 'linkerd-config-addons' config map exists
-
 linkerd-prometheus
 ------------------
 √ prometheus add-on service account exists
diff --git a/test/integration/testdata/check.multicluster.proxy.golden b/test/integration/testdata/check.multicluster.proxy.golden
index 25c4c1c0d..ce1fc992c 100644
--- a/test/integration/testdata/check.multicluster.proxy.golden
+++ b/test/integration/testdata/check.multicluster.proxy.golden
@@ -71,10 +71,6 @@ linkerd-data-plane
 √ data plane is up-to-date
 √ data plane and cli versions match
 
-linkerd-addons
---------------
-√ 'linkerd-config-addons' config map exists
-
 linkerd-prometheus
 ------------------
 √ prometheus add-on service account exists
diff --git a/test/integration/testdata/check.proxy.golden b/test/integration/testdata/check.proxy.golden
index 43c83cb0a..bb4af1e81 100644
--- a/test/integration/testdata/check.proxy.golden
+++ b/test/integration/testdata/check.proxy.golden
@@ -71,10 +71,6 @@ linkerd-data-plane
 √ data plane is up-to-date
 √ data plane and cli versions match
 
-linkerd-addons
---------------
-√ 'linkerd-config-addons' config map exists
-
 linkerd-prometheus
 ------------------
 √ prometheus add-on service account exists