Extend Helm chart to allow disabling secret resources for self-signed certs. (#4289)

* allow disabling secret resources for self-signed certs. Split cert and ca bundle.

Signed-off-by: Lutz Behnke <lutz.behnke@finleap.com>
This commit is contained in:
Lutz Behnke 2020-06-03 16:26:24 +02:00 committed by GitHub
parent 53b8027e6c
commit 163107b8cb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
37 changed files with 7020 additions and 167 deletions

View File

@ -152,12 +152,24 @@ their default values.
| `prometheusImage` | Docker image for the Prometheus container | `prom/prometheus:v2.15.2` |
| `prometheusLogLevel` | Log level for Prometheus | `info` |
| `prometheusRuleConfigMapMounts` | Alerting/recording rule ConfigMap mounts (sub-path names must end in `_rules.yml` or `_rules.yaml`) | `[]` |
| `proxyInjector.externalSecret` | Do not create a secret resource for the profileValidator webhook. If this is set to `true`, the value `proxyInjector.caBundle` must be set (see below). | false |
| `proxyInjector.crtPEM` | Certificate for the proxy injector. If not provided then Helm will generate one. | |
| `proxyInjector.keyPEM` | Certificate key for the proxy injector. If not provided then Helm will generate one. | |
| `proxyInjector.keyPEM` | Certificate key for the proxy injector. If not provided then Helm will generate one. | |
| `proxyInjector.caBundle` | Bundle of CA certificates for proxy injector. If not provided then Helm will use the certificate generated for `proxyInjector.crtPEM`. If `proxyInjector.externalSecret` is set to true, this value must be set, as no certificate will be generated. | |
| `profileValidator.externalSecret` | Do not create a secret resource for the profileValidator webhook. If this is set to `true`, the value `profileValidator.caBundle` must be set (see below). | false |
| `profileValidator.crtPEM` | Certificate for the service profile validator. If not provided then Helm will generate one. | |
| `profileValidator.keyPEM` | Certificate key for the service profile validator. If not provided then Helm will generate one. | |
| `profileValidator.caBundle` | Bundle of CA certificates for service profile validator. If not provided then Helm will use the certificate generated for `profileValidator.crtPEM`. If `profileValidator.externalSecret` is set to true, this value must be set, as no certificate will be generated. | |
| `smiMetrics.enabled` | Enable collection of SMI metrics by setting to `true`. Default is `false`
| `smiMetrics.externalSecret` | Do not create a secret resource for the SMI metrics component. If this is set to `true`, the value `smiMetrics.caBundle` must be set (see below). | false |
| `smiMetrics.image` | The image and tag to use for the SMI metrics component. | `deislabs/smi-metrics:v0.2.1` |
| `smiMetrics.crtPEM` | Certificate for the SMI metrics component. If not provided then Helm will generate one. ||
| `smiMetrics.keyPEM` | Certificate key for the SMI metrics component. If not provided then Helm will generate one. ||
| `smiMetrics.caBundle` | Bundle of CA certificates for the SMI metrics component. If not provided then Helm will use the certificate generated for `smiMetrics.crtPEM`. If `smiMetrics.externalSecret` is set to true, this value must be set, as no certificate will be generated. ||
| `tap.externalSecret` | Do not create a secret resource for the Tap component. If this is set to `true`, the value `tap.caBundle` must be set (see below). | false |
| `tap.crtPEM` | Certificate for the Tap component. If not provided then Helm will generate one. | |
| `tap.keyPEM` | Certificate key for Tap component. If not provided then Helm will generate one. | |
| `tap.caBundle` | Bundle of CA certificates for Tap component. If not provided then Helm will use the certificate generated for `tap.crtPEM`. If `tap.externalSecret` is set to true, this value must be set, as no certificate will be generated. ||
| `webhookFailurePolicy` | Failure policy for the proxy injector | `Ignore` |
| `webImage` | Docker image for the web container | `gcr.io/linkerd-io/web` |
| `enforcedHostRegexp` | Host header validation regex for the dashboard. See the [Linkerd documentation](https://linkerd.io/2/tasks/exposing-dashboard) for more information | `""` |

View File

@ -53,6 +53,8 @@ metadata:
{{.Values.global.controllerComponentLabel}}: proxy-injector
{{.Values.global.controllerNamespaceLabel}}: {{.Values.global.namespace}}
---
{{- $ca := genCA (printf "linkerd-proxy-injector.%s.svc" .Values.global.namespace) 365 }}
{{- if (not .Values.proxyInjector.externalSecret) }}
kind: Secret
apiVersion: v1
metadata:
@ -65,10 +67,10 @@ metadata:
{{.Values.global.createdByAnnotation}}: {{default (printf "linkerd/helm %s" .Values.global.linkerdVersion) .Values.global.cliVersion}}
type: Opaque
data:
{{ $ca := genCA (printf "linkerd-proxy-injector.%s.svc" .Values.global.namespace) 365 -}}
crt.pem: {{ ternary (b64enc $ca.Cert) (b64enc (trim .Values.proxyInjector.crtPEM)) (empty .Values.proxyInjector.crtPEM) }}
key.pem: {{ ternary (b64enc $ca.Key) (b64enc (trim .Values.proxyInjector.keyPEM)) (empty .Values.proxyInjector.keyPEM) }}
---
{{- end }}
apiVersion: admissionregistration.k8s.io/v1beta1
kind: MutatingWebhookConfiguration
metadata:
@ -89,7 +91,10 @@ webhooks:
name: linkerd-proxy-injector
namespace: {{ .Values.global.namespace }}
path: "/"
caBundle: {{ ternary (b64enc $ca.Cert) (b64enc (trim .Values.proxyInjector.crtPEM)) (empty .Values.proxyInjector.crtPEM) }}
{{- if and (.Values.proxyInjector.externalSecret) (empty .Values.proxyInjector.caBundle) }}
{{- fail "If proxyInjector.externalSecret is true then you need to provide proxyInjector.caBundle" }}
{{- end }}
caBundle: {{ ternary (b64enc $ca.Cert) (b64enc (trim .Values.proxyInjector.caBundle)) (empty .Values.proxyInjector.caBundle) }}
failurePolicy: {{.Values.webhookFailurePolicy}}
rules:
- operations: [ "CREATE" ]

View File

@ -30,6 +30,9 @@ subjects:
name: linkerd-smi-metrics
namespace: {{.Values.global.namespace}}
---
{{- $cn := printf "linkerd-smi-metrics.%s.svc" .Values.global.namespace }}
{{- $cert := genCA $cn 365 }}
{{- if (not .Values.smiMetrics.externalSecret) }}
kind: Secret
apiVersion: v1
metadata:
@ -42,11 +45,10 @@ metadata:
{{.Values.global.createdByAnnotation}}: {{default (printf "linkerd/helm %s" .Values.global.linkerdVersion) .Values.global.cliVersion}}
type: kubernetes.io/tls
data:
{{ $cn := printf "linkerd-smi-metrics.%s.svc" .Values.global.namespace -}}
{{ $cert := genCA $cn 365 -}}
tls.crt: {{ ternary (b64enc $cert.Cert) (b64enc (trim .Values.smiMetrics.crtPEM)) (empty .Values.smiMetrics.crtPEM) }}
tls.key: {{ ternary (b64enc $cert.Key) (b64enc (trim .Values.smiMetrics.keyPEM)) (empty .Values.smiMetrics.keyPEM) }}
---
{{- end }}
apiVersion: apiregistration.k8s.io/v1
kind: APIService
metadata:
@ -63,5 +65,8 @@ spec:
service:
name: linkerd-smi-metrics
namespace: {{.Values.global.namespace}}
caBundle: {{ ternary (b64enc $cert.Cert) (b64enc (trim .Values.smiMetrics.crtPEM)) (empty .Values.smiMetrics.crtPEM) }}
{{- if and (.Values.smiMetrics.externalSecret) (empty .Values.smiMetrics.caBundle) }}
{{- fail "If smiMetrics.externalSecret is true then you need to provide smiMetrics.caBundle" }}
{{- end }}
caBundle: {{ ternary (b64enc $cert.Cert) (b64enc (trim .Values.smiMetrics.caBundle)) (empty .Values.smiMetrics.caBundle) }}
{{- end }}

View File

@ -41,6 +41,8 @@ metadata:
{{.Values.global.controllerComponentLabel}}: sp-validator
{{.Values.global.controllerNamespaceLabel}}: {{.Values.global.namespace}}
---
{{- $ca := genCA (printf "linkerd-sp-validator.%s.svc" .Values.global.namespace) 365 }}
{{- if (not .Values.profileValidator.externalSecret) }}
kind: Secret
apiVersion: v1
metadata:
@ -53,10 +55,10 @@ metadata:
{{.Values.global.createdByAnnotation}}: {{default (printf "linkerd/helm %s" .Values.global.linkerdVersion) .Values.global.cliVersion}}
type: Opaque
data:
{{ $ca := genCA (printf "linkerd-sp-validator.%s.svc" .Values.global.namespace) 365 -}}
crt.pem: {{ ternary (b64enc $ca.Cert) (b64enc (trim .Values.profileValidator.crtPEM)) (empty .Values.profileValidator.crtPEM) }}
key.pem: {{ ternary (b64enc $ca.Key) (b64enc (trim .Values.profileValidator.keyPEM)) (empty .Values.profileValidator.keyPEM) }}
---
{{- end }}
apiVersion: admissionregistration.k8s.io/v1beta1
kind: ValidatingWebhookConfiguration
metadata:
@ -77,7 +79,10 @@ webhooks:
name: linkerd-sp-validator
namespace: {{ .Values.global.namespace }}
path: "/"
caBundle: {{ ternary (b64enc $ca.Cert) (b64enc (trim .Values.profileValidator.crtPEM)) (empty .Values.profileValidator.crtPEM) }}
{{- if and (.Values.profileValidator.externalSecret) (empty .Values.profileValidator.caBundle) }}
{{- fail "If profileValidator.externalSecret is true then you need to provide profileValidator.caBundle" }}
{{- end }}
caBundle: {{ ternary (b64enc $ca.Cert) (b64enc (trim .Values.profileValidator.caBundle)) (empty .Values.profileValidator.caBundle) }}
failurePolicy: {{.Values.webhookFailurePolicy}}
rules:
- operations: [ "CREATE" , "UPDATE" ]

View File

@ -91,6 +91,8 @@ subjects:
name: linkerd-tap
namespace: {{.Values.global.namespace}}
---
{{- $ca := genCA (printf "linkerd-tap.%s.svc" .Values.global.namespace) 365 }}
{{- if (not .Values.tap.externalSecret) }}
kind: Secret
apiVersion: v1
metadata:
@ -103,10 +105,10 @@ metadata:
{{.Values.global.createdByAnnotation}}: {{default (printf "linkerd/helm %s" .Values.global.linkerdVersion) .Values.global.cliVersion}}
type: Opaque
data:
{{ $ca := genCA (printf "linkerd-tap.%s.svc" .Values.global.namespace) 365 -}}
crt.pem: {{ ternary (b64enc $ca.Cert) (b64enc (trim .Values.tap.crtPEM)) (empty .Values.tap.crtPEM) }}
key.pem: {{ ternary (b64enc $ca.Key) (b64enc (trim .Values.tap.keyPEM)) (empty .Values.tap.keyPEM) }}
---
{{- end }}
apiVersion: apiregistration.k8s.io/v1
kind: APIService
metadata:
@ -122,4 +124,7 @@ spec:
service:
name: linkerd-tap
namespace: {{.Values.global.namespace}}
caBundle: {{ ternary (b64enc $ca.Cert) (b64enc (trim .Values.tap.crtPEM)) (empty .Values.tap.crtPEM) }}
{{- if and (.Values.tap.externalSecret) (empty .Values.tap.caBundle) }}
{{- fail "If tap.externalSecret is true then you need to provide tap.caBundle" }}
{{- end }}
caBundle: {{ ternary (b64enc $ca.Cert) (b64enc (trim .Values.tap.caBundle)) (empty .Values.tap.caBundle) }}

View File

@ -152,25 +152,37 @@ prometheusRuleConfigMapMounts: []
# proxy injector configuration
proxyInjector:
externalSecret: false
# if empty, Helm will auto-generate these fields
crtPEM: |
keyPEM: |
# if empty, Helm will auto-generate this field, unless externalSecret is set to true.
caBundle: |
# service profile validator configuration
profileValidator:
externalSecret: false
# if empty, Helm will auto-generate these fields
crtPEM: |
keyPEM: |
# if empty, Helm will auto-generate this field, unless externalSecret is set to true.
caBundle: |
# tap configuration
tap:
externalSecret: false
# if empty, Helm will auto-generate these fields
crtPEM: |
keyPEM: |
# if empty, Helm will auto-generate this field, unless externalSecret is set to true.
caBundle: |
# web configuration
webImage: gcr.io/linkerd-io/web
@ -188,12 +200,16 @@ nodeSelector:
smiMetrics:
enabled: false
externalSecret: false
image: deislabs/smi-metrics:v0.2.1
# if empty, Helm will auto-generate these fields
crtPEM: |
keyPEM: |
# if empty, Helm will auto-generate this field, unless externalSecret is set to true.
caBundle: |
# Configuration for Add-ons
grafana:

View File

@ -1163,7 +1163,7 @@ func (idopts *installIdentityOptions) genValues() (*identityWithAnchorsAndTrustD
IssuanceLifetime: idopts.issuanceLifetime.String(),
CrtExpiry: root.Cred.Crt.Certificate.NotAfter,
CrtExpiryAnnotation: k8s.IdentityIssuerExpiryAnnotation,
TLS: &l5dcharts.TLS{
TLS: &l5dcharts.IssuerTLS{
KeyPEM: root.Cred.EncodePrivateKeyPEM(),
CrtPEM: root.Cred.Crt.EncodeCertificatePEM(),
},
@ -1227,7 +1227,7 @@ func (idopts *installIdentityOptions) readValues() (*identityWithAnchorsAndTrust
IssuanceLifetime: idopts.issuanceLifetime.String(),
CrtExpiry: creds.Crt.Certificate.NotAfter,
CrtExpiryAnnotation: k8s.IdentityIssuerExpiryAnnotation,
TLS: &l5dcharts.TLS{
TLS: &l5dcharts.IssuerTLS{
KeyPEM: creds.EncodePrivateKeyPEM(),
CrtPEM: creds.EncodeCertificatePEM(),
},

View File

@ -86,19 +86,23 @@ func testRenderHelm(t *testing.T, chart *pb.Chart, goldenFileName string) {
},
"proxyInjector":{
"keyPEM":"test-proxy-injector-key-pem",
"crtPEM":"test-proxy-injector-crt-pem"
"crtPEM":"test-proxy-injector-crt-pem",
"caBundle":"test-proxy-injector-ca-bundle"
},
"profileValidator":{
"keyPEM":"test-profile-validator-key-pem",
"crtPEM":"test-profile-validator-crt-pem"
"crtPEM":"test-profile-validator-crt-pem",
"caBundle":"test-profile-validator-ca-bundle"
},
"tap":{
"keyPEM":"test-tap-key-pem",
"crtPEM":"test-tap-crt-pem"
"crtPEM":"test-tap-crt-pem",
"caBundle":"test-tap-ca-bundle"
},
"smiMetrics":{
"keyPEM":"test-smi-metrics-key-pem",
"crtPEM":"test-smi-metrics-crt-pem",
"caBundle":"test-smi-metrics-ca-bundle"
}
}`

View File

@ -503,10 +503,14 @@ func fakeHeartbeatSchedule() string {
func addFakeTLSSecrets(values *charts.Values) {
values.ProxyInjector.CrtPEM = "proxy injector crt"
values.ProxyInjector.KeyPEM = "proxy injector key"
values.ProfileValidator.CrtPEM = "proxy injector crt"
values.ProfileValidator.KeyPEM = "proxy injector key"
values.ProxyInjector.CaBundle = "proxy injector CA bundle"
values.ProfileValidator.CrtPEM = "profile validator crt"
values.ProfileValidator.KeyPEM = "profile validator key"
values.ProfileValidator.CaBundle = "profile validator CA bundle"
values.Tap.CrtPEM = "tap crt"
values.Tap.KeyPEM = "tap key"
values.Tap.CaBundle = "tap CA bundle"
values.SMIMetrics.CrtPEM = "smi metrics crt"
values.SMIMetrics.KeyPEM = "smi metrics key"
values.SMIMetrics.CaBundle = "smi metrics CA bundle"
}

View File

@ -506,7 +506,7 @@ webhooks:
name: linkerd-proxy-injector
namespace: linkerd
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJveHkgaW5qZWN0b3IgQ0EgYnVuZGxl
failurePolicy: Ignore
rules:
- operations: [ "CREATE" ]
@ -569,8 +569,8 @@ metadata:
linkerd.io/created-by: linkerd/cli dev-undefined
type: Opaque
data:
crt.pem: cHJveHkgaW5qZWN0b3IgY3J0
key.pem: cHJveHkgaW5qZWN0b3Iga2V5
crt.pem: cHJvZmlsZSB2YWxpZGF0b3IgY3J0
key.pem: cHJvZmlsZSB2YWxpZGF0b3Iga2V5
---
apiVersion: admissionregistration.k8s.io/v1beta1
kind: ValidatingWebhookConfiguration
@ -592,7 +592,7 @@ webhooks:
name: linkerd-sp-validator
namespace: linkerd
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJvZmlsZSB2YWxpZGF0b3IgQ0EgYnVuZGxl
failurePolicy: Ignore
rules:
- operations: [ "CREATE" , "UPDATE" ]
@ -723,7 +723,7 @@ spec:
service:
name: linkerd-tap
namespace: linkerd
caBundle: dGFwIGNydA==
caBundle: dGFwIENBIGJ1bmRsZQ==
---
###
### Control Plane PSP

View File

@ -506,7 +506,7 @@ webhooks:
name: linkerd-proxy-injector
namespace: linkerd
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJveHkgaW5qZWN0b3IgQ0EgYnVuZGxl
failurePolicy: Ignore
rules:
- operations: [ "CREATE" ]
@ -569,8 +569,8 @@ metadata:
linkerd.io/created-by: linkerd/cli dev-undefined
type: Opaque
data:
crt.pem: cHJveHkgaW5qZWN0b3IgY3J0
key.pem: cHJveHkgaW5qZWN0b3Iga2V5
crt.pem: cHJvZmlsZSB2YWxpZGF0b3IgY3J0
key.pem: cHJvZmlsZSB2YWxpZGF0b3Iga2V5
---
apiVersion: admissionregistration.k8s.io/v1beta1
kind: ValidatingWebhookConfiguration
@ -592,7 +592,7 @@ webhooks:
name: linkerd-sp-validator
namespace: linkerd
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJvZmlsZSB2YWxpZGF0b3IgQ0EgYnVuZGxl
failurePolicy: Ignore
rules:
- operations: [ "CREATE" , "UPDATE" ]
@ -723,7 +723,7 @@ spec:
service:
name: linkerd-tap
namespace: linkerd
caBundle: dGFwIGNydA==
caBundle: dGFwIENBIGJ1bmRsZQ==
---
###
### Control Plane PSP

View File

@ -506,7 +506,7 @@ webhooks:
name: linkerd-proxy-injector
namespace: linkerd
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJveHkgaW5qZWN0b3IgQ0EgYnVuZGxl
failurePolicy: Ignore
rules:
- operations: [ "CREATE" ]
@ -569,8 +569,8 @@ metadata:
linkerd.io/created-by: linkerd/cli dev-undefined
type: Opaque
data:
crt.pem: cHJveHkgaW5qZWN0b3IgY3J0
key.pem: cHJveHkgaW5qZWN0b3Iga2V5
crt.pem: cHJvZmlsZSB2YWxpZGF0b3IgY3J0
key.pem: cHJvZmlsZSB2YWxpZGF0b3Iga2V5
---
apiVersion: admissionregistration.k8s.io/v1beta1
kind: ValidatingWebhookConfiguration
@ -592,7 +592,7 @@ webhooks:
name: linkerd-sp-validator
namespace: linkerd
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJvZmlsZSB2YWxpZGF0b3IgQ0EgYnVuZGxl
failurePolicy: Ignore
rules:
- operations: [ "CREATE" , "UPDATE" ]
@ -723,7 +723,7 @@ spec:
service:
name: linkerd-tap
namespace: linkerd
caBundle: dGFwIGNydA==
caBundle: dGFwIENBIGJ1bmRsZQ==
---
###
### Control Plane PSP

View File

@ -506,7 +506,7 @@ webhooks:
name: linkerd-proxy-injector
namespace: linkerd
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJveHkgaW5qZWN0b3IgQ0EgYnVuZGxl
failurePolicy: Ignore
rules:
- operations: [ "CREATE" ]
@ -569,8 +569,8 @@ metadata:
linkerd.io/created-by: linkerd/cli dev-undefined
type: Opaque
data:
crt.pem: cHJveHkgaW5qZWN0b3IgY3J0
key.pem: cHJveHkgaW5qZWN0b3Iga2V5
crt.pem: cHJvZmlsZSB2YWxpZGF0b3IgY3J0
key.pem: cHJvZmlsZSB2YWxpZGF0b3Iga2V5
---
apiVersion: admissionregistration.k8s.io/v1beta1
kind: ValidatingWebhookConfiguration
@ -592,7 +592,7 @@ webhooks:
name: linkerd-sp-validator
namespace: linkerd
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJvZmlsZSB2YWxpZGF0b3IgQ0EgYnVuZGxl
failurePolicy: Ignore
rules:
- operations: [ "CREATE" , "UPDATE" ]
@ -723,7 +723,7 @@ spec:
service:
name: linkerd-tap
namespace: linkerd
caBundle: dGFwIGNydA==
caBundle: dGFwIENBIGJ1bmRsZQ==
---
###
### Control Plane PSP

View File

@ -506,7 +506,7 @@ webhooks:
name: linkerd-proxy-injector
namespace: linkerd
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJveHkgaW5qZWN0b3IgQ0EgYnVuZGxl
failurePolicy: Ignore
rules:
- operations: [ "CREATE" ]
@ -569,8 +569,8 @@ metadata:
linkerd.io/created-by: linkerd/cli dev-undefined
type: Opaque
data:
crt.pem: cHJveHkgaW5qZWN0b3IgY3J0
key.pem: cHJveHkgaW5qZWN0b3Iga2V5
crt.pem: cHJvZmlsZSB2YWxpZGF0b3IgY3J0
key.pem: cHJvZmlsZSB2YWxpZGF0b3Iga2V5
---
apiVersion: admissionregistration.k8s.io/v1beta1
kind: ValidatingWebhookConfiguration
@ -592,7 +592,7 @@ webhooks:
name: linkerd-sp-validator
namespace: linkerd
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJvZmlsZSB2YWxpZGF0b3IgQ0EgYnVuZGxl
failurePolicy: Ignore
rules:
- operations: [ "CREATE" , "UPDATE" ]
@ -723,7 +723,7 @@ spec:
service:
name: linkerd-tap
namespace: linkerd
caBundle: dGFwIGNydA==
caBundle: dGFwIENBIGJ1bmRsZQ==
---
###
### Control Plane PSP

View File

@ -506,7 +506,7 @@ webhooks:
name: linkerd-proxy-injector
namespace: linkerd
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJveHkgaW5qZWN0b3IgQ0EgYnVuZGxl
failurePolicy: Ignore
rules:
- operations: [ "CREATE" ]
@ -569,8 +569,8 @@ metadata:
linkerd.io/created-by: linkerd/cli dev-undefined
type: Opaque
data:
crt.pem: cHJveHkgaW5qZWN0b3IgY3J0
key.pem: cHJveHkgaW5qZWN0b3Iga2V5
crt.pem: cHJvZmlsZSB2YWxpZGF0b3IgY3J0
key.pem: cHJvZmlsZSB2YWxpZGF0b3Iga2V5
---
apiVersion: admissionregistration.k8s.io/v1beta1
kind: ValidatingWebhookConfiguration
@ -592,7 +592,7 @@ webhooks:
name: linkerd-sp-validator
namespace: linkerd
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJvZmlsZSB2YWxpZGF0b3IgQ0EgYnVuZGxl
failurePolicy: Ignore
rules:
- operations: [ "CREATE" , "UPDATE" ]
@ -723,7 +723,7 @@ spec:
service:
name: linkerd-tap
namespace: linkerd
caBundle: dGFwIGNydA==
caBundle: dGFwIENBIGJ1bmRsZQ==
---
###
### Control Plane PSP

View File

@ -506,7 +506,7 @@ webhooks:
name: linkerd-proxy-injector
namespace: linkerd
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJveHkgaW5qZWN0b3IgQ0EgYnVuZGxl
failurePolicy: Fail
rules:
- operations: [ "CREATE" ]
@ -569,8 +569,8 @@ metadata:
linkerd.io/created-by: linkerd/cli dev-undefined
type: Opaque
data:
crt.pem: cHJveHkgaW5qZWN0b3IgY3J0
key.pem: cHJveHkgaW5qZWN0b3Iga2V5
crt.pem: cHJvZmlsZSB2YWxpZGF0b3IgY3J0
key.pem: cHJvZmlsZSB2YWxpZGF0b3Iga2V5
---
apiVersion: admissionregistration.k8s.io/v1beta1
kind: ValidatingWebhookConfiguration
@ -592,7 +592,7 @@ webhooks:
name: linkerd-sp-validator
namespace: linkerd
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJvZmlsZSB2YWxpZGF0b3IgQ0EgYnVuZGxl
failurePolicy: Fail
rules:
- operations: [ "CREATE" , "UPDATE" ]
@ -723,7 +723,7 @@ spec:
service:
name: linkerd-tap
namespace: linkerd
caBundle: dGFwIGNydA==
caBundle: dGFwIENBIGJ1bmRsZQ==
---
###
### Control Plane PSP

View File

@ -506,7 +506,7 @@ webhooks:
name: linkerd-proxy-injector
namespace: linkerd
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJveHkgaW5qZWN0b3IgQ0EgYnVuZGxl
failurePolicy: Fail
rules:
- operations: [ "CREATE" ]
@ -569,8 +569,8 @@ metadata:
linkerd.io/created-by: linkerd/cli dev-undefined
type: Opaque
data:
crt.pem: cHJveHkgaW5qZWN0b3IgY3J0
key.pem: cHJveHkgaW5qZWN0b3Iga2V5
crt.pem: cHJvZmlsZSB2YWxpZGF0b3IgY3J0
key.pem: cHJvZmlsZSB2YWxpZGF0b3Iga2V5
---
apiVersion: admissionregistration.k8s.io/v1beta1
kind: ValidatingWebhookConfiguration
@ -592,7 +592,7 @@ webhooks:
name: linkerd-sp-validator
namespace: linkerd
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJvZmlsZSB2YWxpZGF0b3IgQ0EgYnVuZGxl
failurePolicy: Fail
rules:
- operations: [ "CREATE" , "UPDATE" ]
@ -723,7 +723,7 @@ spec:
service:
name: linkerd-tap
namespace: linkerd
caBundle: dGFwIGNydA==
caBundle: dGFwIENBIGJ1bmRsZQ==
---
###
### Control Plane PSP

View File

@ -465,7 +465,7 @@ webhooks:
name: linkerd-proxy-injector
namespace: linkerd
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJveHkgaW5qZWN0b3IgQ0EgYnVuZGxl
failurePolicy: Ignore
rules:
- operations: [ "CREATE" ]
@ -528,8 +528,8 @@ metadata:
linkerd.io/created-by: linkerd/cli dev-undefined
type: Opaque
data:
crt.pem: cHJveHkgaW5qZWN0b3IgY3J0
key.pem: cHJveHkgaW5qZWN0b3Iga2V5
crt.pem: cHJvZmlsZSB2YWxpZGF0b3IgY3J0
key.pem: cHJvZmlsZSB2YWxpZGF0b3Iga2V5
---
apiVersion: admissionregistration.k8s.io/v1beta1
kind: ValidatingWebhookConfiguration
@ -551,7 +551,7 @@ webhooks:
name: linkerd-sp-validator
namespace: linkerd
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJvZmlsZSB2YWxpZGF0b3IgQ0EgYnVuZGxl
failurePolicy: Ignore
rules:
- operations: [ "CREATE" , "UPDATE" ]
@ -682,7 +682,7 @@ spec:
service:
name: linkerd-tap
namespace: linkerd
caBundle: dGFwIGNydA==
caBundle: dGFwIENBIGJ1bmRsZQ==
---
###
### Control Plane PSP

View File

@ -526,7 +526,7 @@ webhooks:
name: linkerd-proxy-injector
namespace: linkerd
path: "/"
caBundle: dGVzdC1wcm94eS1pbmplY3Rvci1jcnQtcGVt
caBundle: dGVzdC1wcm94eS1pbmplY3Rvci1jYS1idW5kbGU=
failurePolicy: Ignore
rules:
- operations: [ "CREATE" ]
@ -614,7 +614,7 @@ webhooks:
name: linkerd-sp-validator
namespace: linkerd
path: "/"
caBundle: dGVzdC1wcm9maWxlLXZhbGlkYXRvci1jcnQtcGVt
caBundle: dGVzdC1wcm9maWxlLXZhbGlkYXRvci1jYS1idW5kbGU=
failurePolicy: Ignore
rules:
- operations: [ "CREATE" , "UPDATE" ]
@ -747,7 +747,7 @@ spec:
service:
name: linkerd-tap
namespace: linkerd
caBundle: dGVzdC10YXAtY3J0LXBlbQ==
caBundle: dGVzdC10YXAtY2EtYnVuZGxl
---
# Source: linkerd2/templates/psp.yaml
---

View File

@ -526,7 +526,7 @@ webhooks:
name: linkerd-proxy-injector
namespace: linkerd
path: "/"
caBundle: dGVzdC1wcm94eS1pbmplY3Rvci1jcnQtcGVt
caBundle: dGVzdC1wcm94eS1pbmplY3Rvci1jYS1idW5kbGU=
failurePolicy: Ignore
rules:
- operations: [ "CREATE" ]
@ -614,7 +614,7 @@ webhooks:
name: linkerd-sp-validator
namespace: linkerd
path: "/"
caBundle: dGVzdC1wcm9maWxlLXZhbGlkYXRvci1jcnQtcGVt
caBundle: dGVzdC1wcm9maWxlLXZhbGlkYXRvci1jYS1idW5kbGU=
failurePolicy: Ignore
rules:
- operations: [ "CREATE" , "UPDATE" ]
@ -747,7 +747,7 @@ spec:
service:
name: linkerd-tap
namespace: linkerd
caBundle: dGVzdC10YXAtY3J0LXBlbQ==
caBundle: dGVzdC10YXAtY2EtYnVuZGxl
---
# Source: linkerd2/templates/psp.yaml
---

View File

@ -526,7 +526,7 @@ webhooks:
name: linkerd-proxy-injector
namespace: linkerd
path: "/"
caBundle: dGVzdC1wcm94eS1pbmplY3Rvci1jcnQtcGVt
caBundle: dGVzdC1wcm94eS1pbmplY3Rvci1jYS1idW5kbGU=
failurePolicy: Fail
rules:
- operations: [ "CREATE" ]
@ -614,7 +614,7 @@ webhooks:
name: linkerd-sp-validator
namespace: linkerd
path: "/"
caBundle: dGVzdC1wcm9maWxlLXZhbGlkYXRvci1jcnQtcGVt
caBundle: dGVzdC1wcm9maWxlLXZhbGlkYXRvci1jYS1idW5kbGU=
failurePolicy: Fail
rules:
- operations: [ "CREATE" , "UPDATE" ]
@ -747,7 +747,7 @@ spec:
service:
name: linkerd-tap
namespace: linkerd
caBundle: dGVzdC10YXAtY3J0LXBlbQ==
caBundle: dGVzdC10YXAtY2EtYnVuZGxl
---
# Source: linkerd2/templates/psp.yaml
---

View File

@ -506,7 +506,7 @@ webhooks:
name: linkerd-proxy-injector
namespace: linkerd
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJveHkgaW5qZWN0b3IgQ0EgYnVuZGxl
failurePolicy: Ignore
rules:
- operations: [ "CREATE" ]
@ -569,8 +569,8 @@ metadata:
linkerd.io/created-by: linkerd/cli dev-undefined
type: Opaque
data:
crt.pem: cHJveHkgaW5qZWN0b3IgY3J0
key.pem: cHJveHkgaW5qZWN0b3Iga2V5
crt.pem: cHJvZmlsZSB2YWxpZGF0b3IgY3J0
key.pem: cHJvZmlsZSB2YWxpZGF0b3Iga2V5
---
apiVersion: admissionregistration.k8s.io/v1beta1
kind: ValidatingWebhookConfiguration
@ -592,7 +592,7 @@ webhooks:
name: linkerd-sp-validator
namespace: linkerd
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJvZmlsZSB2YWxpZGF0b3IgQ0EgYnVuZGxl
failurePolicy: Ignore
rules:
- operations: [ "CREATE" , "UPDATE" ]
@ -723,7 +723,7 @@ spec:
service:
name: linkerd-tap
namespace: linkerd
caBundle: dGFwIGNydA==
caBundle: dGFwIENBIGJ1bmRsZQ==
---
###
### Control Plane PSP

View File

@ -506,7 +506,7 @@ webhooks:
name: linkerd-proxy-injector
namespace: Namespace
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJveHkgaW5qZWN0b3IgQ0EgYnVuZGxl
failurePolicy: WebhookFailurePolicy
rules:
- operations: [ "CREATE" ]
@ -569,8 +569,8 @@ metadata:
CreatedByAnnotation: CliVersion
type: Opaque
data:
crt.pem: cHJveHkgaW5qZWN0b3IgY3J0
key.pem: cHJveHkgaW5qZWN0b3Iga2V5
crt.pem: cHJvZmlsZSB2YWxpZGF0b3IgY3J0
key.pem: cHJvZmlsZSB2YWxpZGF0b3Iga2V5
---
apiVersion: admissionregistration.k8s.io/v1beta1
kind: ValidatingWebhookConfiguration
@ -592,7 +592,7 @@ webhooks:
name: linkerd-sp-validator
namespace: Namespace
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJvZmlsZSB2YWxpZGF0b3IgQ0EgYnVuZGxl
failurePolicy: WebhookFailurePolicy
rules:
- operations: [ "CREATE" , "UPDATE" ]
@ -723,7 +723,7 @@ spec:
service:
name: linkerd-tap
namespace: Namespace
caBundle: dGFwIGNydA==
caBundle: dGFwIENBIGJ1bmRsZQ==
---
###
### Control Plane PSP

View File

@ -506,7 +506,7 @@ webhooks:
name: linkerd-proxy-injector
namespace: linkerd
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJveHkgaW5qZWN0b3IgQ0EgYnVuZGxl
failurePolicy: Ignore
rules:
- operations: [ "CREATE" ]
@ -569,8 +569,8 @@ metadata:
linkerd.io/created-by: linkerd/cli dev-undefined
type: Opaque
data:
crt.pem: cHJveHkgaW5qZWN0b3IgY3J0
key.pem: cHJveHkgaW5qZWN0b3Iga2V5
crt.pem: cHJvZmlsZSB2YWxpZGF0b3IgY3J0
key.pem: cHJvZmlsZSB2YWxpZGF0b3Iga2V5
---
apiVersion: admissionregistration.k8s.io/v1beta1
kind: ValidatingWebhookConfiguration
@ -592,7 +592,7 @@ webhooks:
name: linkerd-sp-validator
namespace: linkerd
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJvZmlsZSB2YWxpZGF0b3IgQ0EgYnVuZGxl
failurePolicy: Ignore
rules:
- operations: [ "CREATE" , "UPDATE" ]
@ -723,7 +723,7 @@ spec:
service:
name: linkerd-tap
namespace: linkerd
caBundle: dGFwIGNydA==
caBundle: dGFwIENBIGJ1bmRsZQ==
---
###
### Control Plane PSP

View File

@ -441,7 +441,7 @@ webhooks:
name: linkerd-proxy-injector
namespace: linkerd
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJveHkgaW5qZWN0b3IgQ0EgYnVuZGxl
failurePolicy: Ignore
rules:
- operations: [ "CREATE" ]
@ -504,8 +504,8 @@ metadata:
linkerd.io/created-by: linkerd/cli dev-undefined
type: Opaque
data:
crt.pem: cHJveHkgaW5qZWN0b3IgY3J0
key.pem: cHJveHkgaW5qZWN0b3Iga2V5
crt.pem: cHJvZmlsZSB2YWxpZGF0b3IgY3J0
key.pem: cHJvZmlsZSB2YWxpZGF0b3Iga2V5
---
apiVersion: admissionregistration.k8s.io/v1beta1
kind: ValidatingWebhookConfiguration
@ -527,7 +527,7 @@ webhooks:
name: linkerd-sp-validator
namespace: linkerd
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJvZmlsZSB2YWxpZGF0b3IgQ0EgYnVuZGxl
failurePolicy: Ignore
rules:
- operations: [ "CREATE" , "UPDATE" ]
@ -658,7 +658,7 @@ spec:
service:
name: linkerd-tap
namespace: linkerd
caBundle: dGFwIGNydA==
caBundle: dGFwIENBIGJ1bmRsZQ==
---
###
### Control Plane PSP

View File

@ -506,7 +506,7 @@ webhooks:
name: linkerd-proxy-injector
namespace: linkerd
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJveHkgaW5qZWN0b3IgQ0EgYnVuZGxl
failurePolicy: Ignore
rules:
- operations: [ "CREATE" ]
@ -569,8 +569,8 @@ metadata:
linkerd.io/created-by: linkerd/cli dev-undefined
type: Opaque
data:
crt.pem: cHJveHkgaW5qZWN0b3IgY3J0
key.pem: cHJveHkgaW5qZWN0b3Iga2V5
crt.pem: cHJvZmlsZSB2YWxpZGF0b3IgY3J0
key.pem: cHJvZmlsZSB2YWxpZGF0b3Iga2V5
---
apiVersion: admissionregistration.k8s.io/v1beta1
kind: ValidatingWebhookConfiguration
@ -592,7 +592,7 @@ webhooks:
name: linkerd-sp-validator
namespace: linkerd
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJvZmlsZSB2YWxpZGF0b3IgQ0EgYnVuZGxl
failurePolicy: Ignore
rules:
- operations: [ "CREATE" , "UPDATE" ]
@ -723,7 +723,7 @@ spec:
service:
name: linkerd-tap
namespace: linkerd
caBundle: dGFwIGNydA==
caBundle: dGFwIENBIGJ1bmRsZQ==
---
###
### Control Plane PSP

View File

@ -506,7 +506,7 @@ webhooks:
name: linkerd-proxy-injector
namespace: linkerd
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJveHkgaW5qZWN0b3IgQ0EgYnVuZGxl
failurePolicy: Ignore
rules:
- operations: [ "CREATE" ]
@ -569,8 +569,8 @@ metadata:
linkerd.io/created-by: linkerd/cli dev-undefined
type: Opaque
data:
crt.pem: cHJveHkgaW5qZWN0b3IgY3J0
key.pem: cHJveHkgaW5qZWN0b3Iga2V5
crt.pem: cHJvZmlsZSB2YWxpZGF0b3IgY3J0
key.pem: cHJvZmlsZSB2YWxpZGF0b3Iga2V5
---
apiVersion: admissionregistration.k8s.io/v1beta1
kind: ValidatingWebhookConfiguration
@ -592,7 +592,7 @@ webhooks:
name: linkerd-sp-validator
namespace: linkerd
path: "/"
caBundle: cHJveHkgaW5qZWN0b3IgY3J0
caBundle: cHJvZmlsZSB2YWxpZGF0b3IgQ0EgYnVuZGxl
failurePolicy: Ignore
rules:
- operations: [ "CREATE" , "UPDATE" ]
@ -723,7 +723,7 @@ spec:
service:
name: linkerd-tap
namespace: linkerd
caBundle: dGFwIGNydA==
caBundle: dGFwIENBIGJ1bmRsZQ==
---
###
### Control Plane PSP

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -165,7 +165,7 @@ func upgradeRunE(options *upgradeOptions, stage string, flags *pflag.FlagSet) er
}
// We need a Kubernetes client to fetch configs and issuer secrets.
var k kubernetes.Interface
var k *k8s.KubernetesAPI
var err error
if options.manifests != "" {
readers, err := read(options.manifests)
@ -209,7 +209,7 @@ func upgradeRunE(options *upgradeOptions, stage string, flags *pflag.FlagSet) er
return nil
}
func (options *upgradeOptions) validateAndBuild(stage string, k kubernetes.Interface, flags *pflag.FlagSet) (*charts.Values, *pb.All, error) {
func (options *upgradeOptions) validateAndBuild(stage string, k *k8s.KubernetesAPI, flags *pflag.FlagSet) (*charts.Values, *pb.All, error) {
if err := options.validate(); err != nil {
return nil, nil, err
}
@ -422,7 +422,66 @@ func repairConfigs(configs *pb.All) {
}
}
func fetchTLSSecret(k kubernetes.Interface, webhook string, options *upgradeOptions) (*charts.TLS, error) {
func injectCABundle(k *k8s.KubernetesAPI, webhook string, value *charts.TLS) error {
var err error
switch webhook {
case k8s.ProxyInjectorWebhookServiceName:
err = injectCABundleFromMutatingWebhook(k, k8s.ProxyInjectorWebhookConfigName, value)
case k8s.SPValidatorWebhookServiceName:
err = injectCABundleFromValidatingWebhook(k, k8s.SPValidatorWebhookConfigName, value)
case k8s.TapServiceName:
err = injectCABundleFromAPIService(k, k8s.TapAPIRegistrationServiceName, value)
case k8s.SmiMetricsServiceName:
err = injectCABundleFromAPIService(k, k8s.SmiMetricsAPIRegistrationServiceName, value)
default:
err = fmt.Errorf("unknown webhook for retrieving CA bundle: %s", webhook)
}
// anything other than the resource not being found: propagate error back up the stack.
if !kerrors.IsNotFound(err) {
return err
}
// if the resource is missing, simply use the existing cert.
value.CaBundle = value.CrtPEM
return nil
}
func injectCABundleFromMutatingWebhook(k kubernetes.Interface, resource string, value *charts.TLS) error {
webhookConf, err := k.AdmissionregistrationV1beta1().MutatingWebhookConfigurations().Get(resource, metav1.GetOptions{})
if err != nil {
return err
}
// note: this assumes that there will ever only be one service defined per webhook configuration
value.CaBundle = string(webhookConf.Webhooks[0].ClientConfig.CABundle)
return nil
}
func injectCABundleFromValidatingWebhook(k kubernetes.Interface, resource string, value *charts.TLS) error {
webhookConf, err := k.AdmissionregistrationV1beta1().ValidatingWebhookConfigurations().Get(resource, metav1.GetOptions{})
if err != nil {
return err
}
value.CaBundle = string(webhookConf.Webhooks[0].ClientConfig.CABundle)
return nil
}
func injectCABundleFromAPIService(k *k8s.KubernetesAPI, resource string, value *charts.TLS) error {
apiService, err := k.Apiregistration.ApiregistrationV1().APIServices().Get(resource, metav1.GetOptions{})
if err != nil {
return err
}
value.CaBundle = string(apiService.Spec.CABundle)
return nil
}
func fetchTLSSecret(k *k8s.KubernetesAPI, webhook string, options *upgradeOptions) (*charts.TLS, error) {
secret, err := k.CoreV1().
Secrets(controlPlaneNamespace).
Get(webhookSecretName(webhook), metav1.GetOptions{})
@ -435,6 +494,10 @@ func fetchTLSSecret(k kubernetes.Interface, webhook string, options *upgradeOpti
CrtPEM: string(secret.Data["crt.pem"]),
}
if err := injectCABundle(k, webhook, value); err != nil {
return nil, err
}
if err := options.verifyTLS(value, webhook); err != nil {
return nil, err
}
@ -442,7 +505,7 @@ func fetchTLSSecret(k kubernetes.Interface, webhook string, options *upgradeOpti
return value, nil
}
func fetchK8sTLSSecret(k kubernetes.Interface, webhook string, options *upgradeOptions) (*charts.TLS, error) {
func fetchK8sTLSSecret(k *k8s.KubernetesAPI, webhook string, options *upgradeOptions) (*charts.TLS, error) {
secret, err := k.CoreV1().
Secrets(controlPlaneNamespace).
Get(webhookSecretName(webhook), metav1.GetOptions{})
@ -455,6 +518,10 @@ func fetchK8sTLSSecret(k kubernetes.Interface, webhook string, options *upgradeO
CrtPEM: string(secret.Data["tls.crt"]),
}
if err := injectCABundle(k, webhook, value); err != nil {
return nil, err
}
if err := options.verifyTLS(value, webhook); err != nil {
return nil, err
}
@ -553,7 +620,7 @@ func (options *upgradeOptions) fetchIdentityValues(k kubernetes.Interface, idctx
IssuanceLifetime: idctx.GetIssuanceLifetime().String(),
CrtExpiry: *issuerData.Expiry,
CrtExpiryAnnotation: k8s.IdentityIssuerExpiryAnnotation,
TLS: &charts.TLS{
TLS: &charts.IssuerTLS{
KeyPEM: issuerData.IssuerKey,
CrtPEM: issuerData.IssuerCrt,
},

View File

@ -90,6 +90,35 @@ data:
key.pem: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBM00xdmFDMVJUb21UVlBuRW1YQzdkNGw1c21MRTR4U3kzYmZsMGh0WkpDLzBneU5ZClRpNkRCNmN4Z2Z6SlptSlpETGo3YVFmQ3hGMjV5cmZLTjRIN1pxVkZqUE9rcWxUKzI2cFg5WTU3dFJtcWwxa0sKWG5uZm5KOUxmZnJCbS9XUmxONUxIbTNEakMvU0k2aE9oeE9LVW1hYng2VmZaUHNxR1BaU09lRWZkVkNxcWZXawpOQTl2K05NdjFiWWxWZitLZjNDZ3NtYXlqR0ZKMFp6VXZpVlhLaGNBMGhaRmNLa0JYZFZuM1c3TWVxT0ovWit0Cm1sa1RqZ0NSbmRkVVc1Nk5hYXJwTVNVYjlMbHVsMkVzS3ovZGMzazVoaEM1ZWJKSzJyYWczS0RWUHd2TVdVTnYKUEs4QWxaOGk3UERGaVEyN24xeWNkbEhSQnlKcy9YTG5qZ0ZTK3dJREFRQUJBb0lCQVFDd1BGVEFyUE1wb1l0MApGc3VCd1VZUU9pMWxZWXBPeVpXZWZJcTJNZGZybDA4dFlJZTZGMHZFVHdHb0EvRm9nL1VadjRnRHBBc2tHcjhSCmU3S3VyVlBROFBkYmNwaXF6NTZBREMyYXRIZ3U2MmFLMktuN0VJR1hqRm1BR3ladmFna2g3bSs4d05XRXppS0gKRFc1b1NBTnVrN0doSDNETnM5ODgvMVpRRmt5Nm9BVThzWEhaTEpsNGJoV05UU3FSS0VnT3pIRDRwYWRITzUrMwp3cFVHamg1VklaS1BlMzRqYmMwTVZDOUwwNjhJY3Fibmp6d3g3NnYrQnh6MXFyRFNNMDR2TytGWUZUTVVmWEtyClBZRU5qMEN6UEhUanlwT2FBdFNwZFJTY2x1YzVGMTVmcXpKRnE5dVVLM2VpWFY3amNjTW1Sb0l0bkxMS3Z5VkgKVWJOZ1pnZmhBb0dCQVBpOU40MjRwK1ZxWnJRRTZ3K21kTTh2S2JIb0NPWUNlVDZrYXExMzhLVFJ2Z0MzZGJQNgpRcFpSNXlYNlhQeW1YMnNkZkxQTDk2NE1DeGJlS1ovWmw5UC9zRkxhRDVOc0RXMXZ2djJkYXBhQ1d0U0hwNHFFClJIN2tWWTZmcHZUYmZWN2FWL1JQZlhGbWVrbEJZd05pNTNkNFRYZEhJWC9ONHM0aFgwVzNtMk1yQW9HQkFPTS8KYzk0anJDbGtESUN4YWhUYlp4UHdST1hqVEZvdEpxaGRhandZOXcxdEVIelNnNUY1QVFSaWR4WGxFa0lENVdCRApYeG1JZWF2TDgyRkpUeWFXWlBzUnRkOXNJV3BIM084VDh2TnZLN1Z0SXY2RzZYSy9XUjhHMjhodTl6bVNlMk5HCjVUN2FkL0dMSlZ3Mm9GcTEzNGFIbHdvY00xMUFPa2YwYU9SWGJTZHhBb0dCQU0vT1JQdEJxZ01nUVcxa0xuMkUKczFIa05SRk1xU0tBTG9zSEVaaWErNUMzS2VXdlg4WmM3Z1JucUpVeDlUMmVRVmxiNlRMTTFMK3prQkFxeXR1aApEaGN2SmtBUnJiR2NOQnVab0JhQnpPcXhQUEVSNUFiMU9jUkpQckZJOEZMZ2pIMFNMU2tPdjk1ZG53eFVkRVAvCi9TRHlnTVdGeDViZWl2MXJKQTA2dDdiQkFvR0FVSkg2dnRQZkFuM2FnUFptS2lid0VQMnJMK2E2OTIzeXV0Y0UKQjNMQ2hSd2FNR2RqQm56a2cyMTEwMmw0WTdlRjUrOTdGRTV5OVJwR25FT2xzSVM2SU5wU3BYaHRFSVdTSzZIagpEYlJveHRaL0JjZEhsY3VLQ1pvZzZwdU5RL2hQanc5ZjBEMGRNYUtvQ0YzRjFPT084Tis2Q1hlZUxuM0xMQi9YCjRMMnVrY0VDZ1lCeWxEY2haSHR3YjlxYWFoeVhiQUI2WHAvMTdLUEtZOFltbDBqN0cydm1VMXJUZDdTREhHek4Kc1B5LzErY3FraWkrVVQxc2I0d1RQaW9wTXZxa3hsY05tdzM4L2NRL05ET3JENlEvN1NJN0I3TkNod1BLNFBhWgpCVEo1MW84RktSRTczcDhVYkdDUlNtdjVzYk5aTUMyWlRBaVNWa0MzUHU4QmxGN1VoM3RCeEE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
type: Opaque`,
`
apiVersion: admissionregistration.k8s.io/v1beta1
kind: MutatingWebhookConfiguration
metadata:
name: linkerd-proxy-injector-webhook-config
labels:
linkerd.io/control-plane-component: proxy-injector
linkerd.io/control-plane-ns: linkerd
webhooks:
- name: linkerd-proxy-injector.linkerd.io
namespaceSelector:
matchExpressions:
- key: config.linkerd.io/admission-webhooks
operator: NotIn
values:
- disabled
clientConfig:
service:
name: linkerd-proxy-injector
namespace: linkerd
path: "/"
caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURKakNDQWc2Z0F3SUJBZ0lRVjFrSXJhRG1sdzNTVzY5UXNRWjNQREFOQmdrcWhraUc5dzBCQVFzRkFEQXQKTVNzd0tRWURWUVFERXlKc2FXNXJaWEprTFhCeWIzaDVMV2x1YW1WamRHOXlMbXhwYm10bGNtUXVjM1pqTUI0WApEVEU1TURnd056SXhNelkwTUZvWERUSXdNRGd3TmpJeE16WTBNRm93TFRFck1Da0dBMVVFQXhNaWJHbHVhMlZ5ClpDMXdjbTk0ZVMxcGJtcGxZM1J2Y2k1c2FXNXJaWEprTG5OMll6Q0NBU0l3RFFZSktvWklodmNOQVFFQkJRQUQKZ2dFUEFEQ0NBUW9DZ2dFQkFOek5iMmd0VVU2SmsxVDV4Smx3dTNlSmViSml4T01Vc3QyMzVkSWJXU1F2OUlNagpXRTR1Z3dlbk1ZSDh5V1ppV1F5NCsya0h3c1JkdWNxM3lqZUIrMmFsUll6enBLcFUvdHVxVi9XT2U3VVpxcGRaCkNsNTUzNXlmUzMzNndadjFrWlRlU3g1dHc0d3YwaU9vVG9jVGlsSm1tOGVsWDJUN0toajJVam5oSDNWUXFxbjEKcERRUGIvalRMOVcySlZYL2luOXdvTEptc294aFNkR2MxTDRsVnlvWEFOSVdSWENwQVYzVlo5MXV6SHFqaWYyZgpyWnBaRTQ0QWtaM1hWRnVlaldtcTZURWxHL1M1YnBkaExDcy8zWE41T1lZUXVYbXlTdHEyb055ZzFUOEx6RmxECmJ6eXZBSldmSXV6d3hZa051NTljbkhaUjBRY2liUDF5NTQ0QlV2c0NBd0VBQWFOQ01FQXdEZ1lEVlIwUEFRSC8KQkFRREFnS2tNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUZCUWNEQWpBUEJnTlZIUk1CQWY4RQpCVEFEQVFIL01BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQjBNZERONWRuaUgxYS96UGI5QWFBT2JqaFBEUC9FCngreVlRU3VDYXpyeFZCUlpPeGdpUkUyN1JjZ05BRGZmOVRkRU9ER1BrUVY4aTRnVVVOdi9VanljODYxdW55SG0KR3FacEp0OFROZ0pWN2VHR00wUWlrNkFYZTdLT1N0aFdzVVZDSHlGMUFyam01U2dRUHRsREttVGk1bDBCZ1pyKwpBblVzOVllNHhUSFFFYSswSFN3NXNjdnFsVDhYS0ZCanoza2hJbHFVd3IvSy9seVZITDcwQTMyUi9UODh5Z1YzClQ4MitwS1R5T3lZU1IrZG1ZUWdxcW00ajVhVVp5aURPZVFHR1kycEZNQnJMY0tGZjFqcmJHWXlVQVNrdlh6NXoKaHZIOUtJWXFOckdhMDloTFBjb00rMW9CNHNnY2RKdFpCV2pCRWdiTHdwWEJJdUVFVXY5cno0dDAKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
failurePolicy: Ignore
rules:
- operations: [ "CREATE" ]
apiGroups: [""]
apiVersions: ["v1"]
resources: ["pods"]
sideEffects: None`,
`
apiVersion: v1
kind: Secret
metadata:
@ -105,6 +134,35 @@ data:
key.pem: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBdklFVW5YdlBkSDFra2lJM2JPc01wQ0Zpb3FoN0dCK1ZtSmE5Q2RoNEQ3bWhiMWhoCjFDWHZNblZtQVduUE9UYWRvUHRZNFNZZU9pUDBURVQ1enZ1MUlEUzVyZFhUcDlZaHZHWDRMM1NhVk5XdnlsbzMKV09RZk5sSXZPWFU4bHZHaDAyeE9TK3RZeklSMVh0dmFhOUV6K1QyN0p4ei9meHhnK2tHRmRES3BBK0tQeitvZAp0Si9WYTYvc2N6UWhaczhtTWt3L0Y3MzJxS1JtWG83bm9pTjhYRjAxSFBiT1pVdFpGZjJ6L2hGMHhKaEVMNlRNClkzZTdZNnZ4UFoyMGVobTR5cUk1Q2RqcWN1WFNwL0xhbFNJOTBsb0ZMMU5SZFRuREgzZ1BNUWM3VE9KenIzQUIKNG5sY2JIU0ZsNkFvN2J1U3EvOTJ4MmdwMjRRT2w0UURkdlVZaVFJREFRQUJBb0lCQVFDU1hGTHFXQWhpdFQyUwpMVmtGaTVjY0ZRUGxzWlVwek5RMVRzem1TUm9uYzRWQjA4alpsTDZkV2dQaWt3b2ZyU1ZFcWdOL2hUNHcvRnVoCm9HaXA2a3ZlL3JFd3BQYWF1U3NtZ2JIcS9za1psM1RQVTY3bnFQQUhHRmFzY1RlakoyZnpwWU5CZFRGVVVvQmoKTDZidTBkZGQ3UzFVR0RMVXVlOGVRQ05qYmpaRzJadnhiclhHQ1hTcjZtankvUTI2UkhrM0JSZXZ6UlFEMXIzbgpsSUxGdm9ueHNoTnVvU2xGVmJlTXNoN0JQQlBkbmR0MGNwZDRLcW5oQ0NCZVk0YUlsNmQ2eVJ1K1h4akhmRWRUCjlFTXhjYjJidEIzWHUrNTBtSWJsd1NEK2ZkVkFJUmFYeFRNMlc2dys4ZEZNSjFidXBRbTRLKy9KMC9UMko5b0sKRWpzdno5WVZBb0dCQU9td2t0NXpMVW5GVkNCR1p1aWJhTGRhcUFncy9pNldDcnJzL2xKd0VMb0grWDA4ZFkyWApIMS95ay8xVzZlbFFWVUEwOWg0dEZXSm1JM3BiT0c4d25iVU53MGVIZmlodkU2N0QvdlpXTi83b2FOUDZrdXdhCmNoTWRvaE5JNmhpSXd0cGo2L3JrVEIvTENtaXFWUHlEWXc2U0tiKzh5TktMZE1VdkFDZUpCRXVqQW9HQkFNNkEKS2NsUHNGeStrUzZDQzh4YkUvMER1eTZxc1BPQ3BBdDVDZWNGMHhHZHhBOXp4ZUdBWkxBTk5vZ0dPRjRrVTQxSwo0V20rRFoyNFFIV2FtWEp4dkhOZlZSdVVwSkR6UFJHcGdWSXJJNEMwMWprN0xxYy9VNEtpK2lYVGxWZDE0cWtJClVzalJTOUVrSU4yN3VIQzRnYnpoRW9PbXlOS0Q0U1JTQ2xyellrM2pBb0dBZUV0MHp4M3JDamFSLzZzOS9pOUIKMEdEU2JxTDZsWENYUlhJSjJOWG5SbHdraWRzOWlBMXJFVEVHRFR0WVhjb0VtSENxNFEzRUhFc0hxRXljMkYvbQpUdlV1dVB0K2JjSUFGODY4eUlISmdXYVJ6ODBGSkpUWWRBNmxCOWhZNlJnOWRiNUtFM1RCMnZ2aDk4NzJ3S1hCCnNCWjlkejN2QXJMWEFVb1lna0Y5L0pFQ2dZQmRObzhtTnhtR0UrT1hHYzdYbFRsRm1ieVJ5UzBORHFpY0lTdnUKSTd2dUZNZ2VyWVRpVU1HaWtxUk43SGpmVGdpRkhBcjZYM2JuL2ZiaTMwRnEzcHBSZmZQOStpLzYya0Z6eW83OApsMHAwVzZ6anNxcFJobzFjeDlLZzVveGdLVytDRzZhNnpYY3ExZU1jRkJPaWxqYkNHdHJ2b0liQU9CV1YvbzU4CkZhY0hQd0tCZ1FERS9nb2sxZ3VEaGVXUmJEaTdpNVVqd0ZqcnRJZ1hVbTA5N29yOW5Mb2dibFdIK0EyWmgvaG8KQ0hmekdLMUtnZytTd1I2YlRhZ29wRGVCMkRnNTk2ODFwTTQ4ZjVYbzV6NkJUejhFMVFPREpIRlkyNlNJNTlIRwpwZFlWMno5QmdxaDZKQWprZWhQWDlYMWFCcTRrVkpCQzg5MDBOUk1pbG1EdlBISjNhU1EyT0E9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
type: Opaque`,
`
apiVersion: admissionregistration.k8s.io/v1beta1
kind: ValidatingWebhookConfiguration
metadata:
name: linkerd-sp-validator-webhook-config
labels:
linkerd.io/control-plane-component: sp-validator
linkerd.io/control-plane-ns: linkerd
webhooks:
- name: linkerd-sp-validator.linkerd.io
namespaceSelector:
matchExpressions:
- key: config.linkerd.io/admission-webhooks
operator: NotIn
values:
- disabled
clientConfig:
service:
name: linkerd-sp-validator
namespace: linkerd
path: "/"
caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURJakNDQWdxZ0F3SUJBZ0lRQkhsRWhOb3Y0Z1hHT0EzbGFOamErekFOQmdrcWhraUc5dzBCQVFzRkFEQXIKTVNrd0p3WURWUVFERXlCc2FXNXJaWEprTFhOd0xYWmhiR2xrWVhSdmNpNXNhVzVyWlhKa0xuTjJZekFlRncweApPVEE0TURjeU1UTTJOREJhRncweU1EQTRNRFl5TVRNMk5EQmFNQ3N4S1RBbkJnTlZCQU1USUd4cGJtdGxjbVF0CmMzQXRkbUZzYVdSaGRHOXlMbXhwYm10bGNtUXVjM1pqTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEEKTUlJQkNnS0NBUUVBdklFVW5YdlBkSDFra2lJM2JPc01wQ0Zpb3FoN0dCK1ZtSmE5Q2RoNEQ3bWhiMWhoMUNYdgpNblZtQVduUE9UYWRvUHRZNFNZZU9pUDBURVQ1enZ1MUlEUzVyZFhUcDlZaHZHWDRMM1NhVk5XdnlsbzNXT1FmCk5sSXZPWFU4bHZHaDAyeE9TK3RZeklSMVh0dmFhOUV6K1QyN0p4ei9meHhnK2tHRmRES3BBK0tQeitvZHRKL1YKYTYvc2N6UWhaczhtTWt3L0Y3MzJxS1JtWG83bm9pTjhYRjAxSFBiT1pVdFpGZjJ6L2hGMHhKaEVMNlRNWTNlNwpZNnZ4UFoyMGVobTR5cUk1Q2RqcWN1WFNwL0xhbFNJOTBsb0ZMMU5SZFRuREgzZ1BNUWM3VE9KenIzQUI0bmxjCmJIU0ZsNkFvN2J1U3EvOTJ4MmdwMjRRT2w0UURkdlVZaVFJREFRQUJvMEl3UURBT0JnTlZIUThCQWY4RUJBTUMKQXFRd0hRWURWUjBsQkJZd0ZBWUlLd1lCQlFVSEF3RUdDQ3NHQVFVRkJ3TUNNQThHQTFVZEV3RUIvd1FGTUFNQgpBZjh3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUtJQUc5T2E4SndtSzBUaGVtc2RxdjhvdkhZUk5XTHBWOVBhCkJNejJhQklFQVlvMURxQmFaQWFkdWZKa0k1bmFoTC81K2NaQXp3M2s4RmpYN2plT1ErYmlPaS9TNlU4K0FNZEUKZnZvdVR5N05Kb0xXM1NUclhCcjJnYzY3RUtLQ2JGQmsxYzM3b21KSUhhZU15aWNkRHY0SHRYTExDcUtrYk54aAo0NGQ2YUpzL3lNZm9kZGFhZFN0L1RwMGZtaHNPMTR5OUp3RDFWL2s1M3ppUmxDcXNYVUtBK05vejhqRC8wVkI5CnFyd0dpWGk4S1ZsZS9LYjFDZktOM1VhczdBRHlxbVVEUGNKY2tQMGM5QnBRQzlLYTJqZHhzb0hvWi8vSG5SVGYKalc2dExlcjN1UHZpek5qM2swcWt2SVAydVVJNDg0MkJjQmUrbVB1NlJoeVozdWt4elNVPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
failurePolicy: Ignore
rules:
- operations: [ "CREATE" , "UPDATE" ]
apiGroups: ["linkerd.io"]
apiVersions: ["v1alpha1", "v1alpha2"]
resources: ["serviceprofiles"]
sideEffects: None`,
`
apiVersion: v1
kind: Secret
metadata:
@ -131,8 +189,7 @@ metadata:
data:
tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURIakNDQWdhZ0F3SUJBZ0lSQVB0aFhwTUZ2ekZOSm50UGc5Y2xMVkV3RFFZSktvWklodmNOQVFFTEJRQXcKS2pFb01DWUdBMVVFQXhNZmJHbHVhMlZ5WkMxemJXa3RiV1YwY21samN5NXNhVzVyWlhKa0xuTjJZekFlRncweQpNREF5TWpVeU1qRXpNVEJhRncweU1UQXlNalF5TWpFek1UQmFNQ294S0RBbUJnTlZCQU1USDJ4cGJtdGxjbVF0CmMyMXBMVzFsZEhKcFkzTXViR2x1YTJWeVpDNXpkbU13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXcKZ2dFS0FvSUJBUUN0S2dnT3BEb2s2ejF5aExrcGFsVm5URHJvS1pUZUtkdkNta2hzVWt2bFdxWm9EYnBBa2wvbwpTbDNNMnkvRXVyRWZGTmh4bnl4Qk9nTFRwZngrT0pTKzlnclc0MGw1bDNEcXdBMWVrMkJ4c05rVDNvcGhuM3A5CjBpNWhrZzZmYjNVOVF3UGwvTmtBKzdpQk04TFFicFpZODQySGNzMysyUWhXa2RzMGJxZGpoVkVWcUVOOElzaDgKc2FPZjliWHBzSG0rVzVTZEVEbnZNYjNwWU15cDEwZ0NtVVRHL1RtTi9WMkdneVMzK1RMZWtmdHpQbkp1T2VadgpOaUdCdnNCb1lSMCtUdkpqM3FGbVBaYjNFREx2RDBid3B6d2o4Snc1Ylo3bnJLUWYxTVQweXkrbFdINVhLZVdoCkNjdURWVzVXT3VtZklRUGZ6Rmt3STRIMjkvb2k2STh2QWdNQkFBR2pQekE5TUE0R0ExVWREd0VCL3dRRUF3SUYKb0RBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFRWUlLd1lCQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3QURBTgpCZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFRYXU2NUxLV0NYVHhtVXhmV0hpM0ROQXhZMDliSkxXRkc1T3Y1Q0Q4CmxPNEYyRXRwcXNuZjFBeDZpUGw5LzhpOEZEMnI3UUd2Sm9oYlFNYiszaG9QelFwL0ZpNFdXWXllSDBqRVNOMlIKcy95WmRnbWJaWWliRWRjcHNEUUVGcjZEM1BYSzJPYStWb3VvRWFNaktXd1RJUEFXeDZNNzZmaVRyMXVVSmN3Sgo1VXVKSmZzM0tqVW9aQTBQVkxlU2tzaFZscVJOVGZwUWl5MGY4cGVraTNxbjMyS1R3UWhIaFlsZjRTSitLZlplCklSdWZMRkxuOTh3bEVPWnhZdUhNNjZyTWJZU0NMdjNJTW1JOGxyemtFa3lBc01uc1FkVHovRHdud2FDdXVCakQKcFl5NTVlZG5CQ1NGM3lSVlp6K3RPd0F6UXk5cUwzdHM3UHFWanJjUk45WUFhdz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBclNvSURxUTZKT3M5Y29TNUtXcFZaMHc2NkNtVTNpbmJ3cHBJYkZKTDVWcW1hQTI2ClFKSmY2RXBkek5zdnhMcXhIeFRZY1o4c1FUb0MwNlg4ZmppVXZ2WUsxdU5KZVpkdzZzQU5YcE5nY2JEWkU5NksKWVo5NmZkSXVZWklPbjI5MVBVTUQ1ZnpaQVB1NGdUUEMwRzZXV1BPTmgzTE4vdGtJVnBIYk5HNm5ZNFZSRmFoRApmQ0xJZkxHam4vVzE2YkI1dmx1VW5SQTU3ekc5NldETXFkZElBcGxFeHYwNWpmMWRob01rdC9reTNwSDdjejV5CmJqbm1ielloZ2I3QWFHRWRQazd5WTk2aFpqMlc5eEF5N3c5RzhLYzhJL0NjT1cyZTU2eWtIOVRFOU1zdnBWaCsKVnlubG9RbkxnMVZ1VmpycG55RUQzOHhaTUNPQjl2ZjZJdWlQTHdJREFRQUJBb0lCQVFDbmdkVXhkS1BhT3NUQwpGcW1XNm9tYTF4N1VuZ1NudEE0bGZXRTVoNUpyVnZsS0JwMTVBUjlOY1VLemZBUUZaaU1ZVWUzZVczOVB5WElhCmtxSmc1eExjZHQyZGFWZ1dDdXpyNk1RR0RNSnF1QXdGTUd6a2FvVHZXWFlNWkdGSTBXU3owalBmTW13b2kxZTcKZy9xYjdaMzZoZjhPVzN2eFhyaTJKWG5LaW8vWnIvR2I3RUhRNllNQm8zSHJidHZNdWw4QWFhZG5jZFdySk95RgpuT1JXV0hjSVBNWmNpVjVEN3Bmd0p2MjFVTzJNellHVFBMdFVLT2o3bDlVRmxRcmRVcU9LZ2RRK041MEkyeGplCnJRb0p0RUtXcUlSSXh5ZTRXanB3bUtmektoc1JEMU10dkJSaFJMcEloWnlQMUZJdG9DNDVVdHJCUjQzUnNERTEKZ29mdm9IcWhBb0dCQU5LV0RIR3c1dFJvTFVFVGtYUWs5dllxeG9KU1lzNW1YcU9ReDliMUZoTFRJYm1qUkllUgpzOTR3WHJDL3l6QllzYTdJU2FxNjFyeU1zTG9ObXprK0VrQmxNb0VLM1h0aS9lUytxRHVubWVqR1NyeUJjTUxXClJGR0RvR2x4aW8ybXpRN2E2Um1MN012MFVBRGhhQWRNdHlqSXZsS21CSDVLRUtleTcyYklTbnJWQW9HQkFOS0MKQWdKTGdPQlFJRG00TmNYMk1ObHFXOC9SNnJLcWRhMjE3ODIzT1FtQm9weVFEcFVsN0xQQmw3M1pkcHAraDliUgpET3JvMFpPNjBLd0gvV2dMem1INHkvR3R1WC9SZjY5bkZEWndzOWdqREVIdFhrUW9MbEIvTUFFeDdJbitDMnVyClQvZjhVa3RLT29XbjRsQlZ5d2phNTJKZWRCdTZ4dWlGZ0JrSis1dnpBb0dBZkVuREhuYmlSZ3NXYW9vNkZ1cWEKTjhBWFdXTjJuWXNkNER2Yk5xdUFVNnY1QTYreENyS2NEazlPRTlPZkFQSFlMT2haVWtMajZuUysrWkIrUk5LMQp3dnYzU3VJMnhsUXV0WXN4ajhQanV0Y04xU1F3Z1U0bEZGY3puZ2c5VmsxVVNhZzZXN0dTR080aEtlUGZtaTlWCkN1VXdMMmQ4ejJ5M1Y4THNPU1dOaitFQ2dZRUFzY2lVMDhWYW1aZHlMKzB3bFBrZ05tNktEZEVXcTBBbFZNa2sKTnhQMyt0eGVMbVhIdXhVbGZJY1NsWWMwa0xRdUd6SEEvQ0FXNS9KTnpBeVBhckVWNDA1UlI5SlZxT3FSTU4wWQppQVhWRGNSRDFPWVl4KzA3ZUVhQ2oyL1BlcGR3bzhVeUs1a1JFMzhrUDc4UzlwQU9nbk1HR2VEMXBIbXhCYTNDCkN1T1FlUnNDZ1lBMVR0R3BQUTQ4QkJuUVBleU9DckZmUW1OeUZ0RXN4SjErMkZleFdJdjdTSGthZXVUWVVzajEKRDhGQytpbWlNZVFRcVJ1VjJjYVBjUXpxMEJaUVppd3YvcmhwRHlDcjkyYm5HQkx6d20zMG56UTJoMi9CNDRSSwprQzlkdWpNK2taZEJ5MFRWY1hrdzk4ZWlJeUFDaGd4RXVNWVFLb21rVW0xU2dxZkhpWmR6M1E9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
type: kubernetes.io/tls
`,
type: kubernetes.io/tls`,
},
"upgrade_default.golden",
nil,
@ -1567,6 +1624,350 @@ data:
options.addOnConfig = filepath.Join("testdata", "addon_config_overwrite.yaml")
},
},
{
"",
[]string{`
kind: ConfigMap
apiVersion: v1
metadata:
name: linkerd-config
namespace: linkerd
labels:
linkerd.io/control-plane-component: controller
annotations:
linkerd.io/created-by: linkerd/cli edge-19.4.1
data:
global: |
{"linkerdNamespace":"linkerd","cniEnabled":false,"version":"edge-19.4.1","identityContext":{"trustDomain":"cluster.local","trustAnchorsPem":"-----BEGIN CERTIFICATE-----\nMIIBwDCCAWagAwIBAgIQMvd1QnGUJzXVUt3gNh7rWjAKBggqhkjOPQQDAjApMScw\nJQYDVQQDEx5pZGVudGl0eS5saW5rZXJkLmNsdXN0ZXIubG9jYWwwHhcNMjAwNDA2\nMTAzOTUxWhcNMzAwNDA0MTAzOTUxWjApMScwJQYDVQQDEx5pZGVudGl0eS5saW5r\nZXJkLmNsdXN0ZXIubG9jYWwwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQ19nmg\nQ8l+EMofPxas7HUlOJE5avps6b6Q97Y71Waw3rdXYNCPqMxa4PedPc5VKGje6eqJ\nAo5mX29HeMcUw/y3o3AwbjAOBgNVHQ8BAf8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB\n/wIBATAdBgNVHQ4EFgQUfxv+BcCt5v7oF7PXJ9xY+JambdwwKQYDVR0RBCIwIIIe\naWRlbnRpdHkubGlua2VyZC5jbHVzdGVyLmxvY2FsMAoGCCqGSM49BAMCA0gAMEUC\nIQCM8UfevR53SVGDd/4MgXMlVqC3Vh8oDiM0UToj2wsjNgIgLnZgogrqjK0KRo9R\nSxZLbJKt6SJIIY9dw5gzQpUQR2U=\n-----END CERTIFICATE-----\n","issuanceLifetime":"86400s","clockSkewAllowance":"20s","scheme":"linkerd.io/tls"}, "clusterDomain":"cluster.local"}
proxy: |
{"proxyImage":{"imageName":"gcr.io/linkerd-io/proxy","pullPolicy":"IfNotPresent"},"proxyInitImage":{"imageName":"gcr.io/linkerd-io/proxy-init","pullPolicy":"IfNotPresent"},"controlPort":{"port":4190},"ignoreInboundPorts":[{"portRange":"2525-2527"},{"portRange":"25259"}],"ignoreOutboundPorts":[],"inboundPort":{"port":4143},"adminPort":{"port":4191},"outboundPort":{"port":4140},"resource":{"requestCpu":"","requestMemory":"","limitCpu":"","limitMemory":""},"proxyUid":"2102","logLevel":{"level":"warn,linkerd=info"},"disableExternalProfiles":true,"debugImage":{"imageName":"gcr.io/linkerd-io/debug","pullPolicy":"IfNotPresent"},"debugImageVersion":"UPGRADE-DEBUG-VERSION"}
install: |
{"cliVersion":"edge-19.4.1","flags":[{"name":"skip-inbound-ports","value":"[2525-2527,2529]"}]}`,
`
kind: Secret
apiVersion: v1
metadata:
name: linkerd-identity-issuer
namespace: linkerd
labels:
linkerd.io/control-plane-component: identity
annotations:
linkerd.io/created-by: linkerd/cli edge-19.4.1
linkerd.io/identity-issuer-expiry: 2020-04-03T23:53:57Z
data:
crt.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJ3RENDQVdlZ0F3SUJBZ0lSQUxEaXZ5V1hPWVB1OU5qdmxQbzVyQll3Q2dZSUtvWkl6ajBFQXdJd0tURW4KTUNVR0ExVUVBeE1lYVdSbGJuUnBkSGt1YkdsdWEyVnlaQzVqYkhWemRHVnlMbXh2WTJGc01CNFhEVEl3TURRdwpOakV3TkRBd05Gb1hEVE13TURRd05ERXdOREF3TkZvd0tURW5NQ1VHQTFVRUF4TWVhV1JsYm5ScGRIa3ViR2x1CmEyVnlaQzVqYkhWemRHVnlMbXh2WTJGc01Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRUhBSzcKNjQ5YVM2Sk9ESC9McnFjdHlxazluZTlLVmNGZmp4RjVLd0hYaCsvQzUzYlZ0ME9sZlZFSGt6cmI4bGM1dnMyWAp0SFhBV2VDYlVZQldPSkpBZktOd01HNHdEZ1lEVlIwUEFRSC9CQVFEQWdFR01CSUdBMVVkRXdFQi93UUlNQVlCCkFmOENBUUF3SFFZRFZSME9CQllFRkJSMkZnUm5WUWZ2bTA1eHpYVm5RWGpVYkRzNU1Da0dBMVVkRVFRaU1DQ0MKSG1sa1pXNTBhWFI1TG14cGJtdGxjbVF1WTJ4MWMzUmxjaTVzYjJOaGJEQUtCZ2dxaGtqT1BRUURBZ05IQURCRQpBaUJRQURPN04vN3J4RU5jcDRVWWxoSi9Va3JtU1BmbzB5OWEycnczRTJOUDJBSWdZU25tUllQM2RYZEJ3TVB6CkU1UVZlY0VPb0tjL0VrVjhudDFuR0FuSU5yVT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQ==
key.pem: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSUd0cEJrT0hjVENqOVZQcXBtMG5TSFpYOXZmdXN3RWx5R1dJQVJ1NlUwQTJvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFSEFLNzY0OWFTNkpPREgvTHJxY3R5cWs5bmU5S1ZjRmZqeEY1S3dIWGgrL0M1M2JWdDBPbApmVkVIa3pyYjhsYzV2czJYdEhYQVdlQ2JVWUJXT0pKQWZBPT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQ==`,
`
apiVersion: v1
kind: Secret
metadata:
name: linkerd-proxy-injector-tls
namespace: linkerd
labels:
linkerd.io/control-plane-component: proxy-injector
linkerd.io/control-plane-ns: linkerd
annotations:
linkerd.io/created-by: linkerd/helm git-54b2103b
data:
crt.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURKakNDQWc2Z0F3SUJBZ0lRVjFrSXJhRG1sdzNTVzY5UXNRWjNQREFOQmdrcWhraUc5dzBCQVFzRkFEQXQKTVNzd0tRWURWUVFERXlKc2FXNXJaWEprTFhCeWIzaDVMV2x1YW1WamRHOXlMbXhwYm10bGNtUXVjM1pqTUI0WApEVEU1TURnd056SXhNelkwTUZvWERUSXdNRGd3TmpJeE16WTBNRm93TFRFck1Da0dBMVVFQXhNaWJHbHVhMlZ5ClpDMXdjbTk0ZVMxcGJtcGxZM1J2Y2k1c2FXNXJaWEprTG5OMll6Q0NBU0l3RFFZSktvWklodmNOQVFFQkJRQUQKZ2dFUEFEQ0NBUW9DZ2dFQkFOek5iMmd0VVU2SmsxVDV4Smx3dTNlSmViSml4T01Vc3QyMzVkSWJXU1F2OUlNagpXRTR1Z3dlbk1ZSDh5V1ppV1F5NCsya0h3c1JkdWNxM3lqZUIrMmFsUll6enBLcFUvdHVxVi9XT2U3VVpxcGRaCkNsNTUzNXlmUzMzNndadjFrWlRlU3g1dHc0d3YwaU9vVG9jVGlsSm1tOGVsWDJUN0toajJVam5oSDNWUXFxbjEKcERRUGIvalRMOVcySlZYL2luOXdvTEptc294aFNkR2MxTDRsVnlvWEFOSVdSWENwQVYzVlo5MXV6SHFqaWYyZgpyWnBaRTQ0QWtaM1hWRnVlaldtcTZURWxHL1M1YnBkaExDcy8zWE41T1lZUXVYbXlTdHEyb055ZzFUOEx6RmxECmJ6eXZBSldmSXV6d3hZa051NTljbkhaUjBRY2liUDF5NTQ0QlV2c0NBd0VBQWFOQ01FQXdEZ1lEVlIwUEFRSC8KQkFRREFnS2tNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUZCUWNEQWpBUEJnTlZIUk1CQWY4RQpCVEFEQVFIL01BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQjBNZERONWRuaUgxYS96UGI5QWFBT2JqaFBEUC9FCngreVlRU3VDYXpyeFZCUlpPeGdpUkUyN1JjZ05BRGZmOVRkRU9ER1BrUVY4aTRnVVVOdi9VanljODYxdW55SG0KR3FacEp0OFROZ0pWN2VHR00wUWlrNkFYZTdLT1N0aFdzVVZDSHlGMUFyam01U2dRUHRsREttVGk1bDBCZ1pyKwpBblVzOVllNHhUSFFFYSswSFN3NXNjdnFsVDhYS0ZCanoza2hJbHFVd3IvSy9seVZITDcwQTMyUi9UODh5Z1YzClQ4MitwS1R5T3lZU1IrZG1ZUWdxcW00ajVhVVp5aURPZVFHR1kycEZNQnJMY0tGZjFqcmJHWXlVQVNrdlh6NXoKaHZIOUtJWXFOckdhMDloTFBjb00rMW9CNHNnY2RKdFpCV2pCRWdiTHdwWEJJdUVFVXY5cno0dDAKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
key.pem: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBM00xdmFDMVJUb21UVlBuRW1YQzdkNGw1c21MRTR4U3kzYmZsMGh0WkpDLzBneU5ZClRpNkRCNmN4Z2Z6SlptSlpETGo3YVFmQ3hGMjV5cmZLTjRIN1pxVkZqUE9rcWxUKzI2cFg5WTU3dFJtcWwxa0sKWG5uZm5KOUxmZnJCbS9XUmxONUxIbTNEakMvU0k2aE9oeE9LVW1hYng2VmZaUHNxR1BaU09lRWZkVkNxcWZXawpOQTl2K05NdjFiWWxWZitLZjNDZ3NtYXlqR0ZKMFp6VXZpVlhLaGNBMGhaRmNLa0JYZFZuM1c3TWVxT0ovWit0Cm1sa1RqZ0NSbmRkVVc1Nk5hYXJwTVNVYjlMbHVsMkVzS3ovZGMzazVoaEM1ZWJKSzJyYWczS0RWUHd2TVdVTnYKUEs4QWxaOGk3UERGaVEyN24xeWNkbEhSQnlKcy9YTG5qZ0ZTK3dJREFRQUJBb0lCQVFDd1BGVEFyUE1wb1l0MApGc3VCd1VZUU9pMWxZWXBPeVpXZWZJcTJNZGZybDA4dFlJZTZGMHZFVHdHb0EvRm9nL1VadjRnRHBBc2tHcjhSCmU3S3VyVlBROFBkYmNwaXF6NTZBREMyYXRIZ3U2MmFLMktuN0VJR1hqRm1BR3ladmFna2g3bSs4d05XRXppS0gKRFc1b1NBTnVrN0doSDNETnM5ODgvMVpRRmt5Nm9BVThzWEhaTEpsNGJoV05UU3FSS0VnT3pIRDRwYWRITzUrMwp3cFVHamg1VklaS1BlMzRqYmMwTVZDOUwwNjhJY3Fibmp6d3g3NnYrQnh6MXFyRFNNMDR2TytGWUZUTVVmWEtyClBZRU5qMEN6UEhUanlwT2FBdFNwZFJTY2x1YzVGMTVmcXpKRnE5dVVLM2VpWFY3amNjTW1Sb0l0bkxMS3Z5VkgKVWJOZ1pnZmhBb0dCQVBpOU40MjRwK1ZxWnJRRTZ3K21kTTh2S2JIb0NPWUNlVDZrYXExMzhLVFJ2Z0MzZGJQNgpRcFpSNXlYNlhQeW1YMnNkZkxQTDk2NE1DeGJlS1ovWmw5UC9zRkxhRDVOc0RXMXZ2djJkYXBhQ1d0U0hwNHFFClJIN2tWWTZmcHZUYmZWN2FWL1JQZlhGbWVrbEJZd05pNTNkNFRYZEhJWC9ONHM0aFgwVzNtMk1yQW9HQkFPTS8KYzk0anJDbGtESUN4YWhUYlp4UHdST1hqVEZvdEpxaGRhandZOXcxdEVIelNnNUY1QVFSaWR4WGxFa0lENVdCRApYeG1JZWF2TDgyRkpUeWFXWlBzUnRkOXNJV3BIM084VDh2TnZLN1Z0SXY2RzZYSy9XUjhHMjhodTl6bVNlMk5HCjVUN2FkL0dMSlZ3Mm9GcTEzNGFIbHdvY00xMUFPa2YwYU9SWGJTZHhBb0dCQU0vT1JQdEJxZ01nUVcxa0xuMkUKczFIa05SRk1xU0tBTG9zSEVaaWErNUMzS2VXdlg4WmM3Z1JucUpVeDlUMmVRVmxiNlRMTTFMK3prQkFxeXR1aApEaGN2SmtBUnJiR2NOQnVab0JhQnpPcXhQUEVSNUFiMU9jUkpQckZJOEZMZ2pIMFNMU2tPdjk1ZG53eFVkRVAvCi9TRHlnTVdGeDViZWl2MXJKQTA2dDdiQkFvR0FVSkg2dnRQZkFuM2FnUFptS2lid0VQMnJMK2E2OTIzeXV0Y0UKQjNMQ2hSd2FNR2RqQm56a2cyMTEwMmw0WTdlRjUrOTdGRTV5OVJwR25FT2xzSVM2SU5wU3BYaHRFSVdTSzZIagpEYlJveHRaL0JjZEhsY3VLQ1pvZzZwdU5RL2hQanc5ZjBEMGRNYUtvQ0YzRjFPT084Tis2Q1hlZUxuM0xMQi9YCjRMMnVrY0VDZ1lCeWxEY2haSHR3YjlxYWFoeVhiQUI2WHAvMTdLUEtZOFltbDBqN0cydm1VMXJUZDdTREhHek4Kc1B5LzErY3FraWkrVVQxc2I0d1RQaW9wTXZxa3hsY05tdzM4L2NRL05ET3JENlEvN1NJN0I3TkNod1BLNFBhWgpCVEo1MW84RktSRTczcDhVYkdDUlNtdjVzYk5aTUMyWlRBaVNWa0MzUHU4QmxGN1VoM3RCeEE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
type: Opaque`,
`
apiVersion: admissionregistration.k8s.io/v1beta1
kind: MutatingWebhookConfiguration
metadata:
name: linkerd-proxy-injector-webhook-config
labels:
linkerd.io/control-plane-component: proxy-injector
linkerd.io/control-plane-ns: linkerd
webhooks:
- name: linkerd-proxy-injector.linkerd.io
namespaceSelector:
matchExpressions:
- key: config.linkerd.io/admission-webhooks
operator: NotIn
values:
- disabled
clientConfig:
service:
name: linkerd-proxy-injector
namespace: linkerd
path: "/"
caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJ3RENDQVdlZ0F3SUJBZ0lSQUxEaXZ5V1hPWVB1OU5qdmxQbzVyQll3Q2dZSUtvWkl6ajBFQXdJd0tURW4KTUNVR0ExVUVBeE1lYVdSbGJuUnBkSGt1YkdsdWEyVnlaQzVqYkhWemRHVnlMbXh2WTJGc01CNFhEVEl3TURRdwpOakV3TkRBd05Gb1hEVE13TURRd05ERXdOREF3TkZvd0tURW5NQ1VHQTFVRUF4TWVhV1JsYm5ScGRIa3ViR2x1CmEyVnlaQzVqYkhWemRHVnlMbXh2WTJGc01Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRUhBSzcKNjQ5YVM2Sk9ESC9McnFjdHlxazluZTlLVmNGZmp4RjVLd0hYaCsvQzUzYlZ0ME9sZlZFSGt6cmI4bGM1dnMyWAp0SFhBV2VDYlVZQldPSkpBZktOd01HNHdEZ1lEVlIwUEFRSC9CQVFEQWdFR01CSUdBMVVkRXdFQi93UUlNQVlCCkFmOENBUUF3SFFZRFZSME9CQllFRkJSMkZnUm5WUWZ2bTA1eHpYVm5RWGpVYkRzNU1Da0dBMVVkRVFRaU1DQ0MKSG1sa1pXNTBhWFI1TG14cGJtdGxjbVF1WTJ4MWMzUmxjaTVzYjJOaGJEQUtCZ2dxaGtqT1BRUURBZ05IQURCRQpBaUJRQURPN04vN3J4RU5jcDRVWWxoSi9Va3JtU1BmbzB5OWEycnczRTJOUDJBSWdZU25tUllQM2RYZEJ3TVB6CkU1UVZlY0VPb0tjL0VrVjhudDFuR0FuSU5yVT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJREpqQ0NBZzZnQXdJQkFnSVFWMWtJcmFEbWx3M1NXNjlRc1FaM1BEQU5CZ2txaGtpRzl3MEJBUXNGQURBdApNU3N3S1FZRFZRUURFeUpzYVc1clpYSmtMWEJ5YjNoNUxXbHVhbVZqZEc5eUxteHBibXRsY21RdWMzWmpNQjRYCkRURTVNRGd3TnpJeE16WTBNRm9YRFRJd01EZ3dOakl4TXpZME1Gb3dMVEVyTUNrR0ExVUVBeE1pYkdsdWEyVnkKWkMxd2NtOTRlUzFwYm1wbFkzUnZjaTVzYVc1clpYSmtMbk4yWXpDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRApnZ0VQQURDQ0FRb0NnZ0VCQU56TmIyZ3RVVTZKazFUNXhKbHd1M2VKZWJKaXhPTVVzdDIzNWRJYldTUXY5SU1qCldFNHVnd2VuTVlIOHlXWmlXUXk0KzJrSHdzUmR1Y3EzeWplQisyYWxSWXp6cEtwVS90dXFWL1dPZTdVWnFwZFoKQ2w1NTM1eWZTMzM2d1p2MWtaVGVTeDV0dzR3djBpT29Ub2NUaWxKbW04ZWxYMlQ3S2hqMlVqbmhIM1ZRcXFuMQpwRFFQYi9qVEw5VzJKVlgvaW45d29MSm1zb3hoU2RHYzFMNGxWeW9YQU5JV1JYQ3BBVjNWWjkxdXpIcWppZjJmCnJacFpFNDRBa1ozWFZGdWVqV21xNlRFbEcvUzVicGRoTENzLzNYTjVPWVlRdVhteVN0cTJvTnlnMVQ4THpGbEQKYnp5dkFKV2ZJdXp3eFlrTnU1OWNuSFpSMFFjaWJQMXk1NDRCVXZzQ0F3RUFBYU5DTUVBd0RnWURWUjBQQVFILwpCQVFEQWdLa01CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUJCZ2dyQmdFRkJRY0RBakFQQmdOVkhSTUJBZjhFCkJUQURBUUgvTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFCME1kRE41ZG5pSDFhL3pQYjlBYUFPYmpoUERQL0UKeCt5WVFTdUNhenJ4VkJSWk94Z2lSRTI3UmNnTkFEZmY5VGRFT0RHUGtRVjhpNGdVVU52L1VqeWM4NjF1bnlIbQpHcVpwSnQ4VE5nSlY3ZUdHTTBRaWs2QVhlN0tPU3RoV3NVVkNIeUYxQXJqbTVTZ1FQdGxES21UaTVsMEJnWnIrCkFuVXM5WWU0eFRIUUVhKzBIU3c1c2N2cWxUOFhLRkJqejNraElscVV3ci9LL2x5VkhMNzBBMzJSL1Q4OHlnVjMKVDgyK3BLVHlPeVlTUitkbVlRZ3FxbTRqNWFVWnlpRE9lUUdHWTJwRk1CckxjS0ZmMWpyYkdZeVVBU2t2WHo1egpodkg5S0lZcU5yR2EwOWhMUGNvTSsxb0I0c2djZEp0WkJXakJFZ2JMd3BYQkl1RUVVdjlyejR0MAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t
failurePolicy: Ignore
rules:
- operations: [ "CREATE" ]
apiGroups: [""]
apiVersions: ["v1"]
resources: ["pods"]
sideEffects: None`,
`
apiVersion: v1
kind: Secret
metadata:
name: linkerd-sp-validator-tls
namespace: linkerd
labels:
linkerd.io/control-plane-component: sp-validator
linkerd.io/control-plane-ns: linkerd
annotations:
linkerd.io/created-by: linkerd/helm git-54b2103b
data:
crt.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURJakNDQWdxZ0F3SUJBZ0lRQkhsRWhOb3Y0Z1hHT0EzbGFOamErekFOQmdrcWhraUc5dzBCQVFzRkFEQXIKTVNrd0p3WURWUVFERXlCc2FXNXJaWEprTFhOd0xYWmhiR2xrWVhSdmNpNXNhVzVyWlhKa0xuTjJZekFlRncweApPVEE0TURjeU1UTTJOREJhRncweU1EQTRNRFl5TVRNMk5EQmFNQ3N4S1RBbkJnTlZCQU1USUd4cGJtdGxjbVF0CmMzQXRkbUZzYVdSaGRHOXlMbXhwYm10bGNtUXVjM1pqTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEEKTUlJQkNnS0NBUUVBdklFVW5YdlBkSDFra2lJM2JPc01wQ0Zpb3FoN0dCK1ZtSmE5Q2RoNEQ3bWhiMWhoMUNYdgpNblZtQVduUE9UYWRvUHRZNFNZZU9pUDBURVQ1enZ1MUlEUzVyZFhUcDlZaHZHWDRMM1NhVk5XdnlsbzNXT1FmCk5sSXZPWFU4bHZHaDAyeE9TK3RZeklSMVh0dmFhOUV6K1QyN0p4ei9meHhnK2tHRmRES3BBK0tQeitvZHRKL1YKYTYvc2N6UWhaczhtTWt3L0Y3MzJxS1JtWG83bm9pTjhYRjAxSFBiT1pVdFpGZjJ6L2hGMHhKaEVMNlRNWTNlNwpZNnZ4UFoyMGVobTR5cUk1Q2RqcWN1WFNwL0xhbFNJOTBsb0ZMMU5SZFRuREgzZ1BNUWM3VE9KenIzQUI0bmxjCmJIU0ZsNkFvN2J1U3EvOTJ4MmdwMjRRT2w0UURkdlVZaVFJREFRQUJvMEl3UURBT0JnTlZIUThCQWY4RUJBTUMKQXFRd0hRWURWUjBsQkJZd0ZBWUlLd1lCQlFVSEF3RUdDQ3NHQVFVRkJ3TUNNQThHQTFVZEV3RUIvd1FGTUFNQgpBZjh3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUtJQUc5T2E4SndtSzBUaGVtc2RxdjhvdkhZUk5XTHBWOVBhCkJNejJhQklFQVlvMURxQmFaQWFkdWZKa0k1bmFoTC81K2NaQXp3M2s4RmpYN2plT1ErYmlPaS9TNlU4K0FNZEUKZnZvdVR5N05Kb0xXM1NUclhCcjJnYzY3RUtLQ2JGQmsxYzM3b21KSUhhZU15aWNkRHY0SHRYTExDcUtrYk54aAo0NGQ2YUpzL3lNZm9kZGFhZFN0L1RwMGZtaHNPMTR5OUp3RDFWL2s1M3ppUmxDcXNYVUtBK05vejhqRC8wVkI5CnFyd0dpWGk4S1ZsZS9LYjFDZktOM1VhczdBRHlxbVVEUGNKY2tQMGM5QnBRQzlLYTJqZHhzb0hvWi8vSG5SVGYKalc2dExlcjN1UHZpek5qM2swcWt2SVAydVVJNDg0MkJjQmUrbVB1NlJoeVozdWt4elNVPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
key.pem: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBdklFVW5YdlBkSDFra2lJM2JPc01wQ0Zpb3FoN0dCK1ZtSmE5Q2RoNEQ3bWhiMWhoCjFDWHZNblZtQVduUE9UYWRvUHRZNFNZZU9pUDBURVQ1enZ1MUlEUzVyZFhUcDlZaHZHWDRMM1NhVk5XdnlsbzMKV09RZk5sSXZPWFU4bHZHaDAyeE9TK3RZeklSMVh0dmFhOUV6K1QyN0p4ei9meHhnK2tHRmRES3BBK0tQeitvZAp0Si9WYTYvc2N6UWhaczhtTWt3L0Y3MzJxS1JtWG83bm9pTjhYRjAxSFBiT1pVdFpGZjJ6L2hGMHhKaEVMNlRNClkzZTdZNnZ4UFoyMGVobTR5cUk1Q2RqcWN1WFNwL0xhbFNJOTBsb0ZMMU5SZFRuREgzZ1BNUWM3VE9KenIzQUIKNG5sY2JIU0ZsNkFvN2J1U3EvOTJ4MmdwMjRRT2w0UURkdlVZaVFJREFRQUJBb0lCQVFDU1hGTHFXQWhpdFQyUwpMVmtGaTVjY0ZRUGxzWlVwek5RMVRzem1TUm9uYzRWQjA4alpsTDZkV2dQaWt3b2ZyU1ZFcWdOL2hUNHcvRnVoCm9HaXA2a3ZlL3JFd3BQYWF1U3NtZ2JIcS9za1psM1RQVTY3bnFQQUhHRmFzY1RlakoyZnpwWU5CZFRGVVVvQmoKTDZidTBkZGQ3UzFVR0RMVXVlOGVRQ05qYmpaRzJadnhiclhHQ1hTcjZtankvUTI2UkhrM0JSZXZ6UlFEMXIzbgpsSUxGdm9ueHNoTnVvU2xGVmJlTXNoN0JQQlBkbmR0MGNwZDRLcW5oQ0NCZVk0YUlsNmQ2eVJ1K1h4akhmRWRUCjlFTXhjYjJidEIzWHUrNTBtSWJsd1NEK2ZkVkFJUmFYeFRNMlc2dys4ZEZNSjFidXBRbTRLKy9KMC9UMko5b0sKRWpzdno5WVZBb0dCQU9td2t0NXpMVW5GVkNCR1p1aWJhTGRhcUFncy9pNldDcnJzL2xKd0VMb0grWDA4ZFkyWApIMS95ay8xVzZlbFFWVUEwOWg0dEZXSm1JM3BiT0c4d25iVU53MGVIZmlodkU2N0QvdlpXTi83b2FOUDZrdXdhCmNoTWRvaE5JNmhpSXd0cGo2L3JrVEIvTENtaXFWUHlEWXc2U0tiKzh5TktMZE1VdkFDZUpCRXVqQW9HQkFNNkEKS2NsUHNGeStrUzZDQzh4YkUvMER1eTZxc1BPQ3BBdDVDZWNGMHhHZHhBOXp4ZUdBWkxBTk5vZ0dPRjRrVTQxSwo0V20rRFoyNFFIV2FtWEp4dkhOZlZSdVVwSkR6UFJHcGdWSXJJNEMwMWprN0xxYy9VNEtpK2lYVGxWZDE0cWtJClVzalJTOUVrSU4yN3VIQzRnYnpoRW9PbXlOS0Q0U1JTQ2xyellrM2pBb0dBZUV0MHp4M3JDamFSLzZzOS9pOUIKMEdEU2JxTDZsWENYUlhJSjJOWG5SbHdraWRzOWlBMXJFVEVHRFR0WVhjb0VtSENxNFEzRUhFc0hxRXljMkYvbQpUdlV1dVB0K2JjSUFGODY4eUlISmdXYVJ6ODBGSkpUWWRBNmxCOWhZNlJnOWRiNUtFM1RCMnZ2aDk4NzJ3S1hCCnNCWjlkejN2QXJMWEFVb1lna0Y5L0pFQ2dZQmRObzhtTnhtR0UrT1hHYzdYbFRsRm1ieVJ5UzBORHFpY0lTdnUKSTd2dUZNZ2VyWVRpVU1HaWtxUk43SGpmVGdpRkhBcjZYM2JuL2ZiaTMwRnEzcHBSZmZQOStpLzYya0Z6eW83OApsMHAwVzZ6anNxcFJobzFjeDlLZzVveGdLVytDRzZhNnpYY3ExZU1jRkJPaWxqYkNHdHJ2b0liQU9CV1YvbzU4CkZhY0hQd0tCZ1FERS9nb2sxZ3VEaGVXUmJEaTdpNVVqd0ZqcnRJZ1hVbTA5N29yOW5Mb2dibFdIK0EyWmgvaG8KQ0hmekdLMUtnZytTd1I2YlRhZ29wRGVCMkRnNTk2ODFwTTQ4ZjVYbzV6NkJUejhFMVFPREpIRlkyNlNJNTlIRwpwZFlWMno5QmdxaDZKQWprZWhQWDlYMWFCcTRrVkpCQzg5MDBOUk1pbG1EdlBISjNhU1EyT0E9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
type: Opaque`,
`
apiVersion: admissionregistration.k8s.io/v1beta1
kind: ValidatingWebhookConfiguration
metadata:
name: linkerd-sp-validator-webhook-config
labels:
linkerd.io/control-plane-component: sp-validator
linkerd.io/control-plane-ns: linkerd
webhooks:
- name: linkerd-sp-validator.linkerd.io
namespaceSelector:
matchExpressions:
- key: config.linkerd.io/admission-webhooks
operator: NotIn
values:
- disabled
clientConfig:
service:
name: linkerd-sp-validator
namespace: linkerd
path: "/"
caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURJakNDQWdxZ0F3SUJBZ0lRQkhsRWhOb3Y0Z1hHT0EzbGFOamErekFOQmdrcWhraUc5dzBCQVFzRkFEQXIKTVNrd0p3WURWUVFERXlCc2FXNXJaWEprTFhOd0xYWmhiR2xrWVhSdmNpNXNhVzVyWlhKa0xuTjJZekFlRncweApPVEE0TURjeU1UTTJOREJhRncweU1EQTRNRFl5TVRNMk5EQmFNQ3N4S1RBbkJnTlZCQU1USUd4cGJtdGxjbVF0CmMzQXRkbUZzYVdSaGRHOXlMbXhwYm10bGNtUXVjM1pqTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEEKTUlJQkNnS0NBUUVBdklFVW5YdlBkSDFra2lJM2JPc01wQ0Zpb3FoN0dCK1ZtSmE5Q2RoNEQ3bWhiMWhoMUNYdgpNblZtQVduUE9UYWRvUHRZNFNZZU9pUDBURVQ1enZ1MUlEUzVyZFhUcDlZaHZHWDRMM1NhVk5XdnlsbzNXT1FmCk5sSXZPWFU4bHZHaDAyeE9TK3RZeklSMVh0dmFhOUV6K1QyN0p4ei9meHhnK2tHRmRES3BBK0tQeitvZHRKL1YKYTYvc2N6UWhaczhtTWt3L0Y3MzJxS1JtWG83bm9pTjhYRjAxSFBiT1pVdFpGZjJ6L2hGMHhKaEVMNlRNWTNlNwpZNnZ4UFoyMGVobTR5cUk1Q2RqcWN1WFNwL0xhbFNJOTBsb0ZMMU5SZFRuREgzZ1BNUWM3VE9KenIzQUI0bmxjCmJIU0ZsNkFvN2J1U3EvOTJ4MmdwMjRRT2w0UURkdlVZaVFJREFRQUJvMEl3UURBT0JnTlZIUThCQWY4RUJBTUMKQXFRd0hRWURWUjBsQkJZd0ZBWUlLd1lCQlFVSEF3RUdDQ3NHQVFVRkJ3TUNNQThHQTFVZEV3RUIvd1FGTUFNQgpBZjh3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUtJQUc5T2E4SndtSzBUaGVtc2RxdjhvdkhZUk5XTHBWOVBhCkJNejJhQklFQVlvMURxQmFaQWFkdWZKa0k1bmFoTC81K2NaQXp3M2s4RmpYN2plT1ErYmlPaS9TNlU4K0FNZEUKZnZvdVR5N05Kb0xXM1NUclhCcjJnYzY3RUtLQ2JGQmsxYzM3b21KSUhhZU15aWNkRHY0SHRYTExDcUtrYk54aAo0NGQ2YUpzL3lNZm9kZGFhZFN0L1RwMGZtaHNPMTR5OUp3RDFWL2s1M3ppUmxDcXNYVUtBK05vejhqRC8wVkI5CnFyd0dpWGk4S1ZsZS9LYjFDZktOM1VhczdBRHlxbVVEUGNKY2tQMGM5QnBRQzlLYTJqZHhzb0hvWi8vSG5SVGYKalc2dExlcjN1UHZpek5qM2swcWt2SVAydVVJNDg0MkJjQmUrbVB1NlJoeVozdWt4elNVPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
failurePolicy: Ignore
rules:
- operations: [ "CREATE" , "UPDATE" ]
apiGroups: ["linkerd.io"]
apiVersions: ["v1alpha1", "v1alpha2"]
resources: ["serviceprofiles"]
sideEffects: None`,
`
apiVersion: v1
kind: Secret
metadata:
name: linkerd-tap-tls
namespace: linkerd
labels:
linkerd.io/control-plane-component: tap
linkerd.io/control-plane-ns: linkerd
annotations:
linkerd.io/created-by: "linkerd/helm git-54b2103b"
data:
crt.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURFRENDQWZpZ0F3SUJBZ0lRRlNhSmJjd0ZrMHNvclpsUENLUmhuakFOQmdrcWhraUc5dzBCQVFzRkFEQWkKTVNBd0hnWURWUVFERXhkc2FXNXJaWEprTFhSaGNDNXNhVzVyWlhKa0xuTjJZekFlRncweE9UQTRNRGN5TVRNMgpOREJhRncweU1EQTRNRFl5TVRNMk5EQmFNQ0l4SURBZUJnTlZCQU1URjJ4cGJtdGxjbVF0ZEdGd0xteHBibXRsCmNtUXVjM1pqTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF1UTRhb3hLSWVnUncKZW5FWHY0QVBjWTc0SnNqNUJXSEhwMUJzY1d1Y24weEwrcEo5UnJDRXphOURXcklad2JTazhpNnlHYnpQWTZCaQpHdlIxK0NMRkZNR1VraERuS1lINk9hNzlvTXN3WGZEc1lmKzVFNU12WlZGay9XeW03ck5GWWhqWXNmengzdTY3CldWbFgyRTBGaHBrU1pMUGN6bHNCQzFzN0hxVzV4TnBYUmc2WDJqYlFWZ0xMdUNsL3FjZE05MzRsay81ODNtT3kKeVIwSkQvV3RMc3VxdVIrOWJZSjlVYXUrbGpqZUc3U1h0UVYrdkR5VDNscEZ2SFpraG5sSm53am9XN0RIN3dPNwplK0ZQc3FmOG9nQk8xUlBmUEhNakRZRERoVlJUTWRKVFpZK2VlcFc5VjVGbGJvRFZvOUtOMlhTSVRkbVJsWmF0CjJuRng3TU83YndJREFRQUJvMEl3UURBT0JnTlZIUThCQWY4RUJBTUNBcVF3SFFZRFZSMGxCQll3RkFZSUt3WUIKQlFVSEF3RUdDQ3NHQVFVRkJ3TUNNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdEUVlKS29aSWh2Y05BUUVMQlFBRApnZ0VCQUZNd3hXVnV1NFMzMi9LSVhsdURsR3dpQjh0YzFCTEVRQzUyY3hhNERodnBGNFkwZmRSOXRwMDN3S1VYClRlRWp6OUMyYzBFTW1EcVpheDVsQmxaaDBtWUFpNFowSUZkbXg4Q0FLYWowUVV1MEdQL1Jmd0taYWFuTjhBbEUKbCtRQjRLWG1ZNjRnOFZUUXR0VXhNL2FZdjkrU0FrMlcvbkZiZTFjUXpHbGFCSVh2WW9Da1N3TDFiTEpDV0N2WQowaEtteFhYdGpHZmpqZXJGTk9CTUdRZkJmQ0czZUJTZE45aS8rOEs3NS9FM21EV01iTGMwVHU2OEFsdWRxVUJRCmZsbngrNXlUaUtlaExhaW9BY0psTldrOVRCSEcySSswLy9tNTM4VGhYbnZ2ZC9uTXdTWitJbEZiVUpvbEo3Rk4KNXVUNG91Vm8xUU9BTlh3Nk5LWU1PT0VURXo0PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
key.pem: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBdVE0YW94S0llZ1J3ZW5FWHY0QVBjWTc0SnNqNUJXSEhwMUJzY1d1Y24weEwrcEo5ClJyQ0V6YTlEV3JJWndiU2s4aTZ5R2J6UFk2QmlHdlIxK0NMRkZNR1VraERuS1lINk9hNzlvTXN3WGZEc1lmKzUKRTVNdlpWRmsvV3ltN3JORlloallzZnp4M3U2N1dWbFgyRTBGaHBrU1pMUGN6bHNCQzFzN0hxVzV4TnBYUmc2WAoyamJRVmdMTHVDbC9xY2RNOTM0bGsvNTgzbU95eVIwSkQvV3RMc3VxdVIrOWJZSjlVYXUrbGpqZUc3U1h0UVYrCnZEeVQzbHBGdkhaa2hubEpud2pvVzdESDd3TzdlK0ZQc3FmOG9nQk8xUlBmUEhNakRZRERoVlJUTWRKVFpZK2UKZXBXOVY1Rmxib0RWbzlLTjJYU0lUZG1SbFphdDJuRng3TU83YndJREFRQUJBb0lCQVFDdUtVNzZjS1BQS2tSdApoK2hReTRZOVdzL0RPTnZjcTlUS2E4OVR3M0tKSGJaWUlld1RUbWYrYUZkY2tVZmFYVmZyc2ZUZWNpdEEyUjNiCnZuMFVSaXp6UnVpN3UzckRQdGV2MkRoTlQwMjY2OWFjdUo2SGhMdFRnSklxVEVxalZrY1Rkc3ppWG11SVkyZ2gKUkF0L3Y2VldzdE56d1M4cmFzeUYwcHZHVVRTUHhVK29Vcm9BYm54TmRnMzRzbzBrR1lDRDJUbGk3ZmRvTWRuQQpRZWovUVp5aFFDTkorUWxJUGEyN2VkN3R5TWNVN3NpdXQ2aGVBRUJqT3AzVXJLS1BwUnc4VHhZNTltZ05oamt2CjVnT3FhZmV2U0ZPZS96TzNnNFpheXVoU3c5N1ZXR3NwZ0NvbmZETy8vNlZabG44cVlkdmQrNWdTTVBtanBKVlIKZCtRcE9BVmhBb0dCQU9VZmUyVkxXR1JlQVlidXhwdWt5OUFtRlkxSGN2eWN3SXlVZmphWEVUNDQvc0hXODdtMwo0MkVaK3BiYUd2ZE5VOVZtNytCblJ2WFBLVzlCaVNDT0dSSVppSDFWTnQ0d0ZMaTI1ZGNIamlZYitxbVNyUGpkCmI3MThHMTN3SU90L1ZsSDFOQW4zUU9qcmdMZm5udFgrUjlLMEtqVzRYbU4yVmpxUGd3MUZBSWdmQW9HQkFNN0QKUmExR29JSnduaHhuTXd0T08zVCtLUnVKc0Y1aUlYTW40Q1JhWUFwanN1cTUwYmdHQjV5MmdCazR6Y2ZOajVVbgpVQ0hXb2JFNFphcFhveHgvWXFkYkJRdTJaK2gxbnpCdTJJQTVoUEFJRmo1dTJ0SXI5d3FMczFLR1pTUjJScUM0Ck9nL2NFbnFEUUtHcStmUEtBeSs1NWRlbm1BYm8xM2FNOXhQZWZxS3hBb0dBR2JJOExwSVNxYjc1UU43S20yNFMKQlpnZjFxWnF1UFlEaWtDbEh3NDJPdG85aUJQSlpjeS96WVlTV3BTL2JYallyQmhOVXNlQ1o5TUIvSjVHK01XMgovaGFxL2hOdWdlQzJrampBOGlyQXdIbG0xVm5EMkcxTk9OMFFYS3F2cG5temZxR1hZbjYrWXVEMm9LbHpZT0NSCndZbS9LaU14UXNwa3hWQ1BEQS92RFZVQ2dZQUtUQzlzTWRoTXBzODVHdXF2NVhXUW5oZnVCeTJCaGVHa21wZlAKTjdFUTAyWlZ5bXRuZnVWaUtMUzRqTnV5MThvTzQ2WmFDUmFFZlFxVE1Vb3VZU25JcS8vVVZZRlhVb1JiSlNvagpPTG9tT2tEaFd5UUswNlc2SUxzTm9TUG9iUHVYaFpWZXROYzJ3dEsxT282NFZaZFRDUzhwVG0rRDZKVFNrcks3CmlwbEVBUUtCZ0VWb2hsNkpMNWhxcDc3dGg1RVp1VFpqUFZDUkJrU3VUeHZuY1pPUGZHemJjQUp2d05pYVZnblAKbVpnMXdKZDVMczZtbkV3QVJLOXhIRmpFbVpkdEpwSkIwY1ZhVzFvZFY4bWFQamFwRGFiNHJwR3NrL2tuRFZ5TAphWTl3M2FlakFiNlZhaVJ3bUZDZDlzOVhPYmFnQkJ4UU05bVBoTXh2WWdiQzdrSUZJUXVaCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==
type: Opaque`,
`
apiVersion: apiregistration.k8s.io/v1
kind: APIService
metadata:
name: v1alpha1.tap.linkerd.io
labels:
linkerd.io/control-plane-component: tap
linkerd.io/control-plane-ns: linkerd
spec:
group: tap.linkerd.io
version: v1alpha1
groupPriorityMinimum: 1000
versionPriority: 100
service:
name: linkerd-tap
namespace: linkerd
caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURFRENDQWZpZ0F3SUJBZ0lRRlNhSmJjd0ZrMHNvclpsUENLUmhuakFOQmdrcWhraUc5dzBCQVFzRkFEQWkKTVNBd0hnWURWUVFERXhkc2FXNXJaWEprTFhSaGNDNXNhVzVyWlhKa0xuTjJZekFlRncweE9UQTRNRGN5TVRNMgpOREJhRncweU1EQTRNRFl5TVRNMk5EQmFNQ0l4SURBZUJnTlZCQU1URjJ4cGJtdGxjbVF0ZEdGd0xteHBibXRsCmNtUXVjM1pqTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF1UTRhb3hLSWVnUncKZW5FWHY0QVBjWTc0SnNqNUJXSEhwMUJzY1d1Y24weEwrcEo5UnJDRXphOURXcklad2JTazhpNnlHYnpQWTZCaQpHdlIxK0NMRkZNR1VraERuS1lINk9hNzlvTXN3WGZEc1lmKzVFNU12WlZGay9XeW03ck5GWWhqWXNmengzdTY3CldWbFgyRTBGaHBrU1pMUGN6bHNCQzFzN0hxVzV4TnBYUmc2WDJqYlFWZ0xMdUNsL3FjZE05MzRsay81ODNtT3kKeVIwSkQvV3RMc3VxdVIrOWJZSjlVYXUrbGpqZUc3U1h0UVYrdkR5VDNscEZ2SFpraG5sSm53am9XN0RIN3dPNwplK0ZQc3FmOG9nQk8xUlBmUEhNakRZRERoVlJUTWRKVFpZK2VlcFc5VjVGbGJvRFZvOUtOMlhTSVRkbVJsWmF0CjJuRng3TU83YndJREFRQUJvMEl3UURBT0JnTlZIUThCQWY4RUJBTUNBcVF3SFFZRFZSMGxCQll3RkFZSUt3WUIKQlFVSEF3RUdDQ3NHQVFVRkJ3TUNNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdEUVlKS29aSWh2Y05BUUVMQlFBRApnZ0VCQUZNd3hXVnV1NFMzMi9LSVhsdURsR3dpQjh0YzFCTEVRQzUyY3hhNERodnBGNFkwZmRSOXRwMDN3S1VYClRlRWp6OUMyYzBFTW1EcVpheDVsQmxaaDBtWUFpNFowSUZkbXg4Q0FLYWowUVV1MEdQL1Jmd0taYWFuTjhBbEUKbCtRQjRLWG1ZNjRnOFZUUXR0VXhNL2FZdjkrU0FrMlcvbkZiZTFjUXpHbGFCSVh2WW9Da1N3TDFiTEpDV0N2WQowaEtteFhYdGpHZmpqZXJGTk9CTUdRZkJmQ0czZUJTZE45aS8rOEs3NS9FM21EV01iTGMwVHU2OEFsdWRxVUJRCmZsbngrNXlUaUtlaExhaW9BY0psTldrOVRCSEcySSswLy9tNTM4VGhYbnZ2ZC9uTXdTWitJbEZiVUpvbEo3Rk4KNXVUNG91Vm8xUU9BTlh3Nk5LWU1PT0VURXo0PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t`,
`
apiVersion: v1
kind: Secret
metadata:
labels:
linkerd.io/control-plane-component: smi-metrics
linkerd.io/control-plane-ns: linkerd
name: linkerd-smi-metrics-tls
namespace: linkerd
data:
tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURIakNDQWdhZ0F3SUJBZ0lSQVB0aFhwTUZ2ekZOSm50UGc5Y2xMVkV3RFFZSktvWklodmNOQVFFTEJRQXcKS2pFb01DWUdBMVVFQXhNZmJHbHVhMlZ5WkMxemJXa3RiV1YwY21samN5NXNhVzVyWlhKa0xuTjJZekFlRncweQpNREF5TWpVeU1qRXpNVEJhRncweU1UQXlNalF5TWpFek1UQmFNQ294S0RBbUJnTlZCQU1USDJ4cGJtdGxjbVF0CmMyMXBMVzFsZEhKcFkzTXViR2x1YTJWeVpDNXpkbU13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXcKZ2dFS0FvSUJBUUN0S2dnT3BEb2s2ejF5aExrcGFsVm5URHJvS1pUZUtkdkNta2hzVWt2bFdxWm9EYnBBa2wvbwpTbDNNMnkvRXVyRWZGTmh4bnl4Qk9nTFRwZngrT0pTKzlnclc0MGw1bDNEcXdBMWVrMkJ4c05rVDNvcGhuM3A5CjBpNWhrZzZmYjNVOVF3UGwvTmtBKzdpQk04TFFicFpZODQySGNzMysyUWhXa2RzMGJxZGpoVkVWcUVOOElzaDgKc2FPZjliWHBzSG0rVzVTZEVEbnZNYjNwWU15cDEwZ0NtVVRHL1RtTi9WMkdneVMzK1RMZWtmdHpQbkp1T2VadgpOaUdCdnNCb1lSMCtUdkpqM3FGbVBaYjNFREx2RDBid3B6d2o4Snc1Ylo3bnJLUWYxTVQweXkrbFdINVhLZVdoCkNjdURWVzVXT3VtZklRUGZ6Rmt3STRIMjkvb2k2STh2QWdNQkFBR2pQekE5TUE0R0ExVWREd0VCL3dRRUF3SUYKb0RBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFRWUlLd1lCQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3QURBTgpCZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFRYXU2NUxLV0NYVHhtVXhmV0hpM0ROQXhZMDliSkxXRkc1T3Y1Q0Q4CmxPNEYyRXRwcXNuZjFBeDZpUGw5LzhpOEZEMnI3UUd2Sm9oYlFNYiszaG9QelFwL0ZpNFdXWXllSDBqRVNOMlIKcy95WmRnbWJaWWliRWRjcHNEUUVGcjZEM1BYSzJPYStWb3VvRWFNaktXd1RJUEFXeDZNNzZmaVRyMXVVSmN3Sgo1VXVKSmZzM0tqVW9aQTBQVkxlU2tzaFZscVJOVGZwUWl5MGY4cGVraTNxbjMyS1R3UWhIaFlsZjRTSitLZlplCklSdWZMRkxuOTh3bEVPWnhZdUhNNjZyTWJZU0NMdjNJTW1JOGxyemtFa3lBc01uc1FkVHovRHdud2FDdXVCakQKcFl5NTVlZG5CQ1NGM3lSVlp6K3RPd0F6UXk5cUwzdHM3UHFWanJjUk45WUFhdz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBclNvSURxUTZKT3M5Y29TNUtXcFZaMHc2NkNtVTNpbmJ3cHBJYkZKTDVWcW1hQTI2ClFKSmY2RXBkek5zdnhMcXhIeFRZY1o4c1FUb0MwNlg4ZmppVXZ2WUsxdU5KZVpkdzZzQU5YcE5nY2JEWkU5NksKWVo5NmZkSXVZWklPbjI5MVBVTUQ1ZnpaQVB1NGdUUEMwRzZXV1BPTmgzTE4vdGtJVnBIYk5HNm5ZNFZSRmFoRApmQ0xJZkxHam4vVzE2YkI1dmx1VW5SQTU3ekc5NldETXFkZElBcGxFeHYwNWpmMWRob01rdC9reTNwSDdjejV5CmJqbm1ielloZ2I3QWFHRWRQazd5WTk2aFpqMlc5eEF5N3c5RzhLYzhJL0NjT1cyZTU2eWtIOVRFOU1zdnBWaCsKVnlubG9RbkxnMVZ1VmpycG55RUQzOHhaTUNPQjl2ZjZJdWlQTHdJREFRQUJBb0lCQVFDbmdkVXhkS1BhT3NUQwpGcW1XNm9tYTF4N1VuZ1NudEE0bGZXRTVoNUpyVnZsS0JwMTVBUjlOY1VLemZBUUZaaU1ZVWUzZVczOVB5WElhCmtxSmc1eExjZHQyZGFWZ1dDdXpyNk1RR0RNSnF1QXdGTUd6a2FvVHZXWFlNWkdGSTBXU3owalBmTW13b2kxZTcKZy9xYjdaMzZoZjhPVzN2eFhyaTJKWG5LaW8vWnIvR2I3RUhRNllNQm8zSHJidHZNdWw4QWFhZG5jZFdySk95RgpuT1JXV0hjSVBNWmNpVjVEN3Bmd0p2MjFVTzJNellHVFBMdFVLT2o3bDlVRmxRcmRVcU9LZ2RRK041MEkyeGplCnJRb0p0RUtXcUlSSXh5ZTRXanB3bUtmektoc1JEMU10dkJSaFJMcEloWnlQMUZJdG9DNDVVdHJCUjQzUnNERTEKZ29mdm9IcWhBb0dCQU5LV0RIR3c1dFJvTFVFVGtYUWs5dllxeG9KU1lzNW1YcU9ReDliMUZoTFRJYm1qUkllUgpzOTR3WHJDL3l6QllzYTdJU2FxNjFyeU1zTG9ObXprK0VrQmxNb0VLM1h0aS9lUytxRHVubWVqR1NyeUJjTUxXClJGR0RvR2x4aW8ybXpRN2E2Um1MN012MFVBRGhhQWRNdHlqSXZsS21CSDVLRUtleTcyYklTbnJWQW9HQkFOS0MKQWdKTGdPQlFJRG00TmNYMk1ObHFXOC9SNnJLcWRhMjE3ODIzT1FtQm9weVFEcFVsN0xQQmw3M1pkcHAraDliUgpET3JvMFpPNjBLd0gvV2dMem1INHkvR3R1WC9SZjY5bkZEWndzOWdqREVIdFhrUW9MbEIvTUFFeDdJbitDMnVyClQvZjhVa3RLT29XbjRsQlZ5d2phNTJKZWRCdTZ4dWlGZ0JrSis1dnpBb0dBZkVuREhuYmlSZ3NXYW9vNkZ1cWEKTjhBWFdXTjJuWXNkNER2Yk5xdUFVNnY1QTYreENyS2NEazlPRTlPZkFQSFlMT2haVWtMajZuUysrWkIrUk5LMQp3dnYzU3VJMnhsUXV0WXN4ajhQanV0Y04xU1F3Z1U0bEZGY3puZ2c5VmsxVVNhZzZXN0dTR080aEtlUGZtaTlWCkN1VXdMMmQ4ejJ5M1Y4THNPU1dOaitFQ2dZRUFzY2lVMDhWYW1aZHlMKzB3bFBrZ05tNktEZEVXcTBBbFZNa2sKTnhQMyt0eGVMbVhIdXhVbGZJY1NsWWMwa0xRdUd6SEEvQ0FXNS9KTnpBeVBhckVWNDA1UlI5SlZxT3FSTU4wWQppQVhWRGNSRDFPWVl4KzA3ZUVhQ2oyL1BlcGR3bzhVeUs1a1JFMzhrUDc4UzlwQU9nbk1HR2VEMXBIbXhCYTNDCkN1T1FlUnNDZ1lBMVR0R3BQUTQ4QkJuUVBleU9DckZmUW1OeUZ0RXN4SjErMkZleFdJdjdTSGthZXVUWVVzajEKRDhGQytpbWlNZVFRcVJ1VjJjYVBjUXpxMEJaUVppd3YvcmhwRHlDcjkyYm5HQkx6d20zMG56UTJoMi9CNDRSSwprQzlkdWpNK2taZEJ5MFRWY1hrdzk4ZWlJeUFDaGd4RXVNWVFLb21rVW0xU2dxZkhpWmR6M1E9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
type: kubernetes.io/tls`,
},
"upgrade_keep_webhook_cabundle.golden",
nil,
nil,
},
{
// test the handling of certificates in webhooks with actual two-level
// certificate chain instead of self-signed certs.
"",
[]string{`
kind: ConfigMap
apiVersion: v1
metadata:
name: linkerd-config
namespace: linkerd
labels:
linkerd.io/control-plane-component: controller
annotations:
linkerd.io/created-by: linkerd/cli edge-19.4.1
data:
global: |
{"linkerdNamespace":"linkerd","cniEnabled":false,"version":"edge-19.4.1","identityContext":{"trustDomain":"cluster.local","trustAnchorsPem":"-----BEGIN CERTIFICATE-----\nMIIBwDCCAWagAwIBAgIQMvd1QnGUJzXVUt3gNh7rWjAKBggqhkjOPQQDAjApMScw\nJQYDVQQDEx5pZGVudGl0eS5saW5rZXJkLmNsdXN0ZXIubG9jYWwwHhcNMjAwNDA2\nMTAzOTUxWhcNMzAwNDA0MTAzOTUxWjApMScwJQYDVQQDEx5pZGVudGl0eS5saW5r\nZXJkLmNsdXN0ZXIubG9jYWwwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQ19nmg\nQ8l+EMofPxas7HUlOJE5avps6b6Q97Y71Waw3rdXYNCPqMxa4PedPc5VKGje6eqJ\nAo5mX29HeMcUw/y3o3AwbjAOBgNVHQ8BAf8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB\n/wIBATAdBgNVHQ4EFgQUfxv+BcCt5v7oF7PXJ9xY+JambdwwKQYDVR0RBCIwIIIe\naWRlbnRpdHkubGlua2VyZC5jbHVzdGVyLmxvY2FsMAoGCCqGSM49BAMCA0gAMEUC\nIQCM8UfevR53SVGDd/4MgXMlVqC3Vh8oDiM0UToj2wsjNgIgLnZgogrqjK0KRo9R\nSxZLbJKt6SJIIY9dw5gzQpUQR2U=\n-----END CERTIFICATE-----\n","issuanceLifetime":"86400s","clockSkewAllowance":"20s","scheme":"linkerd.io/tls"}, "clusterDomain":"cluster.local"}
proxy: |
{"proxyImage":{"imageName":"gcr.io/linkerd-io/proxy","pullPolicy":"IfNotPresent"},"proxyInitImage":{"imageName":"gcr.io/linkerd-io/proxy-init","pullPolicy":"IfNotPresent"},"controlPort":{"port":4190},"ignoreInboundPorts":[{"portRange":"2525-2527"},{"portRange":"25259"}],"ignoreOutboundPorts":[],"inboundPort":{"port":4143},"adminPort":{"port":4191},"outboundPort":{"port":4140},"resource":{"requestCpu":"","requestMemory":"","limitCpu":"","limitMemory":""},"proxyUid":"2102","logLevel":{"level":"warn,linkerd=info"},"disableExternalProfiles":true,"debugImage":{"imageName":"gcr.io/linkerd-io/debug","pullPolicy":"IfNotPresent"},"debugImageVersion":"UPGRADE-DEBUG-VERSION"}
install: |
{"cliVersion":"edge-19.4.1","flags":[{"name":"skip-inbound-ports","value":"[2525-2527,2529]"}]}`,
`
kind: Secret
apiVersion: v1
metadata:
name: linkerd-identity-issuer
namespace: linkerd
labels:
linkerd.io/control-plane-component: identity
annotations:
linkerd.io/created-by: linkerd/cli edge-19.4.1
linkerd.io/identity-issuer-expiry: 2020-04-03T23:53:57Z
data:
crt.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJ3RENDQVdlZ0F3SUJBZ0lSQUxEaXZ5V1hPWVB1OU5qdmxQbzVyQll3Q2dZSUtvWkl6ajBFQXdJd0tURW4KTUNVR0ExVUVBeE1lYVdSbGJuUnBkSGt1YkdsdWEyVnlaQzVqYkhWemRHVnlMbXh2WTJGc01CNFhEVEl3TURRdwpOakV3TkRBd05Gb1hEVE13TURRd05ERXdOREF3TkZvd0tURW5NQ1VHQTFVRUF4TWVhV1JsYm5ScGRIa3ViR2x1CmEyVnlaQzVqYkhWemRHVnlMbXh2WTJGc01Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRUhBSzcKNjQ5YVM2Sk9ESC9McnFjdHlxazluZTlLVmNGZmp4RjVLd0hYaCsvQzUzYlZ0ME9sZlZFSGt6cmI4bGM1dnMyWAp0SFhBV2VDYlVZQldPSkpBZktOd01HNHdEZ1lEVlIwUEFRSC9CQVFEQWdFR01CSUdBMVVkRXdFQi93UUlNQVlCCkFmOENBUUF3SFFZRFZSME9CQllFRkJSMkZnUm5WUWZ2bTA1eHpYVm5RWGpVYkRzNU1Da0dBMVVkRVFRaU1DQ0MKSG1sa1pXNTBhWFI1TG14cGJtdGxjbVF1WTJ4MWMzUmxjaTVzYjJOaGJEQUtCZ2dxaGtqT1BRUURBZ05IQURCRQpBaUJRQURPN04vN3J4RU5jcDRVWWxoSi9Va3JtU1BmbzB5OWEycnczRTJOUDJBSWdZU25tUllQM2RYZEJ3TVB6CkU1UVZlY0VPb0tjL0VrVjhudDFuR0FuSU5yVT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQ==
key.pem: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSUd0cEJrT0hjVENqOVZQcXBtMG5TSFpYOXZmdXN3RWx5R1dJQVJ1NlUwQTJvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFSEFLNzY0OWFTNkpPREgvTHJxY3R5cWs5bmU5S1ZjRmZqeEY1S3dIWGgrL0M1M2JWdDBPbApmVkVIa3pyYjhsYzV2czJYdEhYQVdlQ2JVWUJXT0pKQWZBPT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQ==`,
`
apiVersion: v1
kind: Secret
metadata:
name: linkerd-proxy-injector-tls
namespace: linkerd
labels:
linkerd.io/control-plane-component: proxy-injector
linkerd.io/control-plane-ns: linkerd
annotations:
linkerd.io/created-by: linkerd/helm git-54b2103b
data:
crt.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMwVENDQWJrQ0ZCUndJTjM5MTFjYlZZV3pOWDNpNU42SjJDanlNQTBHQ1NxR1NJYjNEUUVCQ3dVQU1CMHgKR3pBWkJnTlZCQU1NRWt4cGJtdGxjbVFnVjJWaWFHOXZheUJEUVRBZUZ3MHlNREExTWpjeE1ERTRNak5hRncweQpNVEV3TURreE1ERTRNak5hTUMweEt6QXBCZ05WQkFNTUlteHBibXRsY21RdGNISnZlSGt0YVc1cVpXTjBiM0l1CmJHbHVhMlZ5WkM1emRtTXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEVWR0MlkKN1hoVTFhZWNFWHhhMjZuTFpRNkNXREtCN3FpRGxkV1dDNHN6TWpFL29waDJXejJ5RnJneGp6TEczcGM0dXBoVgp3MjdiejVLdlpUM3ZZWmlnRkk5NW14YW1sZTE5S2t3RjZwV2dPYU9HVVBpTzMzTTNGb1ZkbmZ5TFU3TXNxNHZICjVVYVczK3E1cjZlb0NMeTJhR3hOVm1vVnJRWk43cTNLb1J3eDgwcndIbVA2RlduTnJQUWRFb0ZQNmdPWEZRNjgKZ2tOd2JEUU5hbEJ3RjVqanJTVnpVUE9RZXVYZWJ4VHFsVzdKYTRoQ2xEejFYam5HQ1gvVFVuQUlYcFFtcVViWApCWXA5VFBSMmEyMitBMjBTS2dkcGVEVy8zUWVIWWl0MTMvT3p6VnpMeHJTYlVnUHZHWXBock40WXNyUmMvemx1CjZjRlMxd0JwRTJqRlJqTDVBZ01CQUFFd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFMV1YyaWlNSGlxRVh4cVQKODJFS21DSU9OU2tueGZ1cDVXUXpjcktCNTdMbXIzemNncmNrWmZGanlrclhxWndsNGMzWkwwVm9sNklITHdYbgpaVHEyZ1dteGNqaVBmVzlWSXJ4cERFOC9Tdytnd0lPZ0FRd3d0RWFJZGFmUWMrdURFbkU0akxOVFNOZ25vZ0dHCnR0eXRzTEgxNUlSK1dVNGs1WEhnd2RXU0IrR3c0WCtmR2ZZTDdBSk8rT3JBTG04REd3eVpuVTM5Z1p1UmhocGQKWFVzelJ3ZmZGOXJlRmxnWFQ2UmsxamhPM3RhMkltcEJHczlRUmlSbGRUZkxWaElyNWp3bGRJWTBTS3lLSnJhbApyVGltRy9JWTNYUFNsZzJhVHFWZHl3R3ZiV1RrUytLVTJFaGFCaWtXR0RzQUhKcGJEODVuVGFiM1VCbmhrSUdoCi9WK0QrTTA9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
key.pem: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBclNvSURxUTZKT3M5Y29TNUtXcFZaMHc2NkNtVTNpbmJ3cHBJYkZKTDVWcW1hQTI2ClFKSmY2RXBkek5zdnhMcXhIeFRZY1o4c1FUb0MwNlg4ZmppVXZ2WUsxdU5KZVpkdzZzQU5YcE5nY2JEWkU5NksKWVo5NmZkSXVZWklPbjI5MVBVTUQ1ZnpaQVB1NGdUUEMwRzZXV1BPTmgzTE4vdGtJVnBIYk5HNm5ZNFZSRmFoRApmQ0xJZkxHam4vVzE2YkI1dmx1VW5SQTU3ekc5NldETXFkZElBcGxFeHYwNWpmMWRob01rdC9reTNwSDdjejV5CmJqbm1ielloZ2I3QWFHRWRQazd5WTk2aFpqMlc5eEF5N3c5RzhLYzhJL0NjT1cyZTU2eWtIOVRFOU1zdnBWaCsKVnlubG9RbkxnMVZ1VmpycG55RUQzOHhaTUNPQjl2ZjZJdWlQTHdJREFRQUJBb0lCQVFDbmdkVXhkS1BhT3NUQwpGcW1XNm9tYTF4N1VuZ1NudEE0bGZXRTVoNUpyVnZsS0JwMTVBUjlOY1VLemZBUUZaaU1ZVWUzZVczOVB5WElhCmtxSmc1eExjZHQyZGFWZ1dDdXpyNk1RR0RNSnF1QXdGTUd6a2FvVHZXWFlNWkdGSTBXU3owalBmTW13b2kxZTcKZy9xYjdaMzZoZjhPVzN2eFhyaTJKWG5LaW8vWnIvR2I3RUhRNllNQm8zSHJidHZNdWw4QWFhZG5jZFdySk95RgpuT1JXV0hjSVBNWmNpVjVEN3Bmd0p2MjFVTzJNellHVFBMdFVLT2o3bDlVRmxRcmRVcU9LZ2RRK041MEkyeGplCnJRb0p0RUtXcUlSSXh5ZTRXanB3bUtmektoc1JEMU10dkJSaFJMcEloWnlQMUZJdG9DNDVVdHJCUjQzUnNERTEKZ29mdm9IcWhBb0dCQU5LV0RIR3c1dFJvTFVFVGtYUWs5dllxeG9KU1lzNW1YcU9ReDliMUZoTFRJYm1qUkllUgpzOTR3WHJDL3l6QllzYTdJU2FxNjFyeU1zTG9ObXprK0VrQmxNb0VLM1h0aS9lUytxRHVubWVqR1NyeUJjTUxXClJGR0RvR2x4aW8ybXpRN2E2Um1MN012MFVBRGhhQWRNdHlqSXZsS21CSDVLRUtleTcyYklTbnJWQW9HQkFOS0MKQWdKTGdPQlFJRG00TmNYMk1ObHFXOC9SNnJLcWRhMjE3ODIzT1FtQm9weVFEcFVsN0xQQmw3M1pkcHAraDliUgpET3JvMFpPNjBLd0gvV2dMem1INHkvR3R1WC9SZjY5bkZEWndzOWdqREVIdFhrUW9MbEIvTUFFeDdJbitDMnVyClQvZjhVa3RLT29XbjRsQlZ5d2phNTJKZWRCdTZ4dWlGZ0JrSis1dnpBb0dBZkVuREhuYmlSZ3NXYW9vNkZ1cWEKTjhBWFdXTjJuWXNkNER2Yk5xdUFVNnY1QTYreENyS2NEazlPRTlPZkFQSFlMT2haVWtMajZuUysrWkIrUk5LMQp3dnYzU3VJMnhsUXV0WXN4ajhQanV0Y04xU1F3Z1U0bEZGY3puZ2c5VmsxVVNhZzZXN0dTR080aEtlUGZtaTlWCkN1VXdMMmQ4ejJ5M1Y4THNPU1dOaitFQ2dZRUFzY2lVMDhWYW1aZHlMKzB3bFBrZ05tNktEZEVXcTBBbFZNa2sKTnhQMyt0eGVMbVhIdXhVbGZJY1NsWWMwa0xRdUd6SEEvQ0FXNS9KTnpBeVBhckVWNDA1UlI5SlZxT3FSTU4wWQppQVhWRGNSRDFPWVl4KzA3ZUVhQ2oyL1BlcGR3bzhVeUs1a1JFMzhrUDc4UzlwQU9nbk1HR2VEMXBIbXhCYTNDCkN1T1FlUnNDZ1lBMVR0R3BQUTQ4QkJuUVBleU9DckZmUW1OeUZ0RXN4SjErMkZleFdJdjdTSGthZXVUWVVzajEKRDhGQytpbWlNZVFRcVJ1VjJjYVBjUXpxMEJaUVppd3YvcmhwRHlDcjkyYm5HQkx6d20zMG56UTJoMi9CNDRSSwprQzlkdWpNK2taZEJ5MFRWY1hrdzk4ZWlJeUFDaGd4RXVNWVFLb21rVW0xU2dxZkhpWmR6M1E9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
type: Opaque`,
`
apiVersion: admissionregistration.k8s.io/v1beta1
kind: MutatingWebhookConfiguration
metadata:
name: linkerd-proxy-injector-webhook-config
labels:
linkerd.io/control-plane-component: proxy-injector
linkerd.io/control-plane-ns: linkerd
webhooks:
- name: linkerd-proxy-injector.linkerd.io
namespaceSelector:
matchExpressions:
- key: config.linkerd.io/admission-webhooks
operator: NotIn
values:
- disabled
clientConfig:
service:
name: linkerd-proxy-injector
namespace: linkerd
path: "/"
caBundle: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBclNvSURxUTZKT3M5Y29TNUtXcFZaMHc2NkNtVTNpbmJ3cHBJYkZKTDVWcW1hQTI2ClFKSmY2RXBkek5zdnhMcXhIeFRZY1o4c1FUb0MwNlg4ZmppVXZ2WUsxdU5KZVpkdzZzQU5YcE5nY2JEWkU5NksKWVo5NmZkSXVZWklPbjI5MVBVTUQ1ZnpaQVB1NGdUUEMwRzZXV1BPTmgzTE4vdGtJVnBIYk5HNm5ZNFZSRmFoRApmQ0xJZkxHam4vVzE2YkI1dmx1VW5SQTU3ekc5NldETXFkZElBcGxFeHYwNWpmMWRob01rdC9reTNwSDdjejV5CmJqbm1ielloZ2I3QWFHRWRQazd5WTk2aFpqMlc5eEF5N3c5RzhLYzhJL0NjT1cyZTU2eWtIOVRFOU1zdnBWaCsKVnlubG9RbkxnMVZ1VmpycG55RUQzOHhaTUNPQjl2ZjZJdWlQTHdJREFRQUJBb0lCQVFDbmdkVXhkS1BhT3NUQwpGcW1XNm9tYTF4N1VuZ1NudEE0bGZXRTVoNUpyVnZsS0JwMTVBUjlOY1VLemZBUUZaaU1ZVWUzZVczOVB5WElhCmtxSmc1eExjZHQyZGFWZ1dDdXpyNk1RR0RNSnF1QXdGTUd6a2FvVHZXWFlNWkdGSTBXU3owalBmTW13b2kxZTcKZy9xYjdaMzZoZjhPVzN2eFhyaTJKWG5LaW8vWnIvR2I3RUhRNllNQm8zSHJidHZNdWw4QWFhZG5jZFdySk95RgpuT1JXV0hjSVBNWmNpVjVEN3Bmd0p2MjFVTzJNellHVFBMdFVLT2o3bDlVRmxRcmRVcU9LZ2RRK041MEkyeGplCnJRb0p0RUtXcUlSSXh5ZTRXanB3bUtmektoc1JEMU10dkJSaFJMcEloWnlQMUZJdG9DNDVVdHJCUjQzUnNERTEKZ29mdm9IcWhBb0dCQU5LV0RIR3c1dFJvTFVFVGtYUWs5dllxeG9KU1lzNW1YcU9ReDliMUZoTFRJYm1qUkllUgpzOTR3WHJDL3l6QllzYTdJU2FxNjFyeU1zTG9ObXprK0VrQmxNb0VLM1h0aS9lUytxRHVubWVqR1NyeUJjTUxXClJGR0RvR2x4aW8ybXpRN2E2Um1MN012MFVBRGhhQWRNdHlqSXZsS21CSDVLRUtleTcyYklTbnJWQW9HQkFOS0MKQWdKTGdPQlFJRG00TmNYMk1ObHFXOC9SNnJLcWRhMjE3ODIzT1FtQm9weVFEcFVsN0xQQmw3M1pkcHAraDliUgpET3JvMFpPNjBLd0gvV2dMem1INHkvR3R1WC9SZjY5bkZEWndzOWdqREVIdFhrUW9MbEIvTUFFeDdJbitDMnVyClQvZjhVa3RLT29XbjRsQlZ5d2phNTJKZWRCdTZ4dWlGZ0JrSis1dnpBb0dBZkVuREhuYmlSZ3NXYW9vNkZ1cWEKTjhBWFdXTjJuWXNkNER2Yk5xdUFVNnY1QTYreENyS2NEazlPRTlPZkFQSFlMT2haVWtMajZuUysrWkIrUk5LMQp3dnYzU3VJMnhsUXV0WXN4ajhQanV0Y04xU1F3Z1U0bEZGY3puZ2c5VmsxVVNhZzZXN0dTR080aEtlUGZtaTlWCkN1VXdMMmQ4ejJ5M1Y4THNPU1dOaitFQ2dZRUFzY2lVMDhWYW1aZHlMKzB3bFBrZ05tNktEZEVXcTBBbFZNa2sKTnhQMyt0eGVMbVhIdXhVbGZJY1NsWWMwa0xRdUd6SEEvQ0FXNS9KTnpBeVBhckVWNDA1UlI5SlZxT3FSTU4wWQppQVhWRGNSRDFPWVl4KzA3ZUVhQ2oyL1BlcGR3bzhVeUs1a1JFMzhrUDc4UzlwQU9nbk1HR2VEMXBIbXhCYTNDCkN1T1FlUnNDZ1lBMVR0R3BQUTQ4QkJuUVBleU9DckZmUW1OeUZ0RXN4SjErMkZleFdJdjdTSGthZXVUWVVzajEKRDhGQytpbWlNZVFRcVJ1VjJjYVBjUXpxMEJaUVppd3YvcmhwRHlDcjkyYm5HQkx6d20zMG56UTJoMi9CNDRSSwprQzlkdWpNK2taZEJ5MFRWY1hrdzk4ZWlJeUFDaGd4RXVNWVFLb21rVW0xU2dxZkhpWmR6M1E9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
failurePolicy: Ignore
rules:
- operations: [ "CREATE" ]
apiGroups: [""]
apiVersions: ["v1"]
resources: ["pods"]
sideEffects: None`,
`
apiVersion: v1
kind: Secret
metadata:
name: linkerd-sp-validator-tls
namespace: linkerd
labels:
linkerd.io/control-plane-component: sp-validator
linkerd.io/control-plane-ns: linkerd
annotations:
linkerd.io/created-by: linkerd/helm git-54b2103b
data:
crt.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN6ekNDQWJjQ0ZCUndJTjM5MTFjYlZZV3pOWDNpNU42SjJDanhNQTBHQ1NxR1NJYjNEUUVCQ3dVQU1CMHgKR3pBWkJnTlZCQU1NRWt4cGJtdGxjbVFnVjJWaWFHOXZheUJEUVRBZUZ3MHlNREExTWpjeE1ERTRNak5hRncweQpNVEV3TURreE1ERTRNak5hTUNzeEtUQW5CZ05WQkFNTUlHeHBibXRsY21RdGMzQXRkbUZzYVdSaGRHOXlMbXhwCmJtdGxjbVF1YzNaak1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBdGFFcnRsL0EKT3ZlWG56NXo2SGxuaGkrclNvS3VDTVBOUXhteXFYdFNCOUFGcnZpS3c2ME00SEdVS1J4MG1qWXB3dWltTGZaZQo4WTBGYVdibzZibGJ5QUNnYjcvclhPY09mVk15WWFIQXdpc3JLWlhIWjFiQVc0cXRRTUFqSHZhRlVrbjhIMlYrCkpKWk5PenpRbG10bUhxcjU1QmZ5VzArK0p2Uk16RTJNU0tuTllyWTFVV3hHclp1Nmt4WHp5U1d5ekNPTU5IVlYKb1kwZDUrQjhMdExOUE5PUU5GdWhPVWp2R0FNbVRERWFhbmRLNTFnemdiTjRGTlRhODZrazkzMXpUdW1OSFFvYgo1YjZxaElzV0M0UGhNY2RLSVhDY0Y1L2NGaldKVFc2cHVUeW9OYlZpY0JiZ3lYT043MEFlUnhYc2pESHk5QVRtCnVPdHhpZmNicDdHeEJRSURBUUFCTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFDZnM1S2dNWms2UGZQYU9yRFcKZVVHWDlXT0dTalJFMld0YWtVbUttT3BiVHM0TWt3a2hiQUFsemNxbmxGOHZORUoxMmpBRkFQVXZMT0ZOUHA5dQpBdWpuWmNIeVd6U2FNcFhvdEFXZHFWNjlEN2ExUnJFek5KS3k1clEzMDBwVTFnZlF6ay9lMmo3NjlEd2cyM0ZFCldvTkFIeFpvQzlSL3NIUmxHb1VScmZ2VklTS0ZEQy9Oc2ZGaXE1elRjYjhQMVl4UVF3Wk1Tc2EzTldUVHNlYy8KSmcybTJYVkJ1dlk5VXh5aGozdUVvUnFkVTluNkVlNWFHaTVPTGptUEtDVHlSZHB2WnM5d2NuWnpzUDVaR00xTApuZFlUczluOGdETDBiMlhmbmNoK01SbWMxd2ppd2hHRzJGZFY3VW1Fa3I0ait0M2dUdTd5Rmo4MEhWNDBLY2pjCkdEaWEKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
key.pem: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcFFJQkFBS0NBUUVBdGFFcnRsL0FPdmVYbno1ejZIbG5oaStyU29LdUNNUE5ReG15cVh0U0I5QUZydmlLCnc2ME00SEdVS1J4MG1qWXB3dWltTGZaZThZMEZhV2JvNmJsYnlBQ2diNy9yWE9jT2ZWTXlZYUhBd2lzcktaWEgKWjFiQVc0cXRRTUFqSHZhRlVrbjhIMlYrSkpaTk96elFsbXRtSHFyNTVCZnlXMCsrSnZSTXpFMk1TS25OWXJZMQpVV3hHclp1Nmt4WHp5U1d5ekNPTU5IVlZvWTBkNStCOEx0TE5QTk9RTkZ1aE9VanZHQU1tVERFYWFuZEs1MWd6CmdiTjRGTlRhODZrazkzMXpUdW1OSFFvYjViNnFoSXNXQzRQaE1jZEtJWENjRjUvY0ZqV0pUVzZwdVR5b05iVmkKY0JiZ3lYT043MEFlUnhYc2pESHk5QVRtdU90eGlmY2JwN0d4QlFJREFRQUJBb0lCQVFDTmdnaUFpcEZHWCtpdApsUWJSTk9WSFVwUnQ5T3FLd2FLR2lOcjkyS3JNazNJYUpHSlltZGJTZHlzcjdKT2NJbDdmRUV1SXU4NjArMTRnCkJLR3FsMU8rdTE1RU1vNjVUdnVuQU03YjZoNDRLVkh6a0ZKUFhQTjVYczRsQ0kxVWJsVHBDK04yd3FoSThTRXkKNmVySmh0dUZRVWg0UVgvOVRGK21FZWhUdElkN2hCOStDcks1QjdQQnBQYnV4em9ocWg0d3YwNkJzcGxtOStCVgprbVhRN2F0QWs4dXdRcFk2MC9MU1hBczhDLzM4eitJcGxkWTZPMGpOM3YzL2Ntc2hrcGozc1hRMlA3Y1g0bmlnCjZDRStUM0wzZzluaE9wUnpUcFo1bTBaRmV4K3R2OUMvUVhHSURLcTZCTlF4aFQzcU1UUUpudVVKT21GejNEZ28KeXlqNVlCN3hBb0dCQU9TN3QwMDFXeVNkMStFOFZVTER6dThPRlNBQVNQVm96ak9BTkxWc1dOVDRpd3lpc1M2NQpuZUUvcHVqbjlnR2VpK2dSSzRNcEpBd1cwQUNLOHFMWW9HcjhabE9NVDlGYm5qM0dOaGg5czc4dm1pRW1qTXRzCjBnV1l6SE16eEdCdnd1bldiT01mdFBDWjFuSDkrZEtLaExSRG92ZU51K3F0UjV4dmI0SlNSNHV6QW9HQkFNdEgKL0NmRDJvVVF5TUp3QXM3SEc0WDZyTEwrQ2kvWGJ1dWUvUlR2MHJFRlM3aXNoeU5sTkhZb3FtS3hiUURPazgvTwpwMnptczR1aURHb2NHZktDQnFJeERJcHlyNWhmMTkwaVNCQjVOcFlyMnpXQ1J4NUZIRjBZMDZObklVa3VyMUZSCmt5TXgwL25tTE5UQmpwT0pKcTFvMmlkLzRNUWtNdUlzbjJBSXg1Um5Bb0dCQUxnY29SNzBvN2lGbFE4bmtUbDgKZzBUSkFSZ1JJcWpuQTVOUXp4eDVhY2VEaCtsVHkycmczY1JCaUFoUkxpTi9pdjN4VkNUdktLVFNkL3IzM1BaWAppRWlWZ1lnZW1PRGI3ak9yS0QvdWJwQ2xzRnFldlJYQk1neHZRYUk1T1FpbTdTMXIrNW1XRy83TzFWNU1JSnJvCkJJbFZLQWc3ZmRjWVExd1lGcG0vd1BjaEFvR0JBSkRJRzJMakRuOFpuak5GL2VueVM3c1g5K3FnSHZkR0ZCMUQKSm5QRC82Yk80OGlMTU5EWDR3NkpGaG1tenNEMVlMZHdNelRQOTI3cklyWnNmMXFHbTF6blhFdzdOSzl0Qzl6Vwo3c2EwM2xrRXNXTWgvNjhpZi9vYWxabmErUTBiY0FpVjlocnFBVlVLU0VIYi9jVTh1TXhuVW9FeGhnK016S1RrCkxUc0Q1Y25mQW9HQWF0QlcvWGlCdTVWOG9Gd3l3ZVFjb2lyR0V4NTlxWm8wUjl6V2RIRWxEeUNDenJxTi9YUUcKZlZZTmpJbE5pbThUaVlGbjl1clBsMm1sRlBzK2dJaXRna1JPSFYvbVdFaTExaEg4UzRmL0dOVVFRblgzV3g0TQo1Y3JlN3U5dDVhWnhHc3dvRFBWYVlTMTJNaUttSkZVZWlzL2hEcWk4dG13WGYvRnZ2dzd2a2hzPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
type: Opaque`,
`
apiVersion: admissionregistration.k8s.io/v1beta1
kind: ValidatingWebhookConfiguration
metadata:
name: linkerd-sp-validator-webhook-config
labels:
linkerd.io/control-plane-component: sp-validator
linkerd.io/control-plane-ns: linkerd
webhooks:
- name: linkerd-sp-validator.linkerd.io
namespaceSelector:
matchExpressions:
- key: config.linkerd.io/admission-webhooks
operator: NotIn
values:
- disabled
clientConfig:
service:
name: linkerd-sp-validator
namespace: linkerd
path: "/"
caBundle: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBclNvSURxUTZKT3M5Y29TNUtXcFZaMHc2NkNtVTNpbmJ3cHBJYkZKTDVWcW1hQTI2ClFKSmY2RXBkek5zdnhMcXhIeFRZY1o4c1FUb0MwNlg4ZmppVXZ2WUsxdU5KZVpkdzZzQU5YcE5nY2JEWkU5NksKWVo5NmZkSXVZWklPbjI5MVBVTUQ1ZnpaQVB1NGdUUEMwRzZXV1BPTmgzTE4vdGtJVnBIYk5HNm5ZNFZSRmFoRApmQ0xJZkxHam4vVzE2YkI1dmx1VW5SQTU3ekc5NldETXFkZElBcGxFeHYwNWpmMWRob01rdC9reTNwSDdjejV5CmJqbm1ielloZ2I3QWFHRWRQazd5WTk2aFpqMlc5eEF5N3c5RzhLYzhJL0NjT1cyZTU2eWtIOVRFOU1zdnBWaCsKVnlubG9RbkxnMVZ1VmpycG55RUQzOHhaTUNPQjl2ZjZJdWlQTHdJREFRQUJBb0lCQVFDbmdkVXhkS1BhT3NUQwpGcW1XNm9tYTF4N1VuZ1NudEE0bGZXRTVoNUpyVnZsS0JwMTVBUjlOY1VLemZBUUZaaU1ZVWUzZVczOVB5WElhCmtxSmc1eExjZHQyZGFWZ1dDdXpyNk1RR0RNSnF1QXdGTUd6a2FvVHZXWFlNWkdGSTBXU3owalBmTW13b2kxZTcKZy9xYjdaMzZoZjhPVzN2eFhyaTJKWG5LaW8vWnIvR2I3RUhRNllNQm8zSHJidHZNdWw4QWFhZG5jZFdySk95RgpuT1JXV0hjSVBNWmNpVjVEN3Bmd0p2MjFVTzJNellHVFBMdFVLT2o3bDlVRmxRcmRVcU9LZ2RRK041MEkyeGplCnJRb0p0RUtXcUlSSXh5ZTRXanB3bUtmektoc1JEMU10dkJSaFJMcEloWnlQMUZJdG9DNDVVdHJCUjQzUnNERTEKZ29mdm9IcWhBb0dCQU5LV0RIR3c1dFJvTFVFVGtYUWs5dllxeG9KU1lzNW1YcU9ReDliMUZoTFRJYm1qUkllUgpzOTR3WHJDL3l6QllzYTdJU2FxNjFyeU1zTG9ObXprK0VrQmxNb0VLM1h0aS9lUytxRHVubWVqR1NyeUJjTUxXClJGR0RvR2x4aW8ybXpRN2E2Um1MN012MFVBRGhhQWRNdHlqSXZsS21CSDVLRUtleTcyYklTbnJWQW9HQkFOS0MKQWdKTGdPQlFJRG00TmNYMk1ObHFXOC9SNnJLcWRhMjE3ODIzT1FtQm9weVFEcFVsN0xQQmw3M1pkcHAraDliUgpET3JvMFpPNjBLd0gvV2dMem1INHkvR3R1WC9SZjY5bkZEWndzOWdqREVIdFhrUW9MbEIvTUFFeDdJbitDMnVyClQvZjhVa3RLT29XbjRsQlZ5d2phNTJKZWRCdTZ4dWlGZ0JrSis1dnpBb0dBZkVuREhuYmlSZ3NXYW9vNkZ1cWEKTjhBWFdXTjJuWXNkNER2Yk5xdUFVNnY1QTYreENyS2NEazlPRTlPZkFQSFlMT2haVWtMajZuUysrWkIrUk5LMQp3dnYzU3VJMnhsUXV0WXN4ajhQanV0Y04xU1F3Z1U0bEZGY3puZ2c5VmsxVVNhZzZXN0dTR080aEtlUGZtaTlWCkN1VXdMMmQ4ejJ5M1Y4THNPU1dOaitFQ2dZRUFzY2lVMDhWYW1aZHlMKzB3bFBrZ05tNktEZEVXcTBBbFZNa2sKTnhQMyt0eGVMbVhIdXhVbGZJY1NsWWMwa0xRdUd6SEEvQ0FXNS9KTnpBeVBhckVWNDA1UlI5SlZxT3FSTU4wWQppQVhWRGNSRDFPWVl4KzA3ZUVhQ2oyL1BlcGR3bzhVeUs1a1JFMzhrUDc4UzlwQU9nbk1HR2VEMXBIbXhCYTNDCkN1T1FlUnNDZ1lBMVR0R3BQUTQ4QkJuUVBleU9DckZmUW1OeUZ0RXN4SjErMkZleFdJdjdTSGthZXVUWVVzajEKRDhGQytpbWlNZVFRcVJ1VjJjYVBjUXpxMEJaUVppd3YvcmhwRHlDcjkyYm5HQkx6d20zMG56UTJoMi9CNDRSSwprQzlkdWpNK2taZEJ5MFRWY1hrdzk4ZWlJeUFDaGd4RXVNWVFLb21rVW0xU2dxZkhpWmR6M1E9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
failurePolicy: Ignore
rules:
- operations: [ "CREATE" , "UPDATE" ]
apiGroups: ["linkerd.io"]
apiVersions: ["v1alpha1", "v1alpha2"]
resources: ["serviceprofiles"]
sideEffects: None`,
`
apiVersion: v1
kind: Secret
metadata:
name: linkerd-tap-tls
namespace: linkerd
labels:
linkerd.io/control-plane-component: tap
linkerd.io/control-plane-ns: linkerd
annotations:
linkerd.io/created-by: "linkerd/helm git-54b2103b"
data:
crt.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN4akNDQWE0Q0ZCUndJTjM5MTFjYlZZV3pOWDNpNU42SjJDandNQTBHQ1NxR1NJYjNEUUVCQ3dVQU1CMHgKR3pBWkJnTlZCQU1NRWt4cGJtdGxjbVFnVjJWaWFHOXZheUJEUVRBZUZ3MHlNREExTWpjeE1ERTRNak5hRncweQpNVEV3TURreE1ERTRNak5hTUNJeElEQWVCZ05WQkFNTUYyeHBibXRsY21RdGRHRndMbXhwYm10bGNtUXVjM1pqCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBeWFIU1k3ay94WUF2UVpzajF5eU4KV2QxMlRqRjJiVmVpNWpEUFRQVDg1UElqZ0U5bjdlTkVwOHhjNHVxaSt2eGR3cGpDK3JINWcwRmlWV1didFRMOAo4eWRFNERXL0VZWFh2VjdFMUVMNUtqbWJPaEwyN3lDcE1PL3pmU1Q0Ly9Ea0xLT1pkODRHOExtZjdoU1FJd2w5CitTeHRyZW4rRU5JWkdEK0FrNnQ2UnNBaGN3U3htNmVzYmp3bGEwS21rSDFkS05OY00xcUYvanVPc3gxVlIxVHYKRlo1UWlrMFFiSXhLT1Y3OVEwTmIxMVlHanRieGpEZGRVRVNBUmVjNnBqelkxVG1TekRCWkc2b1dpNE81cmVjbgpiN3g1bFN4TG1DMmQ3NmNqc1NWM0p6MG5FZWxUQ2tSNFZISFVVU2UrTnZiTUQ4K2FUeDRBTDlCNk92Wkh4NXRrCjZ3SURBUUFCTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFEbGNva2h2dlJoK1RZSE9MK2QrS1NiNFdXSlloaXAKQ3N2K0JLWUxWYjBkdG5qaTlWeVR1VTdreU9DTU84RTBoVEtvWXZKL1pUTXJ5U1ZheEpOVEdhVzNZQ0R4KzVSRgpnODhJZHprMGdOcStRZFhwbzZieHVyZ3JPZW5JSHAzL3NFczdvYlhrMzJrbmJMYW9VbWoweWQ5QkR6ZWNCaktqCkZRclBLaHh2NGdrc0dJd3l0a09xa3hUVHFla0VtQkVhaTNpVEdlZ0l2RWVTYTRHMTlRUnRXQldNY0dzNWFybTEKaDkxamgwcVdGR0NKd1ZVWENtTDlVUmtueXNxMkhjUnc4ZkdpNnB6ck1nMnRHcSszMWh5UytBZDBOZmdYTmxDbQoxbW9hR3hVTURHYllqaXp0YnEyRVl4aUVhZkVxMER3T3JTbFVyUVNVWDFmd1cwQTRnMndPK3lGeAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
key.pem: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBeWFIU1k3ay94WUF2UVpzajF5eU5XZDEyVGpGMmJWZWk1akRQVFBUODVQSWpnRTluCjdlTkVwOHhjNHVxaSt2eGR3cGpDK3JINWcwRmlWV1didFRMODh5ZEU0RFcvRVlYWHZWN0UxRUw1S2ptYk9oTDIKN3lDcE1PL3pmU1Q0Ly9Ea0xLT1pkODRHOExtZjdoU1FJd2w5K1N4dHJlbitFTklaR0QrQWs2dDZSc0FoY3dTeAptNmVzYmp3bGEwS21rSDFkS05OY00xcUYvanVPc3gxVlIxVHZGWjVRaWswUWJJeEtPVjc5UTBOYjExWUdqdGJ4CmpEZGRVRVNBUmVjNnBqelkxVG1TekRCWkc2b1dpNE81cmVjbmI3eDVsU3hMbUMyZDc2Y2pzU1YzSnowbkVlbFQKQ2tSNFZISFVVU2UrTnZiTUQ4K2FUeDRBTDlCNk92Wkh4NXRrNndJREFRQUJBb0lCQVFDMlp6emoyQmIzdlRHQwo0U3o0SUNhelVDUVJNcS9XMUx2YUQvZkl2NnYwRlpUR0k0OTZaZW1hL3NaY3hUU3haeElPMDVFM3B6OTRYUEx2CkhCOVRPWkFaQzhKRUxucnVDQzJWODZDT0FSUlUvWTRPYUUrWkhldlJDSkUxK2ZlRDJkRWhETkx0emFUN3FvRWkKcU5tSHlMTjhjWk83Qy80NkMwYUdhQlFTQXNONE1nWVVzYlpWWWNSUGpuQjhQWVJHenFqUSt6b3FRUHliZklhSQpGcFRMRTVQbDdQaG16dWZvK2dtdmUvcUtVYmI0Uk4yOGUyVVNtNUhIb1JFRy82TWY4TDlGa2ZIREZoRkpNRk42CmZYbUFEQzE2eWtRUmxFNmZXTlJMaUNpMFpvOGFiUHFzdHpmLzNyZlFkYXQzWVlGVnNlSDRwL3FaYnppWW5La0sKK01ZZ214dVJBb0dCQU9uUlBMVktVdmRiQUd6UG1sTElncm9KZEZZMlREdDc0dGR2Y1VTR1dYQllNTkd3MndQRApWOEsrYW00UkpML2ZZbXhGNXU3LzduSnRjL2xPWkp0R3ZTVmdwTXpvZ0dPSVpSaGsyT0JFUFROOE5QdTh5ZElzCklvdW5Ja1U5dU11ZGhnd1N0VHZiOXk0ajIrZ3RhRXgxQWtUcVgyQzR4YVN6WkNZaFh0dmVtL041QW9HQkFOekMKNVl2ZmNIL0pHbkpVZXQ2ako5WEpkTWZ6TkxNMzFiNHN2a0RYSDViVDZYak9JSE1UUmJIVUtvd0VOc3NDT1lsZwo1dGxnUk5iMUtZMXVPZE5CWUkzenp6aEFQVmgyNmo1R0dTQk1ldVN4RW9YQWpEeW0vWWNIL2xaRW51dW4ycmxaCjk4VUZ0Ylo4L1h3eUlaSllOUHJBNCtCb0FuczA1UTFUV0dJSGFyNkRBb0dCQUxDVW1ucDNkUXpscHY2R0VwQXUKYWJ2QjVDQXZ4WWF1MnZQRWNCQkdQa2wvOE82TDEvdVJqVGUvd25UNWNYMk9ZTEJRWWtWZzkxMW5sOHhTRGR6TwpvWTRXM0o3N2YrcXJXVjRBMjJFVFovejM4ck9qTWZBTjhORHpHZ2ljd25EVHVDWnFBb0VBY0Q1aVNuT2Z4MExtCm94NFV1bzg3TzloVXVtK3BpQkFZb0VKUkFvR0FDUFR6WVVod2hRN0F2dkRFaDNIeE5OQldwNklyZWpZQ3V4T1AKcUl2UjRVbTV5RWY4c3c2T0hsZndYZnZ4eVN6TzdzNzZyc2trSWVDU2pnVngzU3RpNG4rSTRjeGhjTXhxVnBwNwpmSDc5NFhkNXUrbURCeGJ6WkY0anFKWmlLRWVJTFVzRUxYODh6eW1sRXp2cGRzbVRaTFVjeWNjT2lyY3JyKzI0CndVbHh3RWNDZ1lBMVh3SjZwbWkrUGo5Mnd2MDVUZHBHcGk3NzE3N2prWXc3SGVMMklaZTFtcUVRRzZCNk0rR2oKMVcvMXVJSW0rdjAxMzdCeDBOVHRRVzQ0Y0VkZXF1TGpBQ0kzQUNLa3RrZVVHNFQvZzljZXM3RHBnckRDRThWQgpqaHUxZ1FEc3JKS3VXTVNRZmd6SjBSY0ZCTFk4dm44QzBOZHZpaG5YTkZLYUd2QjRKVjRCVEE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
type: Opaque`,
`
apiVersion: apiregistration.k8s.io/v1
kind: APIService
metadata:
name: v1alpha1.tap.linkerd.io
labels:
linkerd.io/control-plane-component: tap
linkerd.io/control-plane-ns: linkerd
spec:
group: tap.linkerd.io
version: v1alpha1
groupPriorityMinimum: 1000
versionPriority: 100
service:
name: linkerd-tap
namespace: linkerd
caBundle: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBclNvSURxUTZKT3M5Y29TNUtXcFZaMHc2NkNtVTNpbmJ3cHBJYkZKTDVWcW1hQTI2ClFKSmY2RXBkek5zdnhMcXhIeFRZY1o4c1FUb0MwNlg4ZmppVXZ2WUsxdU5KZVpkdzZzQU5YcE5nY2JEWkU5NksKWVo5NmZkSXVZWklPbjI5MVBVTUQ1ZnpaQVB1NGdUUEMwRzZXV1BPTmgzTE4vdGtJVnBIYk5HNm5ZNFZSRmFoRApmQ0xJZkxHam4vVzE2YkI1dmx1VW5SQTU3ekc5NldETXFkZElBcGxFeHYwNWpmMWRob01rdC9reTNwSDdjejV5CmJqbm1ielloZ2I3QWFHRWRQazd5WTk2aFpqMlc5eEF5N3c5RzhLYzhJL0NjT1cyZTU2eWtIOVRFOU1zdnBWaCsKVnlubG9RbkxnMVZ1VmpycG55RUQzOHhaTUNPQjl2ZjZJdWlQTHdJREFRQUJBb0lCQVFDbmdkVXhkS1BhT3NUQwpGcW1XNm9tYTF4N1VuZ1NudEE0bGZXRTVoNUpyVnZsS0JwMTVBUjlOY1VLemZBUUZaaU1ZVWUzZVczOVB5WElhCmtxSmc1eExjZHQyZGFWZ1dDdXpyNk1RR0RNSnF1QXdGTUd6a2FvVHZXWFlNWkdGSTBXU3owalBmTW13b2kxZTcKZy9xYjdaMzZoZjhPVzN2eFhyaTJKWG5LaW8vWnIvR2I3RUhRNllNQm8zSHJidHZNdWw4QWFhZG5jZFdySk95RgpuT1JXV0hjSVBNWmNpVjVEN3Bmd0p2MjFVTzJNellHVFBMdFVLT2o3bDlVRmxRcmRVcU9LZ2RRK041MEkyeGplCnJRb0p0RUtXcUlSSXh5ZTRXanB3bUtmektoc1JEMU10dkJSaFJMcEloWnlQMUZJdG9DNDVVdHJCUjQzUnNERTEKZ29mdm9IcWhBb0dCQU5LV0RIR3c1dFJvTFVFVGtYUWs5dllxeG9KU1lzNW1YcU9ReDliMUZoTFRJYm1qUkllUgpzOTR3WHJDL3l6QllzYTdJU2FxNjFyeU1zTG9ObXprK0VrQmxNb0VLM1h0aS9lUytxRHVubWVqR1NyeUJjTUxXClJGR0RvR2x4aW8ybXpRN2E2Um1MN012MFVBRGhhQWRNdHlqSXZsS21CSDVLRUtleTcyYklTbnJWQW9HQkFOS0MKQWdKTGdPQlFJRG00TmNYMk1ObHFXOC9SNnJLcWRhMjE3ODIzT1FtQm9weVFEcFVsN0xQQmw3M1pkcHAraDliUgpET3JvMFpPNjBLd0gvV2dMem1INHkvR3R1WC9SZjY5bkZEWndzOWdqREVIdFhrUW9MbEIvTUFFeDdJbitDMnVyClQvZjhVa3RLT29XbjRsQlZ5d2phNTJKZWRCdTZ4dWlGZ0JrSis1dnpBb0dBZkVuREhuYmlSZ3NXYW9vNkZ1cWEKTjhBWFdXTjJuWXNkNER2Yk5xdUFVNnY1QTYreENyS2NEazlPRTlPZkFQSFlMT2haVWtMajZuUysrWkIrUk5LMQp3dnYzU3VJMnhsUXV0WXN4ajhQanV0Y04xU1F3Z1U0bEZGY3puZ2c5VmsxVVNhZzZXN0dTR080aEtlUGZtaTlWCkN1VXdMMmQ4ejJ5M1Y4THNPU1dOaitFQ2dZRUFzY2lVMDhWYW1aZHlMKzB3bFBrZ05tNktEZEVXcTBBbFZNa2sKTnhQMyt0eGVMbVhIdXhVbGZJY1NsWWMwa0xRdUd6SEEvQ0FXNS9KTnpBeVBhckVWNDA1UlI5SlZxT3FSTU4wWQppQVhWRGNSRDFPWVl4KzA3ZUVhQ2oyL1BlcGR3bzhVeUs1a1JFMzhrUDc4UzlwQU9nbk1HR2VEMXBIbXhCYTNDCkN1T1FlUnNDZ1lBMVR0R3BQUTQ4QkJuUVBleU9DckZmUW1OeUZ0RXN4SjErMkZleFdJdjdTSGthZXVUWVVzajEKRDhGQytpbWlNZVFRcVJ1VjJjYVBjUXpxMEJaUVppd3YvcmhwRHlDcjkyYm5HQkx6d20zMG56UTJoMi9CNDRSSwprQzlkdWpNK2taZEJ5MFRWY1hrdzk4ZWlJeUFDaGd4RXVNWVFLb21rVW0xU2dxZkhpWmR6M1E9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=`,
`
apiVersion: v1
kind: Secret
metadata:
labels:
linkerd.io/control-plane-component: smi-metrics
linkerd.io/control-plane-ns: linkerd
name: linkerd-smi-metrics-tls
namespace: linkerd
data:
tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURIakNDQWdhZ0F3SUJBZ0lSQVB0aFhwTUZ2ekZOSm50UGc5Y2xMVkV3RFFZSktvWklodmNOQVFFTEJRQXcKS2pFb01DWUdBMVVFQXhNZmJHbHVhMlZ5WkMxemJXa3RiV1YwY21samN5NXNhVzVyWlhKa0xuTjJZekFlRncweQpNREF5TWpVeU1qRXpNVEJhRncweU1UQXlNalF5TWpFek1UQmFNQ294S0RBbUJnTlZCQU1USDJ4cGJtdGxjbVF0CmMyMXBMVzFsZEhKcFkzTXViR2x1YTJWeVpDNXpkbU13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXcKZ2dFS0FvSUJBUUN0S2dnT3BEb2s2ejF5aExrcGFsVm5URHJvS1pUZUtkdkNta2hzVWt2bFdxWm9EYnBBa2wvbwpTbDNNMnkvRXVyRWZGTmh4bnl4Qk9nTFRwZngrT0pTKzlnclc0MGw1bDNEcXdBMWVrMkJ4c05rVDNvcGhuM3A5CjBpNWhrZzZmYjNVOVF3UGwvTmtBKzdpQk04TFFicFpZODQySGNzMysyUWhXa2RzMGJxZGpoVkVWcUVOOElzaDgKc2FPZjliWHBzSG0rVzVTZEVEbnZNYjNwWU15cDEwZ0NtVVRHL1RtTi9WMkdneVMzK1RMZWtmdHpQbkp1T2VadgpOaUdCdnNCb1lSMCtUdkpqM3FGbVBaYjNFREx2RDBid3B6d2o4Snc1Ylo3bnJLUWYxTVQweXkrbFdINVhLZVdoCkNjdURWVzVXT3VtZklRUGZ6Rmt3STRIMjkvb2k2STh2QWdNQkFBR2pQekE5TUE0R0ExVWREd0VCL3dRRUF3SUYKb0RBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFRWUlLd1lCQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3QURBTgpCZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFRYXU2NUxLV0NYVHhtVXhmV0hpM0ROQXhZMDliSkxXRkc1T3Y1Q0Q4CmxPNEYyRXRwcXNuZjFBeDZpUGw5LzhpOEZEMnI3UUd2Sm9oYlFNYiszaG9QelFwL0ZpNFdXWXllSDBqRVNOMlIKcy95WmRnbWJaWWliRWRjcHNEUUVGcjZEM1BYSzJPYStWb3VvRWFNaktXd1RJUEFXeDZNNzZmaVRyMXVVSmN3Sgo1VXVKSmZzM0tqVW9aQTBQVkxlU2tzaFZscVJOVGZwUWl5MGY4cGVraTNxbjMyS1R3UWhIaFlsZjRTSitLZlplCklSdWZMRkxuOTh3bEVPWnhZdUhNNjZyTWJZU0NMdjNJTW1JOGxyemtFa3lBc01uc1FkVHovRHdud2FDdXVCakQKcFl5NTVlZG5CQ1NGM3lSVlp6K3RPd0F6UXk5cUwzdHM3UHFWanJjUk45WUFhdz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBclNvSURxUTZKT3M5Y29TNUtXcFZaMHc2NkNtVTNpbmJ3cHBJYkZKTDVWcW1hQTI2ClFKSmY2RXBkek5zdnhMcXhIeFRZY1o4c1FUb0MwNlg4ZmppVXZ2WUsxdU5KZVpkdzZzQU5YcE5nY2JEWkU5NksKWVo5NmZkSXVZWklPbjI5MVBVTUQ1ZnpaQVB1NGdUUEMwRzZXV1BPTmgzTE4vdGtJVnBIYk5HNm5ZNFZSRmFoRApmQ0xJZkxHam4vVzE2YkI1dmx1VW5SQTU3ekc5NldETXFkZElBcGxFeHYwNWpmMWRob01rdC9reTNwSDdjejV5CmJqbm1ielloZ2I3QWFHRWRQazd5WTk2aFpqMlc5eEF5N3c5RzhLYzhJL0NjT1cyZTU2eWtIOVRFOU1zdnBWaCsKVnlubG9RbkxnMVZ1VmpycG55RUQzOHhaTUNPQjl2ZjZJdWlQTHdJREFRQUJBb0lCQVFDbmdkVXhkS1BhT3NUQwpGcW1XNm9tYTF4N1VuZ1NudEE0bGZXRTVoNUpyVnZsS0JwMTVBUjlOY1VLemZBUUZaaU1ZVWUzZVczOVB5WElhCmtxSmc1eExjZHQyZGFWZ1dDdXpyNk1RR0RNSnF1QXdGTUd6a2FvVHZXWFlNWkdGSTBXU3owalBmTW13b2kxZTcKZy9xYjdaMzZoZjhPVzN2eFhyaTJKWG5LaW8vWnIvR2I3RUhRNllNQm8zSHJidHZNdWw4QWFhZG5jZFdySk95RgpuT1JXV0hjSVBNWmNpVjVEN3Bmd0p2MjFVTzJNellHVFBMdFVLT2o3bDlVRmxRcmRVcU9LZ2RRK041MEkyeGplCnJRb0p0RUtXcUlSSXh5ZTRXanB3bUtmektoc1JEMU10dkJSaFJMcEloWnlQMUZJdG9DNDVVdHJCUjQzUnNERTEKZ29mdm9IcWhBb0dCQU5LV0RIR3c1dFJvTFVFVGtYUWs5dllxeG9KU1lzNW1YcU9ReDliMUZoTFRJYm1qUkllUgpzOTR3WHJDL3l6QllzYTdJU2FxNjFyeU1zTG9ObXprK0VrQmxNb0VLM1h0aS9lUytxRHVubWVqR1NyeUJjTUxXClJGR0RvR2x4aW8ybXpRN2E2Um1MN012MFVBRGhhQWRNdHlqSXZsS21CSDVLRUtleTcyYklTbnJWQW9HQkFOS0MKQWdKTGdPQlFJRG00TmNYMk1ObHFXOC9SNnJLcWRhMjE3ODIzT1FtQm9weVFEcFVsN0xQQmw3M1pkcHAraDliUgpET3JvMFpPNjBLd0gvV2dMem1INHkvR3R1WC9SZjY5bkZEWndzOWdqREVIdFhrUW9MbEIvTUFFeDdJbitDMnVyClQvZjhVa3RLT29XbjRsQlZ5d2phNTJKZWRCdTZ4dWlGZ0JrSis1dnpBb0dBZkVuREhuYmlSZ3NXYW9vNkZ1cWEKTjhBWFdXTjJuWXNkNER2Yk5xdUFVNnY1QTYreENyS2NEazlPRTlPZkFQSFlMT2haVWtMajZuUysrWkIrUk5LMQp3dnYzU3VJMnhsUXV0WXN4ajhQanV0Y04xU1F3Z1U0bEZGY3puZ2c5VmsxVVNhZzZXN0dTR080aEtlUGZtaTlWCkN1VXdMMmQ4ejJ5M1Y4THNPU1dOaitFQ2dZRUFzY2lVMDhWYW1aZHlMKzB3bFBrZ05tNktEZEVXcTBBbFZNa2sKTnhQMyt0eGVMbVhIdXhVbGZJY1NsWWMwa0xRdUd6SEEvQ0FXNS9KTnpBeVBhckVWNDA1UlI5SlZxT3FSTU4wWQppQVhWRGNSRDFPWVl4KzA3ZUVhQ2oyL1BlcGR3bzhVeUs1a1JFMzhrUDc4UzlwQU9nbk1HR2VEMXBIbXhCYTNDCkN1T1FlUnNDZ1lBMVR0R3BQUTQ4QkJuUVBleU9DckZmUW1OeUZ0RXN4SjErMkZleFdJdjdTSGthZXVUWVVzajEKRDhGQytpbWlNZVFRcVJ1VjJjYVBjUXpxMEJaUVppd3YvcmhwRHlDcjkyYm5HQkx6d20zMG56UTJoMi9CNDRSSwprQzlkdWpNK2taZEJ5MFRWY1hrdzk4ZWlJeUFDaGd4RXVNWVFLb21rVW0xU2dxZkhpWmR6M1E9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
type: kubernetes.io/tls`,
},
"upgrade_two_level_webhook_cert.golden",
nil,
nil,
},
}
for i, tc := range testCases {
@ -1625,8 +2026,7 @@ data:
proxy: |
{"proxyImage":{"imageName":"gcr.io/linkerd-io/proxy","pullPolicy":"IfNotPresent"},"proxyInitImage":{"imageName":"gcr.io/linkerd-io/proxy-init","pullPolicy":"IfNotPresent"},"controlPort":{"port":4190},"ignoreInboundPorts":[],"ignoreOutboundPorts":[],"inboundPort":{"port":4143},"adminPort":{"port":4191},"outboundPort":{"port":4140},"resource":{"requestCpu":"","requestMemory":"","limitCpu":"","limitMemory":""},"proxyUid":"2102","logLevel":{"level":"warn,linkerd=info"},"disableExternalProfiles":true}
install: |
{"cliVersion":"edge-19.3.1","flags":[]}
`,
{"cliVersion":"edge-19.3.1","flags":[]}`,
`
apiVersion: v1
kind: Secret

50
go.sum
View File

@ -6,8 +6,6 @@ cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSR
contrib.go.opencensus.io/exporter/ocagent v0.6.0 h1:Z1n6UAyr0QwM284yUuh5Zd8JlvxUGAhFZcgMJkMPrGM=
contrib.go.opencensus.io/exporter/ocagent v0.6.0/go.mod h1:zmKjrJcdo0aYcVS7bmEeSEBLPA9YJp5bjrofdU3pIXs=
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8=
github.com/Azure/go-autorest v11.1.2+incompatible h1:viZ3tV5l4gE2Sw0xrasFHytCGtzYCrT+um/rrSQ1BfA=
github.com/Azure/go-autorest v11.1.2+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24=
github.com/Azure/go-autorest/autorest v0.9.0 h1:MRvx8gncNaXJqOoLmhNjUAKh33JJF8LyxPhomEtOsjs=
github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI=
github.com/Azure/go-autorest/autorest/adal v0.5.0 h1:q2gDruN08/guU9vAjuPWff0+QIrpH6ediguzdAzXAUU=
@ -15,6 +13,7 @@ github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEg
github.com/Azure/go-autorest/autorest/date v0.1.0 h1:YGrhWfrgtFs84+h0o46rJrlmsZtyZRg470CqAXTZaGM=
github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA=
github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=
github.com/Azure/go-autorest/autorest/mocks v0.2.0 h1:Ww5g4zThfD/6cLb4z6xxgeyDa7QDkizMkJKe0ysZXp0=
github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=
github.com/Azure/go-autorest/logger v0.1.0 h1:ruG4BSDXONFRrZZJ2GUXDiUyVpayPmb1GnWeHDdaNKY=
github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc=
@ -27,6 +26,7 @@ github.com/Masterminds/semver v1.4.2 h1:WBLTQ37jOCzSLtXNdoo8bNM8876KhNqOKvrlGITg
github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y=
github.com/Masterminds/sprig v2.17.1+incompatible h1:PChbxFGKTWsg9IWh+pSZRCSj3zQkVpL6Hd9uWsFwxtc=
github.com/Masterminds/sprig v2.17.1+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o=
github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46 h1:lsxEuwrXEAokXB9qhlbKWPpo3KMLZQ5WB5WLQRW1uq0=
github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
github.com/PuerkitoBio/purell v1.1.0 h1:rmGxhojJlM0tuKtfdvliR84CFHljx9ag64t2xmVkjK4=
@ -53,6 +53,7 @@ github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+Ce
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
github.com/blang/semver v3.5.0+incompatible h1:CGxCgetQ64DKk7rdZ++Vfnb1+ogGNnB17OJKJXD2Cfs=
github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
github.com/briandowns/spinner v0.0.0-20190212173954-5cf08d0ac778 h1:Dmz6bJXocvwkw7BOz4jpyVZReGrkjs+fBDWKn5tBES4=
github.com/briandowns/spinner v0.0.0-20190212173954-5cf08d0ac778/go.mod h1:hw/JEQBIE+c/BLI4aKM8UU8v+ZqrD3h7HC27kKt8JQU=
@ -72,8 +73,10 @@ github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHo
github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e h1:Wf6HqHfScWJN9/ZjdUKyjop4mf3Qdd+1TvvltAvM3m8=
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
github.com/coreos/pkg v0.0.0-20180108230652-97fdf19511ea h1:n2Ltr3SrfQlf/9nOna1DoGKxLx3qTSI8Ttl6Xrqp6mw=
github.com/coreos/pkg v0.0.0-20180108230652-97fdf19511ea/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk=
github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
@ -84,7 +87,6 @@ github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dgrijalva/jwt-go v0.0.0-20160705203006-01aeca54ebda/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM=
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
github.com/docker/docker v0.7.3-0.20190327010347-be7ac8be2ae0/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
@ -107,7 +109,6 @@ github.com/emicklei/proto v1.6.8 h1:TgJKjY0I1cec7Xtj0dJGnxXHP0TJRGaqGW44waWqaLA=
github.com/emicklei/proto v1.6.8/go.mod h1:Dqn751twH9SasYqvA59Lb9Hz+itoJgmMoivX6k7OPZc=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/evanphx/json-patch v0.0.0-20190203023257-5858425f7550/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
github.com/evanphx/json-patch v4.2.0+incompatible h1:fUDGZCv/7iAN7u0puUVhvKCcsR6vRfwrJatElLBEf0I=
github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
github.com/fatih/color v0.0.0-20180516100307-2d684516a886/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
@ -175,7 +176,6 @@ github.com/go-openapi/validate v0.19.5/go.mod h1:8DJv2CVJQ6kGNpFW6eV9N3JviE1C85n
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
github.com/gogo/protobuf v0.0.0-20171007142547-342cbe0a0415/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/gogo/protobuf v1.2.1 h1:/s5zKNz0uPFCZ5hddgPdo2TK2TVrUNMn0OOX8/aZMTE=
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
@ -197,7 +197,6 @@ github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs=
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/google/btree v0.0.0-20160524151835-7d79101e329e/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo=
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
@ -206,7 +205,6 @@ github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5a
github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
@ -220,14 +218,11 @@ github.com/googleapis/gnostic v0.2.0 h1:l6N3VoaVzTncYYW+9yOz2LJJammFZGBO13sqgEhp
github.com/googleapis/gnostic v0.2.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
github.com/googleapis/gnostic v0.3.1 h1:WeAefnSUHlBb0iJKwxFDZdbfGwkd7xRNuV+IpXMJhYk=
github.com/googleapis/gnostic v0.3.1/go.mod h1:on+2t9HRStVgn95RSsFWFz+6Q0Snyqv1awfrALZdbtU=
github.com/gophercloud/gophercloud v0.0.0-20190126172459-c818fa66e4c8 h1:L9JPKrtsHMQ4VCRQfHvbbHBfB2Urn8xf6QZeXZ+OrN4=
github.com/gophercloud/gophercloud v0.0.0-20190126172459-c818fa66e4c8/go.mod h1:3WdhXV3rUYy9p6AUW8d94kr+HS62Y4VL9mBnFxsD8q4=
github.com/gophercloud/gophercloud v0.1.0 h1:P/nh25+rzXouhytV2pUHBb65fnds26Ghl8/391+sT5o=
github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8=
github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
github.com/gorilla/websocket v1.4.0 h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q=
github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
github.com/gregjones/httpcache v0.0.0-20170728041850-787624de3eb7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
@ -252,7 +247,6 @@ github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NH
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/json-iterator/go v0.0.0-20180701071628-ab8a2e0c74be/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/json-iterator/go v1.1.6 h1:MrUvLMLTMxbqFJ9kzlvat/rYZqZnW3u4wkLzWTaFwKs=
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/json-iterator/go v1.1.7 h1:KfgG9LzI+pYjr4xvmz/5H4FXjokeP+rlHLhv3iH62Fo=
@ -276,12 +270,8 @@ github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/linkerd/linkerd2-proxy-api v0.1.12 h1:mP0UYjmemLI6Ru7m1HW3d9up5Bt9VRB9FsxRA8jy2IM=
github.com/linkerd/linkerd2-proxy-api v0.1.12/go.mod h1:2WJHEYXoww5ALM6c1QspRFiROGZg08tGxCO1js0tTVA=
github.com/linkerd/linkerd2-proxy-init v1.3.2 h1:bl+gwdBtHI0cki/urTyicxxb/ekQtVWJ6NDWzMXAgVs=
github.com/linkerd/linkerd2-proxy-init v1.3.2/go.mod h1:M6iaaLLi06ofuIV6x74SDknSFi7VS/MFqa5m+CwHgLY=
github.com/linkerd/linkerd2-proxy-init v1.3.3 h1:x561EUgmk5aJNDjE7UEEL0r9U4vtM2IK0thuDcSf81g=
github.com/linkerd/linkerd2-proxy-init v1.3.3/go.mod h1:M6iaaLLi06ofuIV6x74SDknSFi7VS/MFqa5m+CwHgLY=
github.com/linkerd/stern v0.0.0-20200316183041-1ab5375fb7e9 h1:xSfvUw8PVp+a+PBE8AYXiFjNcpE1p/KSpkza7KTm0F4=
github.com/linkerd/stern v0.0.0-20200316183041-1ab5375fb7e9/go.mod h1:5524WGXWpnoZQyBjmfLhuV17TkioMrtCaQD8zWKG6gQ=
github.com/linkerd/stern v0.0.0-20200331220320-37779ceb2c32 h1:BIdntxDGoVcFzrihrNcWjdjA92S28cl+/mOC7bsgb3c=
github.com/linkerd/stern v0.0.0-20200331220320-37779ceb2c32/go.mod h1:v4QTDhXOO0mNGP6O/O/jfh16kf2sWZaPvx324M0uZWY=
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
@ -315,8 +305,10 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN
github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus=
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw=
github.com/nsf/termbox-go v0.0.0-20180613055208-5c94acc5e6eb h1:YahEjAGkJtCrkqgVHhX6n8ZX+CZ3hDRL9fjLYugLfSs=
github.com/nsf/termbox-go v0.0.0-20180613055208-5c94acc5e6eb/go.mod h1:IuKpRQcYE1Tfu+oAQqaLisqDeXgjyyltCfsaoYN18NQ=
@ -329,8 +321,6 @@ github.com/onsi/ginkgo v1.10.1 h1:q/mM8GF/n0shIN8SaAZ0V+jnLPzen6WIVZdiwrRlMlo=
github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c h1:eSfnfIuwhxZyULg1NNuZycJcYkjYVGYe7FczwQReM6U=
github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
github.com/onsi/gomega v0.0.0-20190113212917-5533ce8a0da3 h1:EooPXg51Tn+xmWPXJUGCnJhJSpeuMlBmfJVcqIRmmv8=
github.com/onsi/gomega v0.0.0-20190113212917-5533ce8a0da3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/onsi/gomega v1.7.0 h1:XPnZz8VVBHjVsy1vzJmRwIcSwiUO+JFfrv/xGiigmME=
github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc=
@ -417,6 +407,7 @@ github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738 h1:VcrIfasaLFkyjk6KNlXQSzO+B0fZcnECiDrKJsfxka0=
go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg=
go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
@ -424,11 +415,13 @@ go.mongodb.org/mongo-driver v1.1.2/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qL
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
go.opencensus.io v0.22.0 h1:C9hSCOW830chIVkdja34wa6Ky+IzWllkUinR+BtRZd4=
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
go.uber.org/atomic v1.3.2 h1:2Oa65PReHzfn29GpvgsYwloV9AVFHPDk8tYxt2c2tr4=
go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
go.uber.org/multierr v1.1.0 h1:HoEmRHQPVSqub6w2z2d2EOVs2fjyFRGyofhKuyDq0QI=
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
go.uber.org/zap v1.10.0 h1:ORx85nbTijNz8ljznvCMR1ZBIPKFn3jQrag10X2AsuM=
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20181025213731-e84da0312774/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 h1:VklqNMn3ovrHsnt90PveolxSbWFaJdECFbxSq0Mqo2M=
@ -436,8 +429,6 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190829043050-9756ffdc2472 h1:Gv7RPwsi3eZ2Fgewe3CBsuOebPwO27PoXzRpJPsvSSM=
golang.org/x/crypto v0.0.0-20190829043050-9756ffdc2472/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975 h1:/Tl7pH94bvbAAHBdZJT947M/+gp0+CqQXDtMRC0fseo=
golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@ -459,7 +450,6 @@ golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73r
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190206173232-65e2d4e15006/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
@ -478,8 +468,6 @@ golang.org/x/net v0.0.0-20191004110552-13f9640d40b9 h1:rjwSpXsdiK0dV8/Naq3kAw9ym
golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a h1:tImsplftrFpALCYumobsd0K86vlAs/eXGFms2txfJfA=
golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@ -518,10 +506,8 @@ golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fq
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/time v0.0.0-20161028155119-f51c12702a4d/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 h1:SvFZT6jyqRaOeXpc5h/JSfZenJ2O330aBsf7JfSUXmQ=
@ -583,9 +569,9 @@ gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8
gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw=
gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
gopkg.in/inf.v0 v0.9.0/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8=
gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k=
gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
@ -604,23 +590,19 @@ honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWh
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
k8s.io/api v0.0.0-20190620084959-7cf5895f2711 h1:BblVYz/wE5WtBsD/Gvu54KyBUTJMflolzc5I2DTvh50=
k8s.io/api v0.0.0-20190620084959-7cf5895f2711/go.mod h1:TBhBqb1AWbBQbW3XRusr7n7E4v2+5ZY8r8sAMnyFC5A=
k8s.io/api v0.17.4 h1:HbwOhDapkguO8lTAE8OX3hdF2qp8GtpC9CW/MQATXXo=
k8s.io/api v0.17.4/go.mod h1:5qxx6vjmwUVG2nHQTKGlLts8Tbok8PzHl4vHtVFuZCA=
k8s.io/apiextensions-apiserver v0.17.4 h1:ZKFnw3cJrGZ/9s6y+DerTF4FL+dmK0a04A++7JkmMho=
k8s.io/apiextensions-apiserver v0.17.4/go.mod h1:rCbbbaFS/s3Qau3/1HbPlHblrWpFivoaLYccCffvQGI=
k8s.io/apimachinery v0.0.0-20190612205821-1799e75a0719 h1:uV4S5IB5g4Nvi+TBVNf3e9L4wrirlwYJ6w88jUQxTUw=
k8s.io/apimachinery v0.0.0-20190612205821-1799e75a0719/go.mod h1:I4A+glKBHiTgiEjQiCCQfCAIcIMFGt291SmsvcrFzJA=
k8s.io/apimachinery v0.17.4 h1:UzM+38cPUJnzqSQ+E1PY4YxMHIzQyCg29LOoGfo79Zw=
k8s.io/apimachinery v0.17.4/go.mod h1:gxLnyZcGNdZTCLnq3fgzyg2A5BVCHTNDFrw8AmuJ+0g=
k8s.io/apiserver v0.17.4 h1:bYc9LvDPEF9xAL3fhbDzqNOQOAnNF2ZYCrMW8v52/mE=
k8s.io/apiserver v0.17.4/go.mod h1:5ZDQ6Xr5MNBxyi3iUZXS84QOhZl+W7Oq2us/29c0j9I=
k8s.io/client-go v0.0.0-20190620085101-78d2af792bab h1:E8Fecph0qbNsAbijJJQryKu4Oi9QTp5cVpjTE+nqg6g=
k8s.io/client-go v0.0.0-20190620085101-78d2af792bab/go.mod h1:E95RaSlHr79aHaX0aGSwcPNfygDiPKOVXdmivCIZT0k=
k8s.io/client-go v0.17.4 h1:VVdVbpTY70jiNHS1eiFkUt7ZIJX3txd29nDxxXH4en8=
k8s.io/client-go v0.17.4/go.mod h1:ouF6o5pz3is8qU0/qYL2RnoxOPqgfuidYLowytyLJmc=
k8s.io/code-generator v0.17.4 h1:C3uu/IvQclEIO4ouUOXuoKWfc4765mYe0uebStg9CaY=
k8s.io/code-generator v0.17.4/go.mod h1:l8BLVwASXQZTo2xamW5mQNFCe1XPiAesVq7Y1t7PiQQ=
k8s.io/component-base v0.17.4 h1:H9cdWZyiGVJfWmWIcHd66IsNBWTk1iEgU7D4kJksEnw=
k8s.io/component-base v0.17.4/go.mod h1:5BRqHMbbQPm2kKu35v3G+CpVq4K0RJKC7TRioF0I9lE=
k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
k8s.io/gengo v0.0.0-20190822140433-26a664648505 h1:ZY6yclUKVbZ+SdWnkfY+Je5vrMpKOxmGeKRbsXVmqYM=
@ -631,17 +613,14 @@ k8s.io/helm v2.12.2+incompatible h1:xSDfcFN8X6lfMKWQB1GmU18pnzIthU+/c7kkcl8Xlb0=
k8s.io/helm v2.12.2+incompatible/go.mod h1:LZzlS4LQBHfciFOurYBFkCMTaZ0D1l+p0teMg7TSULI=
k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
k8s.io/klog v0.3.1/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8=
k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I=
k8s.io/kube-aggregator v0.17.4 h1:eAOfeLRkYCJTSTIJsT3rwmgCnT3wW8vk/t97iBXZUF8=
k8s.io/kube-aggregator v0.17.4/go.mod h1:SGdBtKUKFTag+k3GmG7o14OfsSmoDGwSHAdKtfA9sYc=
k8s.io/kube-openapi v0.0.0-20190228160746-b3a7cee44a30/go.mod h1:BXM9ceUBTj2QnfH2MK1odQs778ajze1RxcmP6S8RVVc=
k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a h1:UcxjrRMyNx/i/y8G7kPvLyy7rfbeuf1PYyBf973pgyU=
k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E=
k8s.io/kube-openapi v0.0.0-20200121204235-bf4fb3bd569c h1:/KUFqjjqAcY4Us6luF5RDNZ16KJtb49HfR3ZHB9qYXM=
k8s.io/kube-openapi v0.0.0-20200121204235-bf4fb3bd569c/go.mod h1:GRQhZsXIAJ1xR0C9bd8UpWHZ5plfAS9fzPjJuQ6JL3E=
k8s.io/utils v0.0.0-20190221042446-c2654d5206da/go.mod h1:8k8uAuAQ0rXslZKaEWd0c3oVhZz7sSzSiPnVZayjIX0=
k8s.io/utils v0.0.0-20191114184206-e782cd3c129f h1:GiPwtSzdP43eI1hpPCbROQCCIgCuiMMNF8YUVLF3vJo=
k8s.io/utils v0.0.0-20191114184206-e782cd3c129f/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw=
@ -653,6 +632,7 @@ sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e h1:4Z09Hglb
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
sigs.k8s.io/structured-merge-diff v1.0.1-0.20191108220359-b1b620dd3f06 h1:zD2IemQ4LmOcAumeiyDWXKUI2SO0NYDe3H6QGvPOVgU=
sigs.k8s.io/structured-merge-diff v1.0.1-0.20191108220359-b1b620dd3f06/go.mod h1:/ULNhyfzRopfcjskuui0cTITekDduZ7ycKN3oUT9R18=
sigs.k8s.io/structured-merge-diff/v3 v3.0.0-20200116222232-67a7b8c61874 h1:0KsuGbLhWdIxv5DA1OnbFz5hI/Co9kuxMfMUa5YsAHY=
sigs.k8s.io/structured-merge-diff/v3 v3.0.0-20200116222232-67a7b8c61874/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw=
sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=

View File

@ -186,12 +186,12 @@ type (
// Issuer has the Helm variables of the identity issuer
Issuer struct {
Scheme string `json:"scheme"`
ClockSkewAllowance string `json:"clockSkewAllowance"`
IssuanceLifetime string `json:"issuanceLifetime"`
CrtExpiryAnnotation string `json:"crtExpiryAnnotation"`
CrtExpiry time.Time `json:"crtExpiry"`
TLS *TLS `json:"tls"`
Scheme string `json:"scheme"`
ClockSkewAllowance string `json:"clockSkewAllowance"`
IssuanceLifetime string `json:"issuanceLifetime"`
CrtExpiryAnnotation string `json:"crtExpiryAnnotation"`
CrtExpiry time.Time `json:"crtExpiry"`
TLS *IssuerTLS `json:"tls"`
}
// PrometheusRuleConfigMapMount is a user supplied prometheus rule config maps.
@ -226,6 +226,15 @@ type (
// TLS has a pair of PEM-encoded key and certificate variables used in the
// Helm templates
TLS struct {
ExternalSecret bool `json:"externalSecret"`
KeyPEM string `json:"keyPEM"`
CrtPEM string `json:"crtPEM"`
CaBundle string `json:"caBundle"`
}
// IssuerTLS is a stripped down version of TLS that lacks the integral caBundle.
// It is tracked separately in the field 'global.IdentityTrustAnchorsPEM'
IssuerTLS struct {
KeyPEM string `json:"keyPEM"`
CrtPEM string `json:"crtPEM"`
}

View File

@ -105,7 +105,7 @@ func TestNewValues(t *testing.T) {
ClockSkewAllowance: "20s",
IssuanceLifetime: "86400s",
CrtExpiryAnnotation: "linkerd.io/identity-issuer-expiry",
TLS: &TLS{},
TLS: &IssuerTLS{},
Scheme: "linkerd.io/tls",
},
},

View File

@ -16,6 +16,7 @@ import (
"k8s.io/client-go/dynamic"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/rest"
apiregistration "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset"
// Load all the auth plugins for the cloud providers.
_ "k8s.io/client-go/plugin/pkg/client/auth"
@ -31,9 +32,10 @@ var minAPIVersion = [3]int{1, 13, 0}
type KubernetesAPI struct {
*rest.Config
kubernetes.Interface
Apiextensions apiextensionsclient.Interface // for CRDs
TsClient tsclient.Interface
DynamicClient dynamic.Interface
Apiextensions apiextensionsclient.Interface // for CRDs
Apiregistration apiregistration.Interface // for access to APIService
TsClient tsclient.Interface
DynamicClient dynamic.Interface
}
// NewAPI validates a Kubernetes config and returns a client for accessing the
@ -72,6 +74,10 @@ func NewAPIForConfig(config *rest.Config, impersonate string, impersonateGroup [
if err != nil {
return nil, fmt.Errorf("error configuring Kubernetes API Extensions clientset: %v", err)
}
aggregatorClient, err := apiregistration.NewForConfig(config)
if err != nil {
return nil, fmt.Errorf("error configuring Kubernetes API server aggregator: %v", err)
}
tsClient, err := tsclient.NewForConfig(config)
if err != nil {
return nil, fmt.Errorf("error configuring Traffic Split clientset: %v", err)
@ -82,11 +88,12 @@ func NewAPIForConfig(config *rest.Config, impersonate string, impersonateGroup [
}
return &KubernetesAPI{
Config: config,
Interface: clientset,
Apiextensions: apiextensions,
TsClient: tsClient,
DynamicClient: dynamicClient,
Config: config,
Interface: clientset,
Apiextensions: apiextensions,
Apiregistration: aggregatorClient,
TsClient: tsClient,
DynamicClient: dynamicClient,
}, nil
}

View File

@ -34,29 +34,31 @@ import (
// NewFakeAPI provides a mock KubernetesAPI backed by hard-coded resources
func NewFakeAPI(configs ...string) (*KubernetesAPI, error) {
client, apiextClient, _, _, _, err := NewFakeClientSets(configs...)
client, apiextClient, apiregClient, _, _, err := NewFakeClientSets(configs...)
if err != nil {
return nil, err
}
return &KubernetesAPI{
Config: &rest.Config{},
Interface: client,
Apiextensions: apiextClient,
Config: &rest.Config{},
Interface: client,
Apiextensions: apiextClient,
Apiregistration: apiregClient,
}, nil
}
// NewFakeAPIFromManifests reads from a slice of readers, each representing a
// manifest or collection of manifests, and returns a mock KubernetesAPI.
func NewFakeAPIFromManifests(readers []io.Reader) (*KubernetesAPI, error) {
client, apiextClient, _, _, _, err := newFakeClientSetsFromManifests(readers)
client, apiextClient, apiregClient, _, _, err := newFakeClientSetsFromManifests(readers)
if err != nil {
return nil, err
}
return &KubernetesAPI{
Interface: client,
Apiextensions: apiextClient,
Interface: client,
Apiextensions: apiextClient,
Apiregistration: apiregClient,
}, nil
}

View File

@ -301,9 +301,15 @@ const (
// TapServiceName is the name of the tap APIService
TapServiceName = "linkerd-tap"
// TapAPIRegistrationServiceName is the name of the tap APIService registration resource
TapAPIRegistrationServiceName = "v1alpha1.tap.linkerd.io"
// SmiMetricsServiceName is the name of the SMI metrics APIService
SmiMetricsServiceName = "linkerd-smi-metrics"
// SmiMetricsAPIRegistrationServiceName is the name of the SMI metrics APIService registration resource
SmiMetricsAPIRegistrationServiceName = "v1alpha1.metrics.smi-spec.io"
// AdmissionWebhookLabel indicates whether admission webhooks are enabled for a namespace
AdmissionWebhookLabel = ProxyConfigAnnotationsPrefix + "/admission-webhooks"