Repository: knative/client
Pull request #1330 (2021-05-27 03:13:31)

[main] Upgrade to latest dependencies
Cron -knative-prow-robot

/cc knative/client-wg-leads
/assign knative/client-wg-leads

Produced by: knative-sandbox/knobots/actions/update-deps

Details:
```
bumping knative.dev/pkg 980a337...79f8b3f:
  > 79f8b3f Auto-generate webhook certs with ECDSA for FIPS compliance (# 2136)
  > 3e1e4d7 Update community files (# 2137)
  > 803d2ba use more general kubernetes.Interface (# 2135)
  > 47dfdcf consolidate k8s flags to an environment package (# 2133)
  > 6484377 update boilerplate date (# 2134)
  > 35916ab Update actions (# 2132)
bumping knative.dev/networking 54039d7...bf0fc84:
  > bf0fc84 drop use of pkgtest.KubeClient (# 423)
  > 04feff3 upgrade to latest dependencies (# 426)
  > 7ded2e6 Update community files (# 427)
  > 443b181 Replace redirect code 302 with 301 (# 416)
  > 77a9c97 upgrade to latest dependencies (# 424)
  > 329cdb3 Update actions (# 422)
  > c90fe70 Remove deprecated cert and key field (# 414)
  > b81353d upgrade to latest dependencies (# 420)
bumping knative.dev/serving 9bb6349...c1051d9:
  > c1051d9 Update net-kourier nightly (# 11442)
  > 07e6fc1 Move schemapatch config here for easier access (# 11407)
  > fd235d8 Update net-contour nightly (# 11441)
  > d920d2a drop dependency on knative.dev/networking/test (# 11439)
  > 40a36e9 Update net-certmanager nightly (# 11435)
  > b417fc3 upgrade to latest dependencies (# 11437)
  > 248381d Update community files (# 11438)
  > 65929cc Update net-kourier nightly (# 11436)
  > d09e5e3 Update net-contour nightly (# 11434)
  > 526721f Improve readiness tests for exec case (# 11425)
  > a9aeafb Fix PerItem test flake (# 11430)
  > 64a0bb5 upgrade to latest dependencies (# 11433)
  > 620cb44 Update net-contour nightly (# 11428)
  > f89b0de Update net-certmanager nightly (# 11427)
  > b6fa655 Update net-kourier nightly (# 11426)
  > 27f036c Update net-certmanager nightly (# 11414)
  > f98b448 Use cert-manager API version to v1 for test resources (# 11424)
  > 27e330a Update net-contour nightly (# 11415)
  > df3b056 fix typo and redundant code (# 11419)
  > ecca088 Update actions (# 11421)
  > 4265285 upgrade to latest dependencies (# 11420)
  > 8a9bb8e upgrade to latest dependencies (# 11418)
  > 5d1672d Update net-kourier nightly (# 11417)
bumping knative.dev/eventing 6776718...49420f4:
  > 49420f4 Added broker.WithConfig (# 5461)
  > 66dbf4a Added tristate flags and changed experimental config map name (# 5459)
  > a4650e0 Update community files (# 5458)
  > d5f8b90 rekt/resources: support trigger annotations (# 5456)
  > d1106c8 [QE] Don't wait on triggers, before deploying their subscriber (# 5444)
  > 65bed40 Update actions (# 5438)
  > 0d129e4 Fix a broken link in experimental-features.md (# 5453)
  > b813a54 Remove camel as a downstream now that is deprecated (# 5449)
  > 9d1c35f drop use of deprecated sharedmain functions (# 5450)
  > 6e9588c Bump downstream job to go 1.16 (# 5448)
  > 5d3d12f Use a readiness probe to check apiserver adapter readiness (# 5446)
  > 674815e Remove unprintable characters from the deadLetterSink request header (# 5439)
  > 7678f90 upgrade to latest dependencies (# 5437)
  > 91d6079 Fix ordering in EventTransformation test (# 5435)
```

knative-prow-robot: [APPROVALNOTIFIER] This PR is **NOT APPROVED**

This pull-request has been approved by: *<a href="https://github.com/knative/client/pull/1330#" title="Author self-approved">knative-automation</a>*
To complete the [pull request process](https://git.k8s.io/community/contributors/guide/owners.md#the-code-review-process), please assign **richieescarez** after the PR has been reviewed.
You can assign the PR to them by writing `/assign @richieescarez` in a comment when ready.

The full list of commands accepted by this bot can be found [here](https://go.k8s.io/bot-commands?repo=knative%2Fclient).

<details open>
Needs approval from an approver in each of these files:

- **[OWNERS](https://github.com/knative/client/blob/main/OWNERS)**

Approvers can indicate their approval by writing `/approve` in a comment
Approvers can cancel approval by writing `/approve cancel` in a comment
</details>
<!-- META={"approvers":["richieescarez"]} -->
codecov[bot]: # [Codecov](https://codecov.io/gh/knative/client/pull/1330?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative) Report
> Merging [#1330](https://codecov.io/gh/knative/client/pull/1330?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative) (64d12ff) into [main](https://codecov.io/gh/knative/client/commit/350b2deffc0415c7d98144e315174f3c1c6d3549?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative) (350b2de) will **not change** coverage.
> The diff coverage is `n/a`.

[![Impacted file tree graph](https://codecov.io/gh/knative/client/pull/1330/graphs/tree.svg?width=650&height=150&src=pr&token=bkTp6BzJiV&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative)](https://codecov.io/gh/knative/client/pull/1330?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative)

```diff
@@           Coverage Diff           @@
##             main    #1330   +/-   ##
=======================================
  Coverage   72.97%   72.97%           
=======================================
  Files         160      160           
  Lines        8151     8151           
=======================================
  Hits         5948     5948           
  Misses       1476     1476           
  Partials      727      727           
```



------

[Continue to review full report at Codecov](https://codecov.io/gh/knative/client/pull/1330?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/knative/client/pull/1330?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative). Last update [350b2de...64d12ff](https://codecov.io/gh/knative/client/pull/1330?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative).

knative-prow-robot: @knative-automation: The following test **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-knative-client-integration-tests | 42fa6cfc12b7d7e41f1236548dfaa0ed17a16c04 | [link](https://prow.knative.dev/view/gs/knative-prow/pr-logs/pull/knative_client/1330/pull-knative-client-integration-tests/1399587334206263296) | `/test pull-knative-client-integration-tests`

[Full PR test history](https://gubernator.knative.dev/pr/knative_client/1330). [Your PR dashboard](https://gubernator.knative.dev/pr/knative-automation).

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
rhuss: /lgtm
/approve
knative-prow-robot: [APPROVALNOTIFIER] This PR is **APPROVED**

This pull-request has been approved by: *<a href="https://github.com/knative/client/pull/1330#" title="Author self-approved">knative-automation</a>*, *<a href="https://github.com/knative/client/pull/1330#issuecomment-852283284" title="Approved">rhuss</a>*

The full list of commands accepted by this bot can be found [here](https://go.k8s.io/bot-commands?repo=knative%2Fclient).

The pull request process is described [here](https://git.k8s.io/community/contributors/guide/owners.md#the-code-review-process)

<details >
Needs approval from an approver in each of these files:

- ~~[OWNERS](https://github.com/knative/client/blob/main/OWNERS)~~ [rhuss]

Approvers can indicate their approval by writing `/approve` in a comment
Approvers can cancel approval by writing `/approve cancel` in a comment
</details>
<!-- META={"approvers":[]} -->

Patch:
diff --git a/go.mod b/go.mod
index f79c9ac4..8c77940b 100644
--- a/go.mod
+++ b/go.mod
@@ -22,11 +22,11 @@ require (
 	k8s.io/cli-runtime v0.19.7
 	k8s.io/client-go v0.19.7
 	k8s.io/code-generator v0.19.7
-	knative.dev/eventing v0.23.1-0.20210526131927-67767182db70
+	knative.dev/eventing v0.23.1-0.20210601121637-49420f430b37
 	knative.dev/hack v0.0.0-20210428122153-93ad9129c268
-	knative.dev/networking v0.0.0-20210526080827-54039d7ef3b8
-	knative.dev/pkg v0.0.0-20210526081028-980a33719a10
-	knative.dev/serving v0.23.1-0.20210526104827-9bb6349509dc
+	knative.dev/networking v0.0.0-20210531192936-bf0fc8442924
+	knative.dev/pkg v0.0.0-20210601111137-79f8b3fe0343
+	knative.dev/serving v0.23.1-0.20210601144744-c1051d97d071
 	sigs.k8s.io/yaml v1.2.0
 )
 
diff --git a/go.sum b/go.sum
index 1045fe27..ba98e6fb 100644
--- a/go.sum
+++ b/go.sum
@@ -1299,23 +1299,24 @@ k8s.io/legacy-cloud-providers v0.19.7/go.mod h1:dsZk4gH9QIwAtHQ8CK0Ps257xlfgoXE3
 k8s.io/utils v0.0.0-20200729134348-d5654de09c73/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
 k8s.io/utils v0.0.0-20210111153108-fddb29f9d009 h1:0T5IaWHO3sJTEmCP6mUlBvMukxPKUQWqiI/YuiBNMiQ=
 k8s.io/utils v0.0.0-20210111153108-fddb29f9d009/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
-knative.dev/caching v0.0.0-20210525133838-9c0829407b5a/go.mod h1:BSrRn0kEQdanNx/DcqtLJ7WUWrtnCkYV1q83MNKsylc=
-knative.dev/eventing v0.23.1-0.20210526131927-67767182db70 h1:84u5TWi755x1kaZtSj1jpTVNDA971sbm7+M0Ls1liGg=
-knative.dev/eventing v0.23.1-0.20210526131927-67767182db70/go.mod h1:ujROQAd9W1c9GJ15mLO3PKwBnlcZciYv8eyE8yK6xTs=
+knative.dev/caching v0.0.0-20210531073633-7a5afaeb6c5c/go.mod h1:F+S9aum7EyVPSBUghmOh9dVg3hWNOdJYn5eZ2kh6m7I=
+knative.dev/eventing v0.23.1-0.20210601121637-49420f430b37 h1:4aDrV1Eqduv6ILDpunieIVMlf+IvnCcF5lZk7gfBYkE=
+knative.dev/eventing v0.23.1-0.20210601121637-49420f430b37/go.mod h1:O98GF8T8V+5PNRt275lwyZUk76d7kiOgoWr6UZhs3nE=
 knative.dev/hack v0.0.0-20210428122153-93ad9129c268 h1:lBIj9Epd9UQ55NEaHzAdY/UZbuaegCdGPKVC2+Z68Q0=
 knative.dev/hack v0.0.0-20210428122153-93ad9129c268/go.mod h1:PHt8x8yX5Z9pPquBEfIj0X66f8iWkWfR0S/sarACJrI=
 knative.dev/hack/schema v0.0.0-20210428122153-93ad9129c268/go.mod h1:ffjwmdcrH5vN3mPhO8RrF2KfNnbHeCE2C60A+2cv3U0=
-knative.dev/networking v0.0.0-20210520062317-b2552eca09f7/go.mod h1:y7RmP2/dHO/DAC1QmpUtgTVF6/Z8whaL+wjgey+HthU=
-knative.dev/networking v0.0.0-20210526080827-54039d7ef3b8 h1:sJ5uE/6SbtGmEQ9RtrQTOM0G42S8aSfOx1ZqS1/yg3k=
-knative.dev/networking v0.0.0-20210526080827-54039d7ef3b8/go.mod h1:1F8lPf/HoKqWioymMi8rrHCBH5jNiwgVCQA7Tu7cMjY=
+knative.dev/networking v0.0.0-20210531115832-443b181e6f1f/go.mod h1:uz3qq7Y/sPnTEreHs4RM7AS8NMjO19guYEw3zqaNIsI=
+knative.dev/networking v0.0.0-20210531192936-bf0fc8442924 h1:R5N0ScnJSHUzohfpI6/FxH0KemCNlka8JnZBdGzZYmU=
+knative.dev/networking v0.0.0-20210531192936-bf0fc8442924/go.mod h1:jvbI0NjVQgob6VuRuf0reBSQv07LUNaBRvAAR3NWd9I=
 knative.dev/pkg v0.0.0-20210510175900-4564797bf3b7/go.mod h1:fIl4l4OmZodkElyaHoT0LCF5wT+3+P/kinawQ4XlLtE=
-knative.dev/pkg v0.0.0-20210525071438-e2947dba201a/go.mod h1:fIl4l4OmZodkElyaHoT0LCF5wT+3+P/kinawQ4XlLtE=
-knative.dev/pkg v0.0.0-20210525142738-ea766de6bdd1/go.mod h1:nOD9XjvR+UuO1fHZSaOhfTWDCIz06crh1qQppgZDzR0=
-knative.dev/pkg v0.0.0-20210526081028-980a33719a10 h1:4tC0TcIx4EU6PCcRwdIiCWuKI3vpOgpQUrF1nUeF1t8=
 knative.dev/pkg v0.0.0-20210526081028-980a33719a10/go.mod h1:nOD9XjvR+UuO1fHZSaOhfTWDCIz06crh1qQppgZDzR0=
-knative.dev/reconciler-test v0.0.0-20210520170117-ffe49e0e092f/go.mod h1:ZHvzjwe5aUnWDx+u5y9EPaZ++5PM9Yapp/IvBDiS+Yk=
-knative.dev/serving v0.23.1-0.20210526104827-9bb6349509dc h1:ulaDbfV/6TCc1uosiC0Hu+hBTrHhCWjrBiGLiMCC/Vc=
-knative.dev/serving v0.23.1-0.20210526104827-9bb6349509dc/go.mod h1:BcI4aw+QgAYaqykBAo148Um9yLiHB4kHfZpvFJgiy1U=
+knative.dev/pkg v0.0.0-20210528203030-47dfdcfaedfd/go.mod h1:nOD9XjvR+UuO1fHZSaOhfTWDCIz06crh1qQppgZDzR0=
+knative.dev/pkg v0.0.0-20210531134432-803d2ba3ba15/go.mod h1:nOD9XjvR+UuO1fHZSaOhfTWDCIz06crh1qQppgZDzR0=
+knative.dev/pkg v0.0.0-20210601111137-79f8b3fe0343 h1:dNHDOdCCYqr+HtNOJbx4Gd/rxZLpKZeEow82Jjh+jgg=
+knative.dev/pkg v0.0.0-20210601111137-79f8b3fe0343/go.mod h1:nOD9XjvR+UuO1fHZSaOhfTWDCIz06crh1qQppgZDzR0=
+knative.dev/reconciler-test v0.0.0-20210526092928-e8f9d3453378/go.mod h1:ZHvzjwe5aUnWDx+u5y9EPaZ++5PM9Yapp/IvBDiS+Yk=
+knative.dev/serving v0.23.1-0.20210601144744-c1051d97d071 h1:IcNrUx6yzzQbTeZEriKgMoQIfT2HbNutEvQizDaW4GQ=
+knative.dev/serving v0.23.1-0.20210601144744-c1051d97d071/go.mod h1:CbJyoq22hqwwk3prIvl9wjI0WzEIaGKNDC197vsf+R8=
 modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw=
 modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk=
 modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k=
diff --git a/vendor/knative.dev/networking/pkg/apis/networking/v1alpha1/ingress_defaults.go b/vendor/knative.dev/networking/pkg/apis/networking/v1alpha1/ingress_defaults.go
index 74fa47db..3dcc697f 100644
--- a/vendor/knative.dev/networking/pkg/apis/networking/v1alpha1/ingress_defaults.go
+++ b/vendor/knative.dev/networking/pkg/apis/networking/v1alpha1/ingress_defaults.go
@@ -41,11 +41,7 @@ func (is *IngressSpec) SetDefaults(ctx context.Context) {
 }
 
 // SetDefaults populates default values in IngressTLS
-func (t *IngressTLS) SetDefaults(ctx context.Context) {
-	// Deprecated, do not use.
-	t.DeprecatedServerCertificate = ""
-	t.DeprecatedPrivateKey = ""
-}
+func (t *IngressTLS) SetDefaults(ctx context.Context) {}
 
 // SetDefaults populates default values in IngressRule
 func (r *IngressRule) SetDefaults(ctx context.Context) {
diff --git a/vendor/knative.dev/networking/pkg/apis/networking/v1alpha1/ingress_types.go b/vendor/knative.dev/networking/pkg/apis/networking/v1alpha1/ingress_types.go
index 7a69bd3a..5f732d4d 100644
--- a/vendor/knative.dev/networking/pkg/apis/networking/v1alpha1/ingress_types.go
+++ b/vendor/knative.dev/networking/pkg/apis/networking/v1alpha1/ingress_types.go
@@ -152,16 +152,6 @@ type IngressTLS struct {
 
 	// SecretNamespace is the namespace of the secret used to terminate SSL traffic.
 	SecretNamespace string `json:"secretNamespace,omitempty"`
-
-	// ServerCertificate identifies the certificate filename in the secret.
-	// Defaults to `tls.crt`.
-	// +optional
-	DeprecatedServerCertificate string `json:"serverCertificate,omitempty"`
-
-	// PrivateKey identifies the private key filename in the secret.
-	// Defaults to `tls.key`.
-	// +optional
-	DeprecatedPrivateKey string `json:"privateKey,omitempty"`
 }
 
 // IngressRule represents the rules mapping the paths under a specified host to
diff --git a/vendor/knative.dev/pkg/apis/duck/v1/zz_generated.deepcopy.go b/vendor/knative.dev/pkg/apis/duck/v1/zz_generated.deepcopy.go
index f4da6604..ae98f046 100644
--- a/vendor/knative.dev/pkg/apis/duck/v1/zz_generated.deepcopy.go
+++ b/vendor/knative.dev/pkg/apis/duck/v1/zz_generated.deepcopy.go
@@ -1,7 +1,7 @@
 // +build !ignore_autogenerated
 
 /*
-Copyright 2020 The Knative Authors
+Copyright 2021 The Knative Authors
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/vendor/knative.dev/pkg/apis/duck/v1beta1/zz_generated.deepcopy.go b/vendor/knative.dev/pkg/apis/duck/v1beta1/zz_generated.deepcopy.go
index d22c6724..ad548645 100644
--- a/vendor/knative.dev/pkg/apis/duck/v1beta1/zz_generated.deepcopy.go
+++ b/vendor/knative.dev/pkg/apis/duck/v1beta1/zz_generated.deepcopy.go
@@ -1,7 +1,7 @@
 // +build !ignore_autogenerated
 
 /*
-Copyright 2020 The Knative Authors
+Copyright 2021 The Knative Authors
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/vendor/knative.dev/pkg/apis/zz_generated.deepcopy.go b/vendor/knative.dev/pkg/apis/zz_generated.deepcopy.go
index e2b84acd..1e060d9e 100644
--- a/vendor/knative.dev/pkg/apis/zz_generated.deepcopy.go
+++ b/vendor/knative.dev/pkg/apis/zz_generated.deepcopy.go
@@ -1,7 +1,7 @@
 // +build !ignore_autogenerated
 
 /*
-Copyright 2020 The Knative Authors
+Copyright 2021 The Knative Authors
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/vendor/knative.dev/pkg/client/injection/ducks/duck/v1/addressable/addressable.go b/vendor/knative.dev/pkg/client/injection/ducks/duck/v1/addressable/addressable.go
index 09a21e06..d40153e9 100644
--- a/vendor/knative.dev/pkg/client/injection/ducks/duck/v1/addressable/addressable.go
+++ b/vendor/knative.dev/pkg/client/injection/ducks/duck/v1/addressable/addressable.go
@@ -1,5 +1,5 @@
 /*
-Copyright 2020 The Knative Authors
+Copyright 2021 The Knative Authors
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/vendor/knative.dev/pkg/environment/client_config.go b/vendor/knative.dev/pkg/environment/client_config.go
new file mode 100644
index 00000000..604f82ff
--- /dev/null
+++ b/vendor/knative.dev/pkg/environment/client_config.go
@@ -0,0 +1,105 @@
+/*
+Copyright 2021 The Knative Authors
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package environment
+
+import (
+	"errors"
+	"flag"
+	"fmt"
+	"math"
+	"os"
+
+	"k8s.io/client-go/rest"
+	"k8s.io/client-go/tools/clientcmd"
+	clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
+)
+
+// ClientConfig holds the information about the environment and can be configured with flags
+type ClientConfig struct {
+	Cluster    string  // K8s cluster (defaults to cluster in kubeconfig)
+	ServerURL  string  // ServerURL - The address of the Kubernetes API server. Overrides any value in kubeconfig.
+	Burst      int     // Burst - Maximum burst for throttle.
+	QPS        float64 // QPS - Maximum QPS to the server from the client.
+	Kubeconfig string  // Kubeconfig - Path to a kubeconfig. Current casing is present for backwards compatibility
+}
+
+func (c *ClientConfig) InitFlags(fs *flag.FlagSet) {
+	fs.StringVar(&c.Cluster, "cluster", "", "Defaults to the current cluster in kubeconfig.")
+
+	fs.StringVar(&c.ServerURL, "server", "",
+		"The address of the Kubernetes API server. Overrides any value in kubeconfig. Only required if out-of-cluster.")
+
+	fs.StringVar(&c.Kubeconfig, "kubeconfig", os.Getenv("KUBECONFIG"),
+		"Path to a kubeconfig. Only required if out-of-cluster.")
+
+	fs.IntVar(&c.Burst, "kube-api-burst", 0, "Maximum burst for throttle.")
+
+	fs.Float64Var(&c.QPS, "kube-api-qps", 0, "Maximum QPS to the server from the client.")
+}
+
+func (c *ClientConfig) GetRESTConfig() (*rest.Config, error) {
+	if c.Burst < 0 {
+		return nil, fmt.Errorf("provided burst value %d must be > 0", c.Burst)
+	}
+	if c.QPS < 0 || c.QPS > math.MaxFloat32 {
+		return nil, fmt.Errorf("provided QPS value %f must be >0 and <3.4+e38", c.QPS)
+	}
+
+	// If we have an explicit indication of where the kubernetes config lives, read that.
+	if c.Kubeconfig != "" {
+		return c.configFromPath(c.Kubeconfig)
+	}
+
+	// If not, try the in-cluster config.
+	if rc, err := rest.InClusterConfig(); err == nil {
+		return c.applyOverrides(rc), nil
+	}
+
+	// If no in-cluster config, try the default location in the user's home directory.
+	if c, err := c.configFromPath(clientcmd.RecommendedHomeFile); err == nil {
+		return c, nil
+	}
+
+	return nil, errors.New("could not create a valid kubeconfig")
+}
+
+func (c *ClientConfig) configFromPath(path string) (*rest.Config, error) {
+	overrides := &clientcmd.ConfigOverrides{}
+
+	if c.Cluster != "" {
+		overrides.Context = clientcmdapi.Context{Cluster: c.Cluster}
+	} else if c.ServerURL != "" {
+		overrides.ClusterInfo = clientcmdapi.Cluster{Server: c.ServerURL}
+	}
+
+	config, err := clientcmd.NewNonInteractiveDeferredLoadingClientConfig(
+		&clientcmd.ClientConfigLoadingRules{ExplicitPath: path},
+		overrides,
+	).ClientConfig()
+
+	if err != nil {
+		return nil, err
+	}
+
+	return c.applyOverrides(config), nil
+}
+
+func (c *ClientConfig) applyOverrides(restCfg *rest.Config) *rest.Config {
+	restCfg.QPS = float32(c.QPS)
+	restCfg.Burst = c.Burst
+	return restCfg
+}
diff --git a/vendor/knative.dev/pkg/injection/config.go b/vendor/knative.dev/pkg/injection/config.go
index 2f1aab41..f54f84b4 100644
--- a/vendor/knative.dev/pkg/injection/config.go
+++ b/vendor/knative.dev/pkg/injection/config.go
@@ -17,102 +17,34 @@ limitations under the License.
 package injection
 
 import (
-	"errors"
 	"flag"
 	"log"
-	"math"
-	"os"
-	"sync"
 
 	"k8s.io/client-go/rest"
-	"k8s.io/client-go/tools/clientcmd"
 	"k8s.io/klog"
+	"knative.dev/pkg/environment"
 )
 
-// Environment holds the config for flag based config.
-type Environment struct {
-	// ServerURL - The address of the Kubernetes API server. Overrides any value in kubeconfig.
-	ServerURL string
-	// Kubeconfig - Path to a kubeconfig.
-	Kubeconfig string // Note: named Kubeconfig because of legacy reasons vs KubeConfig.
-	// Burst - Maximum burst for throttle.
-	Burst int
-	// QPS - Maximum QPS to the server from the client.
-	QPS float64
-}
-
-var (
-	env  *Environment
-	once sync.Once
-)
-
-func Flags() *Environment {
-	once.Do(func() {
-		env = new(Environment)
-
-		flag.StringVar(&env.ServerURL, "server", "",
-			"The address of the Kubernetes API server. Overrides any value in kubeconfig. Only required if out-of-cluster.")
-
-		flag.StringVar(&env.Kubeconfig, "kubeconfig", os.Getenv("KUBECONFIG"),
-			"Path to a kubeconfig. Only required if out-of-cluster.")
-
-		flag.IntVar(&env.Burst, "kube-api-burst", 0, "Maximum burst for throttle.")
-
-		flag.Float64Var(&env.QPS, "kube-api-qps", 0, "Maximum QPS to the server from the client.")
-	})
-	return env
-}
-
 // ParseAndGetRESTConfigOrDie parses the rest config flags and creates a client or
 // dies by calling log.Fatalf.
 func ParseAndGetRESTConfigOrDie() *rest.Config {
-	env := Flags()
-
+	env := new(environment.ClientConfig)
+	env.InitFlags(flag.CommandLine)
 	klog.InitFlags(flag.CommandLine)
 	flag.Parse()
-	if env.Burst < 0 {
-		log.Fatal("Invalid burst value", env.Burst)
-	}
-	if env.QPS < 0 || env.QPS > math.MaxFloat32 {
-		log.Fatal("Invalid QPS value", env.QPS)
-	}
-
-	cfg, err := GetRESTConfig(env.ServerURL, env.Kubeconfig)
+	cfg, err := env.GetRESTConfig()
 	if err != nil {
 		log.Fatal("Error building kubeconfig: ", err)
 	}
-
-	cfg.Burst = env.Burst
-	cfg.QPS = float32(env.QPS)
-
 	return cfg
 }
 
 // GetRESTConfig returns a rest.Config to be used for kubernetes client creation.
-// It does so in the following order:
-//   1. Use the passed kubeconfig/serverURL.
-//   2. Fallback to the KUBECONFIG environment variable.
-//   3. Fallback to in-cluster config.
-//   4. Fallback to the ~/.kube/config.
+// Deprecated: use environment.ClientConfig package
 func GetRESTConfig(serverURL, kubeconfig string) (*rest.Config, error) {
-	// If we have an explicit indication of where the kubernetes config lives, read that.
-	if kubeconfig != "" {
-		c, err := clientcmd.BuildConfigFromFlags(serverURL, kubeconfig)
-		if err != nil {
-			return nil, err
-		}
-		return c, nil
+	env := environment.ClientConfig{
+		Kubeconfig: kubeconfig,
+		ServerURL:  serverURL,
 	}
-
-	// If not, try the in-cluster config.
-	if c, err := rest.InClusterConfig(); err == nil {
-		return c, nil
-	}
-
-	// If no in-cluster config, try the default location in the user's home directory.
-	if c, err := clientcmd.BuildConfigFromFlags("", clientcmd.RecommendedHomeFile); err == nil {
-		return c, nil
-	}
-
-	return nil, errors.New("could not create a valid kubeconfig")
+	return env.GetRESTConfig()
 }
diff --git a/vendor/knative.dev/pkg/logging/zz_generated.deepcopy.go b/vendor/knative.dev/pkg/logging/zz_generated.deepcopy.go
index 53345202..79d26075 100644
--- a/vendor/knative.dev/pkg/logging/zz_generated.deepcopy.go
+++ b/vendor/knative.dev/pkg/logging/zz_generated.deepcopy.go
@@ -1,7 +1,7 @@
 // +build !ignore_autogenerated
 
 /*
-Copyright 2020 The Knative Authors
+Copyright 2021 The Knative Authors
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/vendor/knative.dev/pkg/metrics/zz_generated.deepcopy.go b/vendor/knative.dev/pkg/metrics/zz_generated.deepcopy.go
index 822bb4db..d9024668 100644
--- a/vendor/knative.dev/pkg/metrics/zz_generated.deepcopy.go
+++ b/vendor/knative.dev/pkg/metrics/zz_generated.deepcopy.go
@@ -1,7 +1,7 @@
 // +build !ignore_autogenerated
 
 /*
-Copyright 2020 The Knative Authors
+Copyright 2021 The Knative Authors
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/vendor/knative.dev/pkg/tracker/zz_generated.deepcopy.go b/vendor/knative.dev/pkg/tracker/zz_generated.deepcopy.go
index 9494168c..3b3e7a17 100644
--- a/vendor/knative.dev/pkg/tracker/zz_generated.deepcopy.go
+++ b/vendor/knative.dev/pkg/tracker/zz_generated.deepcopy.go
@@ -1,7 +1,7 @@
 // +build !ignore_autogenerated
 
 /*
-Copyright 2020 The Knative Authors
+Copyright 2021 The Knative Authors
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/vendor/knative.dev/serving/pkg/apis/serving/fieldmask.go b/vendor/knative.dev/serving/pkg/apis/serving/fieldmask.go
index 337db5b3..2f23cf2c 100644
--- a/vendor/knative.dev/serving/pkg/apis/serving/fieldmask.go
+++ b/vendor/knative.dev/serving/pkg/apis/serving/fieldmask.go
@@ -14,6 +14,9 @@ See the License for the specific language governing permissions and
 limitations under the License.
 */
 
+// Note: Please update `hack/schemapatch-config.yaml` and run `hack/update-schemas.sh` whenever
+// fields are added or removed here.
+
 package serving
 
 import (
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 929b03f5..0552f2ae 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -768,7 +768,7 @@ k8s.io/kube-openapi/pkg/util/sets
 k8s.io/utils/buffer
 k8s.io/utils/integer
 k8s.io/utils/trace
-# knative.dev/eventing v0.23.1-0.20210526131927-67767182db70
+# knative.dev/eventing v0.23.1-0.20210601121637-49420f430b37
 ## explicit
 knative.dev/eventing/pkg/apis/config
 knative.dev/eventing/pkg/apis/duck
@@ -796,12 +796,12 @@ knative.dev/eventing/pkg/client/clientset/versioned/typed/sources/v1beta2/fake
 # knative.dev/hack v0.0.0-20210428122153-93ad9129c268
 ## explicit
 knative.dev/hack
-# knative.dev/networking v0.0.0-20210526080827-54039d7ef3b8
+# knative.dev/networking v0.0.0-20210531192936-bf0fc8442924
 ## explicit
 knative.dev/networking/pkg
 knative.dev/networking/pkg/apis/networking
 knative.dev/networking/pkg/apis/networking/v1alpha1
-# knative.dev/pkg v0.0.0-20210526081028-980a33719a10
+# knative.dev/pkg v0.0.0-20210601111137-79f8b3fe0343
 ## explicit
 knative.dev/pkg/apis
 knative.dev/pkg/apis/duck
@@ -815,6 +815,7 @@ knative.dev/pkg/codegen/cmd/injection-gen/args
 knative.dev/pkg/codegen/cmd/injection-gen/generators
 knative.dev/pkg/configmap
 knative.dev/pkg/controller
+knative.dev/pkg/environment
 knative.dev/pkg/hack
 knative.dev/pkg/hash
 knative.dev/pkg/injection
@@ -834,7 +835,7 @@ knative.dev/pkg/resolver
 knative.dev/pkg/signals
 knative.dev/pkg/system
 knative.dev/pkg/test
-knative.dev/pkg/test/flags
+knative.dev/pkg/test/environment
 knative.dev/pkg/test/ingress
 knative.dev/pkg/test/logging
 knative.dev/pkg/test/monitoring
@@ -844,7 +845,7 @@ knative.dev/pkg/tracing/config
 knative.dev/pkg/tracing/propagation
 knative.dev/pkg/tracing/propagation/tracecontextb3
 knative.dev/pkg/tracker
-# knative.dev/serving v0.23.1-0.20210526104827-9bb6349509dc
+# knative.dev/serving v0.23.1-0.20210601144744-c1051d97d071
 ## explicit
 knative.dev/serving/pkg/apis/autoscaling
 knative.dev/serving/pkg/apis/autoscaling/v1alpha1


Test patch:
diff --git a/vendor/knative.dev/pkg/test/README.md b/vendor/knative.dev/pkg/test/README.md
index c5607087..d54c9ae2 100644
--- a/vendor/knative.dev/pkg/test/README.md
+++ b/vendor/knative.dev/pkg/test/README.md
@@ -54,7 +54,7 @@ and tests can pass in `t.Logf` like this:
 
 ```go
 _, err = pkgTest.WaitForEndpointState(
-    clients.KubeClient,
+    kubeClient,
     t.Logf,
     ...),
 ```
diff --git a/vendor/knative.dev/pkg/test/clients.go b/vendor/knative.dev/pkg/test/clients.go
index e35a3904..37301ae4 100644
--- a/vendor/knative.dev/pkg/test/clients.go
+++ b/vendor/knative.dev/pkg/test/clients.go
@@ -23,8 +23,6 @@ import (
 	"fmt"
 	"strings"
 
-	"knative.dev/pkg/test/flags"
-
 	corev1 "k8s.io/api/core/v1"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"k8s.io/client-go/kubernetes"
@@ -44,8 +42,8 @@ type KubeClient struct {
 // NewSpoofingClient returns a spoofing client to make requests
 func NewSpoofingClient(ctx context.Context, client kubernetes.Interface, logf logging.FormatLogger,
 	domain string, resolvable bool, opts ...spoof.TransportOption) (*spoof.SpoofingClient, error) {
-	return spoof.New(ctx, client, logf, domain, resolvable, flags.Flags().IngressEndpoint,
-		flags.Flags().SpoofRequestInterval, flags.Flags().SpoofRequestTimeout, opts...)
+	return spoof.New(ctx, client, logf, domain, resolvable, Flags.IngressEndpoint,
+		Flags.SpoofRequestInterval, Flags.SpoofRequestTimeout, opts...)
 }
 
 // NewKubeClient instantiates and returns several clientsets required for making request to the
diff --git a/vendor/knative.dev/pkg/test/e2e_flags.go b/vendor/knative.dev/pkg/test/e2e_flags.go
index d7233255..648cb88d 100644
--- a/vendor/knative.dev/pkg/test/e2e_flags.go
+++ b/vendor/knative.dev/pkg/test/e2e_flags.go
@@ -22,12 +22,11 @@ package test
 import (
 	"bytes"
 	"flag"
-	"os/user"
-	"path/filepath"
 	"text/template"
 
-	"knative.dev/pkg/injection"
-	testflags "knative.dev/pkg/test/flags"
+	"k8s.io/client-go/tools/clientcmd"
+	env "knative.dev/pkg/environment"
+	testenv "knative.dev/pkg/test/environment"
 	"knative.dev/pkg/test/logging"
 )
 
@@ -41,25 +40,21 @@ var (
 // EnvironmentFlags define the flags that are needed to run the e2e tests.
 // Deprecated: use test/flags.Flags() or injection.Flags()
 type EnvironmentFlags struct {
-	*injection.Environment
-	*testflags.TestEnvironment
+	env.ClientConfig
+	testenv.TestClientConfig
 }
 
 func initializeFlags() *EnvironmentFlags {
 	f := new(EnvironmentFlags)
 
-	testflags.InitFlags(flag.CommandLine)
-
-	f.TestEnvironment = testflags.Flags()
-	f.Environment = injection.Flags()
+	f.ClientConfig.InitFlags(flag.CommandLine)
+	f.TestClientConfig.InitFlags(flag.CommandLine)
 
 	// We want to do this defaulting for tests only. The flags are reused between tests
 	// and production code and we want to make sure that production code defaults to
 	// the in-cluster config correctly.
-	if f.Environment.Kubeconfig == "" {
-		if usr, err := user.Current(); err == nil {
-			f.Environment.Kubeconfig = filepath.Join(usr.HomeDir, ".kube", "config")
-		}
+	if f.Kubeconfig == "" {
+		f.Kubeconfig = clientcmd.RecommendedHomeFile
 	}
 
 	return f
@@ -73,7 +68,7 @@ func SetupLoggingFlags() {
 
 // ImagePath is a helper function to transform an image name into an image reference that can be pulled.
 func ImagePath(name string) string {
-	tpl, err := template.New("image").Parse(testflags.Flags().ImageTemplate)
+	tpl, err := template.New("image").Parse(Flags.ImageTemplate)
 	if err != nil {
 		panic("could not parse image template: " + err.Error())
 	}
@@ -84,9 +79,9 @@ func ImagePath(name string) string {
 		Name       string
 		Tag        string
 	}{
-		Repository: testflags.Flags().DockerRepo,
+		Repository: Flags.DockerRepo,
 		Name:       name,
-		Tag:        testflags.Flags().Tag,
+		Tag:        Flags.Tag,
 	}); err != nil {
 		panic("could not apply the image template: " + err.Error())
 	}
diff --git a/vendor/knative.dev/pkg/test/flags/e2e_flags.go b/vendor/knative.dev/pkg/test/environment/config.go
similarity index 59%
rename from vendor/knative.dev/pkg/test/flags/e2e_flags.go
rename to vendor/knative.dev/pkg/test/environment/config.go
index fc9032a7..39cfe901 100644
--- a/vendor/knative.dev/pkg/test/flags/e2e_flags.go
+++ b/vendor/knative.dev/pkg/test/environment/config.go
@@ -25,9 +25,8 @@ import (
 	"time"
 )
 
-// TestEnvironment define the config that are needed to run the e2e tests.
-type TestEnvironment struct {
-	Cluster              string        // K8s cluster (defaults to cluster in kubeconfig)
+// TestClientConfig defines propertis about the test environment
+type TestClientConfig struct {
 	Namespace            string        // K8s namespace (blank by default, to be overwritten by test suite)
 	IngressEndpoint      string        // Host to use for ingress endpoint
 	ImageTemplate        string        // Template to build the image reference (defaults to {{.Repository}}/{{.Name}}:{{.Tag}})
@@ -37,43 +36,25 @@ type TestEnvironment struct {
 	SpoofRequestTimeout  time.Duration // SpoofRequestTimeout is the timeout for polling requests in SpoofingClient
 }
 
-var f *TestEnvironment
-
 // InitFlags is for explicitly initializing the flags.
-func InitFlags(flagset *flag.FlagSet) {
-	if flagset == nil {
-		flagset = flag.CommandLine
-	}
-
-	f = new(TestEnvironment)
-
-	flagset.StringVar(&f.Cluster, "cluster", "",
-		"Provide the cluster to test against. Defaults to the current cluster in kubeconfig.")
-
-	flagset.StringVar(&f.Namespace, "namespace", "",
+func (c *TestClientConfig) InitFlags(fs *flag.FlagSet) {
+	fs.StringVar(&c.Namespace, "namespace", "",
 		"Provide the namespace you would like to use for these tests.")
 
-	flagset.StringVar(&f.IngressEndpoint, "ingressendpoint", "", "Provide a static endpoint url to the ingress server used during tests.")
+	fs.StringVar(&c.IngressEndpoint, "ingressendpoint", "", "Provide a static endpoint url to the ingress server used during tests.")
 
-	flagset.StringVar(&f.ImageTemplate, "imagetemplate", "{{.Repository}}/{{.Name}}:{{.Tag}}",
+	fs.StringVar(&c.ImageTemplate, "imagetemplate", "{{.Repository}}/{{.Name}}:{{.Tag}}",
 		"Provide a template to generate the reference to an image from the test. Defaults to `{{.Repository}}/{{.Name}}:{{.Tag}}`.")
 
-	flagset.DurationVar(&f.SpoofRequestInterval, "spoofinterval", 1*time.Second,
+	fs.DurationVar(&c.SpoofRequestInterval, "spoofinterval", 1*time.Second,
 		"Provide an interval between requests for the SpoofingClient")
 
-	flagset.DurationVar(&f.SpoofRequestTimeout, "spooftimeout", 5*time.Minute,
+	fs.DurationVar(&c.SpoofRequestTimeout, "spooftimeout", 5*time.Minute,
 		"Provide a request timeout for the SpoofingClient")
 
 	defaultRepo := os.Getenv("KO_DOCKER_REPO")
-	flagset.StringVar(&f.DockerRepo, "dockerrepo", defaultRepo,
+	fs.StringVar(&c.DockerRepo, "dockerrepo", defaultRepo,
 		"Provide the uri of the docker repo you have uploaded the test image to using `uploadtestimage.sh`. Defaults to $KO_DOCKER_REPO")
 
-	flagset.StringVar(&f.Tag, "tag", "latest", "Provide the version tag for the test images.")
-}
-
-// Flags returns the command line flags or defaults for settings in the user's
-// environment. See TestEnvironment for a list of supported fields.
-// Caller must call InitFlags() and flags.Parse() before calling Flags().
-func Flags() *TestEnvironment {
-	return f
+	fs.StringVar(&c.Tag, "tag", "latest", "Provide the version tag for the test images.")
 }
diff --git a/vendor/knative.dev/pkg/test/kube_checks.go b/vendor/knative.dev/pkg/test/kube_checks.go
index 156a8596..30698e69 100644
--- a/vendor/knative.dev/pkg/test/kube_checks.go
+++ b/vendor/knative.dev/pkg/test/kube_checks.go
@@ -207,11 +207,11 @@ func DeploymentScaledToZeroFunc() func(d *appsv1.Deployment) (bool, error) {
 
 // WaitForLogContent waits until logs for given Pod/Container include the given content.
 // If the content is not present within timeout it returns error.
-func WaitForLogContent(ctx context.Context, client *KubeClient, podName, containerName, namespace, content string) error {
+func WaitForLogContent(ctx context.Context, client kubernetes.Interface, podName, containerName, namespace, content string) error {
 	var logs []byte
 	waitErr := wait.PollImmediate(interval, logTimeout, func() (bool, error) {
 		var err error
-		logs, err = client.PodLogs(ctx, podName, containerName, namespace)
+		logs, err = PodLogs(ctx, client, podName, containerName, namespace)
 		if err != nil {
 			return true, err
 		}
diff --git a/vendor/knative.dev/pkg/test/request.go b/vendor/knative.dev/pkg/test/request.go
index ecaecd68..32a6a205 100644
--- a/vendor/knative.dev/pkg/test/request.go
+++ b/vendor/knative.dev/pkg/test/request.go
@@ -24,8 +24,6 @@ import (
 	"strings"
 	"time"
 
-	"knative.dev/pkg/test/flags"
-
 	"k8s.io/client-go/kubernetes"
 	"knative.dev/pkg/test/logging"
 	"knative.dev/pkg/test/spoof"
@@ -102,7 +100,7 @@ func WaitForEndpointState(
 	resolvable bool,
 	opts ...interface{}) (*spoof.Response, error) {
 	return WaitForEndpointStateWithTimeout(ctx, kubeClient, logf, url, inState,
-		desc, resolvable, flags.Flags().SpoofRequestTimeout, opts...)
+		desc, resolvable, Flags.SpoofRequestTimeout, opts...)
 }
 
 // WaitForEndpointStateWithTimeout will poll an endpoint until inState indicates the state is achieved