Repository: knative/client
Pull request #1694 (2022-06-27 01:46:45)

[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/eventing c1b0ea6...f69e181:
  > f69e181 Update community files (# 6435)
  > 159f4ec upgrade to latest dependencies (# 6432)
  > 33d1be7 Bump PodDisruptionBudget to policy/v1 (# 6424)
  > ee47ed1 Update community files (# 6431)
  > 9c41f75 upgrade to latest dependencies (# 6428)
  > eaec729 Update actions (# 6427)
  > 7763e03 upgrade to latest dependencies (# 6423)
  > 0866e62 Report last error for unavailability periods (# 6381)
bumping knative.dev/networking 07c9d76...716a8b8:
  > 716a8b8 Update community files (# 687)
  > 10dbbe0 Update community files (# 686)
  > a44888a Update actions (# 685)
bumping knative.dev/pkg 9c5a731...97eb150:
  > 97eb150 Update community files (# 2541)
  > 5569169 update boilerplate date (# 2539)
  > 85965e1 upgrade to latest dependencies (# 2540)
  > f4ae0af Update community files (# 2538)
  > f5db225 Drop `UserInfo` from logger tagging in webhook. (# 2535)
  > 1777513 Update actions (# 2536)
bumping knative.dev/hack dc6c287...65c463a:
  > 65c463a Update community files (# 195)
  > e7d6365 Add [skip-dot-release] feature (# 189)
  > 33ce6af Update community files (# 190)
bumping knative.dev/serving 3573163...df215c7:
  > df215c7 Update community files (# 13076)
  > 58cce54 Support config to deploy internal certificates automatically (# 13005)
  > 25de812 Fix webhook config drift issue (# 13061)
  > ee386a1 Update community files (# 13068)
  > d9cb5f0 Update net-istio nightly (# 13067)
  > 189003d Update net-contour nightly (# 13066)
  > d0367df Update net-gateway-api nightly (# 13064)
  > 278cedc Update net-certmanager nightly (# 13065)
  > 1da6f33 Update actions (# 13063)
  > cd85b44 Update net-gateway-api nightly (# 13062)
  > 752c336 Allow calls to test.Setup to disable logstream (# 13046)
  > 8f62874 Update net-certmanager nightly (# 13040)
  > 2b7f301 Update net-istio nightly (# 13031)
  > 6eccc36 Update net-gateway-api nightly (# 13029)
  > 38c5dbc Update net-contour nightly (# 13032)
  > f25a0df Temporarily disable flaky kind test (# 13055)
```

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

This pull-request has been approved by: *<a href="https://github.com/knative/client/pull/1694#" 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 **rhuss** after the PR has been reviewed.
You can assign the PR to them by writing `/assign @rhuss` 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":["rhuss"]} -->
codecov[bot]: # [Codecov](https://codecov.io/gh/knative/client/pull/1694?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative) Report
> Merging [#1694](https://codecov.io/gh/knative/client/pull/1694?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative) (6f4fd1b) into [main](https://codecov.io/gh/knative/client/commit/b6965469febb764daeb4e8fc7de034f9e3422b76?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative) (b696546) will **not change** coverage.
> The diff coverage is `n/a`.

```diff
@@           Coverage Diff           @@
##             main    #1694   +/-   ##
=======================================
  Coverage   79.69%   79.69%           
=======================================
  Files         173      173           
  Lines       13264    13264           
=======================================
  Hits        10571    10571           
  Misses       1963     1963           
  Partials      730      730           
```



------

[Continue to review full report at Codecov](https://codecov.io/gh/knative/client/pull/1694?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/1694?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative). Last update [b696546...6f4fd1b](https://codecov.io/gh/knative/client/pull/1694?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[bot]: @knative-automation: The following test **failed**, say `/retest` to rerun all failed tests or `/retest-required` to rerun all mandatory failed tests:

Test name | Commit | Details | Required | Rerun command
--- | --- | --- | --- | ---
integration-tests-latest-release_client_main | 3a5de40b3a6859c374be3076daa601cd9189c829 | [link](https://prow.knative.dev/view/gs/knative-prow/pr-logs/pull/knative_client/1694/integration-tests-latest-release_client_main/1541961202609950720) | true | `/test integration-tests-latest-release_client_main`

[Your PR dashboard](https://prow.knative.dev/pr).

<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 -->

Patch:
diff --git a/docs/cmd/kn_container_add.md b/docs/cmd/kn_container_add.md
index 208d4769..a78b1392 100644
--- a/docs/cmd/kn_container_add.md
+++ b/docs/cmd/kn_container_add.md
@@ -38,7 +38,7 @@ kn container add NAME
   -h, --help                         help for add
       --image string                 Image to run.
       --limit strings                The resource requirement limits for this Service. For example, 'cpu=100m,memory=256Mi'. You can use this flag multiple times. To unset a resource limit, append "-" to the resource name, e.g. '--limit memory-'.
-      --mount stringArray            Mount a ConfigMap (prefix cm: or config-map:), a Secret (prefix secret: or sc:), an EmptyDir (prefix ed: or emptyDir:)or an existing Volume (without any prefix) on the specified directory. Example: --mount /mydir=cm:myconfigmap, --mount /mydir=secret:mysecret, --mount /mydir=emptyDir:myvol or --mount /mydir=myvolume. When a configmap or a secret is specified, a corresponding volume is automatically generated. You can specify a volume subpath by following the volume name with slash separated path. Example: --mount /mydir=cm:myconfigmap/subpath/to/be/mounted. You can use this flag multiple times. For unmounting a directory, append "-", e.g. --mount /mydir-, which also removes any auto-generated volume.
+      --mount stringArray            Mount a ConfigMap (prefix cm: or config-map:), a Secret (prefix secret: or sc:), an EmptyDir (prefix ed: or emptyDir:), a PersistentVolumeClaim (prefix pvc: or persistentVolumeClaim) or an existing Volume (without any prefix) on the specified directory. Example: --mount /mydir=cm:myconfigmap, --mount /mydir=secret:mysecret, --mount /mydir=emptyDir:myvol or --mount /mydir=myvolume. When a configmap or a secret is specified, a corresponding volume is automatically generated. You can specify a volume subpath by following the volume name with slash separated path. Example: --mount /mydir=cm:myconfigmap/subpath/to/be/mounted. You can use this flag multiple times. For unmounting a directory, append "-", e.g. --mount /mydir-, which also removes any auto-generated volume.
   -p, --port string                  The port where application listens on, in the format 'NAME:PORT', where 'NAME' is optional. Examples: '--port h2c:8080' , '--port 8080'.
       --pull-policy string           Image pull policy. Valid values (case insensitive): Always | Never | IfNotPresent
       --pull-secret string           Image pull secret to set. An empty argument ("") clears the pull secret. The referenced secret must exist in the service's namespace.
diff --git a/docs/cmd/kn_service_apply.md b/docs/cmd/kn_service_apply.md
index 9dde83c6..526d713d 100644
--- a/docs/cmd/kn_service_apply.md
+++ b/docs/cmd/kn_service_apply.md
@@ -50,7 +50,7 @@ kn service apply s0 --filename my-svc.yml
       --label-service stringArray         Service label to set. name=value; you may provide this flag any number of times to set multiple labels. To unset, specify the label name followed by a "-" (e.g., name-). This flag takes precedence over the "label" flag.
       --limit strings                     The resource requirement limits for this Service. For example, 'cpu=100m,memory=256Mi'. You can use this flag multiple times. To unset a resource limit, append "-" to the resource name, e.g. '--limit memory-'.
       --lock-to-digest                    Keep the running image for the service constant when not explicitly specifying the image. (--no-lock-to-digest pulls the image tag afresh with each new revision) (default true)
-      --mount stringArray                 Mount a ConfigMap (prefix cm: or config-map:), a Secret (prefix secret: or sc:), an EmptyDir (prefix ed: or emptyDir:)or an existing Volume (without any prefix) on the specified directory. Example: --mount /mydir=cm:myconfigmap, --mount /mydir=secret:mysecret, --mount /mydir=emptyDir:myvol or --mount /mydir=myvolume. When a configmap or a secret is specified, a corresponding volume is automatically generated. You can specify a volume subpath by following the volume name with slash separated path. Example: --mount /mydir=cm:myconfigmap/subpath/to/be/mounted. You can use this flag multiple times. For unmounting a directory, append "-", e.g. --mount /mydir-, which also removes any auto-generated volume.
+      --mount stringArray                 Mount a ConfigMap (prefix cm: or config-map:), a Secret (prefix secret: or sc:), an EmptyDir (prefix ed: or emptyDir:), a PersistentVolumeClaim (prefix pvc: or persistentVolumeClaim) or an existing Volume (without any prefix) on the specified directory. Example: --mount /mydir=cm:myconfigmap, --mount /mydir=secret:mysecret, --mount /mydir=emptyDir:myvol or --mount /mydir=myvolume. When a configmap or a secret is specified, a corresponding volume is automatically generated. You can specify a volume subpath by following the volume name with slash separated path. Example: --mount /mydir=cm:myconfigmap/subpath/to/be/mounted. You can use this flag multiple times. For unmounting a directory, append "-", e.g. --mount /mydir-, which also removes any auto-generated volume.
   -n, --namespace string                  Specify the namespace to operate in.
       --no-cluster-local                  Do not specify that the service be private. (--no-cluster-local will make the service publicly available) (default true)
       --no-lock-to-digest                 Do not keep the running image for the service constant when not explicitly specifying the image. (--no-lock-to-digest pulls the image tag afresh with each new revision)
@@ -71,7 +71,7 @@ kn service apply s0 --filename my-svc.yml
       --service-account string            Service account name to set. An empty argument ("") clears the service account. The referenced service account must exist in the service's namespace.
       --timeout int                       Duration in seconds that the request routing layer will wait for a request delivered to a container to begin replying (default 300)
       --user int                          The user ID to run the container (e.g., 1001).
-      --volume stringArray                Add a volume from a ConfigMap (prefix cm: or config-map:) a Secret (prefix secret: or sc:), or an EmptyDir (prefix ed: or emptyDir:). Example: --volume myvolume=cm:myconfigmap, --volume myvolume=secret:mysecret or --volume emptyDir:myvol:size=1Gi,type=Memory. You can use this flag multiple times. To unset a ConfigMap/Secret reference, append "-" to the name, e.g. --volume myvolume-.
+      --volume stringArray                Add a volume from a ConfigMap (prefix cm: or config-map:) a Secret (prefix secret: or sc:), an EmptyDir (prefix ed: or emptyDir:) or a PersistentVolumeClaim (prefix pvc: or persistentVolumeClaim). Example: --volume myvolume=cm:myconfigmap, --volume myvolume=secret:mysecret or --volume emptyDir:myvol:size=1Gi,type=Memory. You can use this flag multiple times. To unset a ConfigMap/Secret reference, append "-" to the name, e.g. --volume myvolume-.
       --wait                              Wait for 'service apply' operation to be completed. (default true)
       --wait-timeout int                  Seconds to wait before giving up on waiting for service to be ready. (default 600)
       --wait-window int                   Seconds to wait for service to be ready after a false ready condition is returned (default 2)
diff --git a/docs/cmd/kn_service_create.md b/docs/cmd/kn_service_create.md
index db5cb831..cd6eef9a 100644
--- a/docs/cmd/kn_service_create.md
+++ b/docs/cmd/kn_service_create.md
@@ -75,7 +75,7 @@ kn service create NAME --image IMAGE
       --label-service stringArray         Service label to set. name=value; you may provide this flag any number of times to set multiple labels. To unset, specify the label name followed by a "-" (e.g., name-). This flag takes precedence over the "label" flag.
       --limit strings                     The resource requirement limits for this Service. For example, 'cpu=100m,memory=256Mi'. You can use this flag multiple times. To unset a resource limit, append "-" to the resource name, e.g. '--limit memory-'.
       --lock-to-digest                    Keep the running image for the service constant when not explicitly specifying the image. (--no-lock-to-digest pulls the image tag afresh with each new revision) (default true)
-      --mount stringArray                 Mount a ConfigMap (prefix cm: or config-map:), a Secret (prefix secret: or sc:), an EmptyDir (prefix ed: or emptyDir:)or an existing Volume (without any prefix) on the specified directory. Example: --mount /mydir=cm:myconfigmap, --mount /mydir=secret:mysecret, --mount /mydir=emptyDir:myvol or --mount /mydir=myvolume. When a configmap or a secret is specified, a corresponding volume is automatically generated. You can specify a volume subpath by following the volume name with slash separated path. Example: --mount /mydir=cm:myconfigmap/subpath/to/be/mounted. You can use this flag multiple times. For unmounting a directory, append "-", e.g. --mount /mydir-, which also removes any auto-generated volume.
+      --mount stringArray                 Mount a ConfigMap (prefix cm: or config-map:), a Secret (prefix secret: or sc:), an EmptyDir (prefix ed: or emptyDir:), a PersistentVolumeClaim (prefix pvc: or persistentVolumeClaim) or an existing Volume (without any prefix) on the specified directory. Example: --mount /mydir=cm:myconfigmap, --mount /mydir=secret:mysecret, --mount /mydir=emptyDir:myvol or --mount /mydir=myvolume. When a configmap or a secret is specified, a corresponding volume is automatically generated. You can specify a volume subpath by following the volume name with slash separated path. Example: --mount /mydir=cm:myconfigmap/subpath/to/be/mounted. You can use this flag multiple times. For unmounting a directory, append "-", e.g. --mount /mydir-, which also removes any auto-generated volume.
   -n, --namespace string                  Specify the namespace to operate in.
       --no-cluster-local                  Do not specify that the service be private. (--no-cluster-local will make the service publicly available) (default true)
       --no-lock-to-digest                 Do not keep the running image for the service constant when not explicitly specifying the image. (--no-lock-to-digest pulls the image tag afresh with each new revision)
@@ -98,7 +98,7 @@ kn service create NAME --image IMAGE
       --target string                     Work on local directory instead of a remote cluster (experimental)
       --timeout int                       Duration in seconds that the request routing layer will wait for a request delivered to a container to begin replying (default 300)
       --user int                          The user ID to run the container (e.g., 1001).
-      --volume stringArray                Add a volume from a ConfigMap (prefix cm: or config-map:) a Secret (prefix secret: or sc:), or an EmptyDir (prefix ed: or emptyDir:). Example: --volume myvolume=cm:myconfigmap, --volume myvolume=secret:mysecret or --volume emptyDir:myvol:size=1Gi,type=Memory. You can use this flag multiple times. To unset a ConfigMap/Secret reference, append "-" to the name, e.g. --volume myvolume-.
+      --volume stringArray                Add a volume from a ConfigMap (prefix cm: or config-map:) a Secret (prefix secret: or sc:), an EmptyDir (prefix ed: or emptyDir:) or a PersistentVolumeClaim (prefix pvc: or persistentVolumeClaim). Example: --volume myvolume=cm:myconfigmap, --volume myvolume=secret:mysecret or --volume emptyDir:myvol:size=1Gi,type=Memory. You can use this flag multiple times. To unset a ConfigMap/Secret reference, append "-" to the name, e.g. --volume myvolume-.
       --wait                              Wait for 'service create' operation to be completed. (default true)
       --wait-timeout int                  Seconds to wait before giving up on waiting for service to be ready. (default 600)
       --wait-window int                   Seconds to wait for service to be ready after a false ready condition is returned (default 2)
diff --git a/docs/cmd/kn_service_update.md b/docs/cmd/kn_service_update.md
index 8d602b61..9105e41e 100644
--- a/docs/cmd/kn_service_update.md
+++ b/docs/cmd/kn_service_update.md
@@ -62,7 +62,7 @@ kn service update NAME
       --label-service stringArray         Service label to set. name=value; you may provide this flag any number of times to set multiple labels. To unset, specify the label name followed by a "-" (e.g., name-). This flag takes precedence over the "label" flag.
       --limit strings                     The resource requirement limits for this Service. For example, 'cpu=100m,memory=256Mi'. You can use this flag multiple times. To unset a resource limit, append "-" to the resource name, e.g. '--limit memory-'.
       --lock-to-digest                    Keep the running image for the service constant when not explicitly specifying the image. (--no-lock-to-digest pulls the image tag afresh with each new revision) (default true)
-      --mount stringArray                 Mount a ConfigMap (prefix cm: or config-map:), a Secret (prefix secret: or sc:), an EmptyDir (prefix ed: or emptyDir:)or an existing Volume (without any prefix) on the specified directory. Example: --mount /mydir=cm:myconfigmap, --mount /mydir=secret:mysecret, --mount /mydir=emptyDir:myvol or --mount /mydir=myvolume. When a configmap or a secret is specified, a corresponding volume is automatically generated. You can specify a volume subpath by following the volume name with slash separated path. Example: --mount /mydir=cm:myconfigmap/subpath/to/be/mounted. You can use this flag multiple times. For unmounting a directory, append "-", e.g. --mount /mydir-, which also removes any auto-generated volume.
+      --mount stringArray                 Mount a ConfigMap (prefix cm: or config-map:), a Secret (prefix secret: or sc:), an EmptyDir (prefix ed: or emptyDir:), a PersistentVolumeClaim (prefix pvc: or persistentVolumeClaim) or an existing Volume (without any prefix) on the specified directory. Example: --mount /mydir=cm:myconfigmap, --mount /mydir=secret:mysecret, --mount /mydir=emptyDir:myvol or --mount /mydir=myvolume. When a configmap or a secret is specified, a corresponding volume is automatically generated. You can specify a volume subpath by following the volume name with slash separated path. Example: --mount /mydir=cm:myconfigmap/subpath/to/be/mounted. You can use this flag multiple times. For unmounting a directory, append "-", e.g. --mount /mydir-, which also removes any auto-generated volume.
   -n, --namespace string                  Specify the namespace to operate in.
       --no-cluster-local                  Do not specify that the service be private. (--no-cluster-local will make the service publicly available) (default true)
       --no-lock-to-digest                 Do not keep the running image for the service constant when not explicitly specifying the image. (--no-lock-to-digest pulls the image tag afresh with each new revision)
@@ -87,7 +87,7 @@ kn service update NAME
       --traffic strings                   Set traffic distribution (format: --traffic revisionRef=percent) where revisionRef can be a revision or a tag or '@latest' string representing latest ready revision. This flag can be given multiple times with percent summing up to 100%.
       --untag strings                     Untag revision (format: --untag tagName). This flag can be specified multiple times.
       --user int                          The user ID to run the container (e.g., 1001).
-      --volume stringArray                Add a volume from a ConfigMap (prefix cm: or config-map:) a Secret (prefix secret: or sc:), or an EmptyDir (prefix ed: or emptyDir:). Example: --volume myvolume=cm:myconfigmap, --volume myvolume=secret:mysecret or --volume emptyDir:myvol:size=1Gi,type=Memory. You can use this flag multiple times. To unset a ConfigMap/Secret reference, append "-" to the name, e.g. --volume myvolume-.
+      --volume stringArray                Add a volume from a ConfigMap (prefix cm: or config-map:) a Secret (prefix secret: or sc:), an EmptyDir (prefix ed: or emptyDir:) or a PersistentVolumeClaim (prefix pvc: or persistentVolumeClaim). Example: --volume myvolume=cm:myconfigmap, --volume myvolume=secret:mysecret or --volume emptyDir:myvol:size=1Gi,type=Memory. You can use this flag multiple times. To unset a ConfigMap/Secret reference, append "-" to the name, e.g. --volume myvolume-.
       --wait                              Wait for 'service update' operation to be completed. (default true)
       --wait-timeout int                  Seconds to wait before giving up on waiting for service to be ready. (default 600)
       --wait-window int                   Seconds to wait for service to be ready after a false ready condition is returned (default 2)
diff --git a/docs/cmd/kn_source_container_create.md b/docs/cmd/kn_source_container_create.md
index f21e1ce7..c1130f8e 100644
--- a/docs/cmd/kn_source_container_create.md
+++ b/docs/cmd/kn_source_container_create.md
@@ -27,7 +27,7 @@ kn source container create NAME --image IMAGE --sink SINK
   -h, --help                         help for create
       --image string                 Image to run.
       --limit strings                The resource requirement limits for this Service. For example, 'cpu=100m,memory=256Mi'. You can use this flag multiple times. To unset a resource limit, append "-" to the resource name, e.g. '--limit memory-'.
-      --mount stringArray            Mount a ConfigMap (prefix cm: or config-map:), a Secret (prefix secret: or sc:), an EmptyDir (prefix ed: or emptyDir:)or an existing Volume (without any prefix) on the specified directory. Example: --mount /mydir=cm:myconfigmap, --mount /mydir=secret:mysecret, --mount /mydir=emptyDir:myvol or --mount /mydir=myvolume. When a configmap or a secret is specified, a corresponding volume is automatically generated. You can specify a volume subpath by following the volume name with slash separated path. Example: --mount /mydir=cm:myconfigmap/subpath/to/be/mounted. You can use this flag multiple times. For unmounting a directory, append "-", e.g. --mount /mydir-, which also removes any auto-generated volume.
+      --mount stringArray            Mount a ConfigMap (prefix cm: or config-map:), a Secret (prefix secret: or sc:), an EmptyDir (prefix ed: or emptyDir:), a PersistentVolumeClaim (prefix pvc: or persistentVolumeClaim) or an existing Volume (without any prefix) on the specified directory. Example: --mount /mydir=cm:myconfigmap, --mount /mydir=secret:mysecret, --mount /mydir=emptyDir:myvol or --mount /mydir=myvolume. When a configmap or a secret is specified, a corresponding volume is automatically generated. You can specify a volume subpath by following the volume name with slash separated path. Example: --mount /mydir=cm:myconfigmap/subpath/to/be/mounted. You can use this flag multiple times. For unmounting a directory, append "-", e.g. --mount /mydir-, which also removes any auto-generated volume.
   -n, --namespace string             Specify the namespace to operate in.
   -p, --port string                  The port where application listens on, in the format 'NAME:PORT', where 'NAME' is optional. Examples: '--port h2c:8080' , '--port 8080'.
       --pull-policy string           Image pull policy. Valid values (case insensitive): Always | Never | IfNotPresent
@@ -36,7 +36,7 @@ kn source container create NAME --image IMAGE --sink SINK
       --service-account string       Service account name to set. An empty argument ("") clears the service account. The referenced service account must exist in the service's namespace.
   -s, --sink string                  Addressable sink for events. You can specify a broker, channel, Knative service or URI. Examples: '--sink broker:nest' for a broker 'nest', '--sink channel:pipe' for a channel 'pipe', '--sink ksvc:mysvc:mynamespace' for a Knative service 'mysvc' in another namespace 'mynamespace', '--sink https://event.receiver.uri' for an URI with an 'http://' or 'https://' schema, '--sink ksvc:receiver' or simply '--sink receiver' for a Knative service 'receiver' in the current namespace. If a prefix is not provided, it is considered as a Knative service in the current namespace. If referring to a Knative service in another namespace, 'ksvc:name:namespace' combination must be provided explicitly.
       --user int                     The user ID to run the container (e.g., 1001).
-      --volume stringArray           Add a volume from a ConfigMap (prefix cm: or config-map:) a Secret (prefix secret: or sc:), or an EmptyDir (prefix ed: or emptyDir:). Example: --volume myvolume=cm:myconfigmap, --volume myvolume=secret:mysecret or --volume emptyDir:myvol:size=1Gi,type=Memory. You can use this flag multiple times. To unset a ConfigMap/Secret reference, append "-" to the name, e.g. --volume myvolume-.
+      --volume stringArray           Add a volume from a ConfigMap (prefix cm: or config-map:) a Secret (prefix secret: or sc:), an EmptyDir (prefix ed: or emptyDir:) or a PersistentVolumeClaim (prefix pvc: or persistentVolumeClaim). Example: --volume myvolume=cm:myconfigmap, --volume myvolume=secret:mysecret or --volume emptyDir:myvol:size=1Gi,type=Memory. You can use this flag multiple times. To unset a ConfigMap/Secret reference, append "-" to the name, e.g. --volume myvolume-.
 ```
 
 ### Options inherited from parent commands
diff --git a/docs/cmd/kn_source_container_update.md b/docs/cmd/kn_source_container_update.md
index d41305d6..2dad84f0 100644
--- a/docs/cmd/kn_source_container_update.md
+++ b/docs/cmd/kn_source_container_update.md
@@ -27,7 +27,7 @@ kn source container update NAME --image IMAGE
   -h, --help                         help for update
       --image string                 Image to run.
       --limit strings                The resource requirement limits for this Service. For example, 'cpu=100m,memory=256Mi'. You can use this flag multiple times. To unset a resource limit, append "-" to the resource name, e.g. '--limit memory-'.
-      --mount stringArray            Mount a ConfigMap (prefix cm: or config-map:), a Secret (prefix secret: or sc:), an EmptyDir (prefix ed: or emptyDir:)or an existing Volume (without any prefix) on the specified directory. Example: --mount /mydir=cm:myconfigmap, --mount /mydir=secret:mysecret, --mount /mydir=emptyDir:myvol or --mount /mydir=myvolume. When a configmap or a secret is specified, a corresponding volume is automatically generated. You can specify a volume subpath by following the volume name with slash separated path. Example: --mount /mydir=cm:myconfigmap/subpath/to/be/mounted. You can use this flag multiple times. For unmounting a directory, append "-", e.g. --mount /mydir-, which also removes any auto-generated volume.
+      --mount stringArray            Mount a ConfigMap (prefix cm: or config-map:), a Secret (prefix secret: or sc:), an EmptyDir (prefix ed: or emptyDir:), a PersistentVolumeClaim (prefix pvc: or persistentVolumeClaim) or an existing Volume (without any prefix) on the specified directory. Example: --mount /mydir=cm:myconfigmap, --mount /mydir=secret:mysecret, --mount /mydir=emptyDir:myvol or --mount /mydir=myvolume. When a configmap or a secret is specified, a corresponding volume is automatically generated. You can specify a volume subpath by following the volume name with slash separated path. Example: --mount /mydir=cm:myconfigmap/subpath/to/be/mounted. You can use this flag multiple times. For unmounting a directory, append "-", e.g. --mount /mydir-, which also removes any auto-generated volume.
   -n, --namespace string             Specify the namespace to operate in.
   -p, --port string                  The port where application listens on, in the format 'NAME:PORT', where 'NAME' is optional. Examples: '--port h2c:8080' , '--port 8080'.
       --pull-policy string           Image pull policy. Valid values (case insensitive): Always | Never | IfNotPresent
@@ -36,7 +36,7 @@ kn source container update NAME --image IMAGE
       --service-account string       Service account name to set. An empty argument ("") clears the service account. The referenced service account must exist in the service's namespace.
   -s, --sink string                  Addressable sink for events. You can specify a broker, channel, Knative service or URI. Examples: '--sink broker:nest' for a broker 'nest', '--sink channel:pipe' for a channel 'pipe', '--sink ksvc:mysvc:mynamespace' for a Knative service 'mysvc' in another namespace 'mynamespace', '--sink https://event.receiver.uri' for an URI with an 'http://' or 'https://' schema, '--sink ksvc:receiver' or simply '--sink receiver' for a Knative service 'receiver' in the current namespace. If a prefix is not provided, it is considered as a Knative service in the current namespace. If referring to a Knative service in another namespace, 'ksvc:name:namespace' combination must be provided explicitly.
       --user int                     The user ID to run the container (e.g., 1001).
-      --volume stringArray           Add a volume from a ConfigMap (prefix cm: or config-map:) a Secret (prefix secret: or sc:), or an EmptyDir (prefix ed: or emptyDir:). Example: --volume myvolume=cm:myconfigmap, --volume myvolume=secret:mysecret or --volume emptyDir:myvol:size=1Gi,type=Memory. You can use this flag multiple times. To unset a ConfigMap/Secret reference, append "-" to the name, e.g. --volume myvolume-.
+      --volume stringArray           Add a volume from a ConfigMap (prefix cm: or config-map:) a Secret (prefix secret: or sc:), an EmptyDir (prefix ed: or emptyDir:) or a PersistentVolumeClaim (prefix pvc: or persistentVolumeClaim). Example: --volume myvolume=cm:myconfigmap, --volume myvolume=secret:mysecret or --volume emptyDir:myvol:size=1Gi,type=Memory. You can use this flag multiple times. To unset a ConfigMap/Secret reference, append "-" to the name, e.g. --volume myvolume-.
 ```
 
 ### Options inherited from parent commands
diff --git a/go.mod b/go.mod
index 549c5016..06609bce 100644
--- a/go.mod
+++ b/go.mod
@@ -21,11 +21,11 @@ require (
 	k8s.io/cli-runtime v0.23.4
 	k8s.io/client-go v0.23.8
 	k8s.io/code-generator v0.23.8
-	knative.dev/eventing v0.32.1-0.20220614135415-c1b0ea692715
-	knative.dev/hack v0.0.0-20220610014127-dc6c287516dc
-	knative.dev/networking v0.0.0-20220614203516-07c9d7614c61
-	knative.dev/pkg v0.0.0-20220621173822-9c5a7317fa9d
-	knative.dev/serving v0.32.1-0.20220621141822-357316355d00
+	knative.dev/eventing v0.32.1-0.20220701014234-f69e18140a57
+	knative.dev/hack v0.0.0-20220701014203-65c463ac8c98
+	knative.dev/networking v0.0.0-20220701013832-716a8b82e4b5
+	knative.dev/pkg v0.0.0-20220701013933-97eb1507655e
+	knative.dev/serving v0.32.1-0.20220701014055-df215c70ec10
 	sigs.k8s.io/yaml v1.3.0
 )
 
diff --git a/go.sum b/go.sum
index 447cfaa4..9374feec 100644
--- a/go.sum
+++ b/go.sum
@@ -2281,24 +2281,30 @@ k8s.io/utils v0.0.0-20211116205334-6203023598ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/
 k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc=
 k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
 knative.dev/caching v0.0.0-20220610113725-9c092893371a/go.mod h1:IcfEPqEP6ma4EcRUcPkwVNx5FWHHWu8w4/eqRQguDwc=
-knative.dev/eventing v0.32.1-0.20220614135415-c1b0ea692715 h1:efjNLZXLgbphN5IiHpkTqK1ztorP+1Nlu1s53/1BPS0=
-knative.dev/eventing v0.32.1-0.20220614135415-c1b0ea692715/go.mod h1:WKC5YSu8dhjcSOgrhgB5ipdV9Of/KrcETkJObM67Mhk=
+knative.dev/control-protocol v0.0.0-20220610133426-4a1c8e84039f/go.mod h1:MjnhSes1u2GIoqwQia5bSe3Ny8r+d5//UB+Y/en2ZL8=
+knative.dev/eventing v0.32.1-0.20220701014234-f69e18140a57 h1:TacHZMdP0tDBr5BZgbZDrSJkDjH657H+nIOuX+sGFfQ=
+knative.dev/eventing v0.32.1-0.20220701014234-f69e18140a57/go.mod h1:v4dgr5Z6F+LeJm6IldEIkzLvXnrPFEPeO/iniHfehB8=
 knative.dev/hack v0.0.0-20220524153203-12d3e2a7addc/go.mod h1:PHt8x8yX5Z9pPquBEfIj0X66f8iWkWfR0S/sarACJrI=
 knative.dev/hack v0.0.0-20220609132040-fd240e2cef5c/go.mod h1:PHt8x8yX5Z9pPquBEfIj0X66f8iWkWfR0S/sarACJrI=
-knative.dev/hack v0.0.0-20220610014127-dc6c287516dc h1:LyqyT+rtgZYfOb3ChGE5jTFApCOcUmAcSV+TzgLxnys=
 knative.dev/hack v0.0.0-20220610014127-dc6c287516dc/go.mod h1:PHt8x8yX5Z9pPquBEfIj0X66f8iWkWfR0S/sarACJrI=
-knative.dev/hack/schema v0.0.0-20220610014127-dc6c287516dc/go.mod h1:ffjwmdcrH5vN3mPhO8RrF2KfNnbHeCE2C60A+2cv3U0=
-knative.dev/networking v0.0.0-20220610013825-3103f3a72792/go.mod h1:oIETD09Q4GSOXjdBdiPc0eEQxMwmjH7/gdhfg+sgdW8=
-knative.dev/networking v0.0.0-20220614203516-07c9d7614c61 h1:IsEfLWjHFt10XEUnAE/W4XcEU2uA+PMd1aZFkz5vrzA=
+knative.dev/hack v0.0.0-20220629134730-e7d63651ce8f/go.mod h1:PHt8x8yX5Z9pPquBEfIj0X66f8iWkWfR0S/sarACJrI=
+knative.dev/hack v0.0.0-20220701014203-65c463ac8c98 h1:kAwcKZOwYU0QCGEwvZrgnLrynFCWnXetwR/+a4W9R70=
+knative.dev/hack v0.0.0-20220701014203-65c463ac8c98/go.mod h1:PHt8x8yX5Z9pPquBEfIj0X66f8iWkWfR0S/sarACJrI=
+knative.dev/hack/schema v0.0.0-20220629134730-e7d63651ce8f/go.mod h1:ffjwmdcrH5vN3mPhO8RrF2KfNnbHeCE2C60A+2cv3U0=
 knative.dev/networking v0.0.0-20220614203516-07c9d7614c61/go.mod h1:oIETD09Q4GSOXjdBdiPc0eEQxMwmjH7/gdhfg+sgdW8=
+knative.dev/networking v0.0.0-20220701013832-716a8b82e4b5 h1:wKlgaeqkyLHMN2ZHrV9z7CvTlfjNRtK6ghbvivvmu3M=
+knative.dev/networking v0.0.0-20220701013832-716a8b82e4b5/go.mod h1:oIETD09Q4GSOXjdBdiPc0eEQxMwmjH7/gdhfg+sgdW8=
 knative.dev/pkg v0.0.0-20220524202603-19adf798efb8/go.mod h1:pApypeWDkGrsMkUDkV6StWXS4CXhwGWuJEID9GGZY0Y=
 knative.dev/pkg v0.0.0-20220609131940-865e331abfa5/go.mod h1:pApypeWDkGrsMkUDkV6StWXS4CXhwGWuJEID9GGZY0Y=
 knative.dev/pkg v0.0.0-20220610014025-7d607d643ee2/go.mod h1:pApypeWDkGrsMkUDkV6StWXS4CXhwGWuJEID9GGZY0Y=
-knative.dev/pkg v0.0.0-20220621173822-9c5a7317fa9d h1:H/naKtQODjCIr9wFb1YOG17CgbkgSFMy5dX0WZnrz6o=
 knative.dev/pkg v0.0.0-20220621173822-9c5a7317fa9d/go.mod h1:hmwyuQ6uQlqLVEM4lJGg6LZ12gbnUQv9kH88sA5pLDg=
-knative.dev/reconciler-test v0.0.0-20220610141926-64ffd15625ec/go.mod h1:/vZ6/AKGYQQPYY/7BSebqt62QrxiJ97T3r1jso9dAJg=
-knative.dev/serving v0.32.1-0.20220621141822-357316355d00 h1:YWCweftFQuy+cflkhYw2a3xQP7mqN5kGyYEGeZSVzsE=
-knative.dev/serving v0.32.1-0.20220621141822-357316355d00/go.mod h1:2DTwW8KZVZgsobW0EYhv4nTR8+LhKu2pZhEAoytUqE8=
+knative.dev/pkg v0.0.0-20220629132331-f4ae0aff5b9c/go.mod h1:hmwyuQ6uQlqLVEM4lJGg6LZ12gbnUQv9kH88sA5pLDg=
+knative.dev/pkg v0.0.0-20220701013933-97eb1507655e h1:qYqrYdHYJoZ8cevHTRP49vYdXVM3O0iTChw4+EQdOTo=
+knative.dev/pkg v0.0.0-20220701013933-97eb1507655e/go.mod h1:94rzLJg0i5UOFeqtOTkVnDEmpHC93IaOeCo3ofUpTVw=
+knative.dev/reconciler-test v0.0.0-20220610014025-b62b10257cbf/go.mod h1:/ps2aEdmtjId+pUGJuuADQN4IucIp4rI7KnrYEahOgE=
+knative.dev/reconciler-test v0.0.0-20220628015529-24511be23df8/go.mod h1:KTK98X+RGi33WWJMCECLmELIX3UjrinnmskHDok4hPo=
+knative.dev/serving v0.32.1-0.20220701014055-df215c70ec10 h1:CfVZWyN0sCMY5fKvbfhXqVbLjBLCehczN10ecRwLdIU=
+knative.dev/serving v0.32.1-0.20220701014055-df215c70ec10/go.mod h1:onBQXrF0iI1i81Gb0E2SAsVXCqu+OX78M0hHdn1TPmA=
 mvdan.cc/gofumpt v0.1.1/go.mod h1:yXG1r1WqZVKWbVRtBWKWX9+CxGYfA51nSomhM0woR48=
 mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc=
 mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4=
diff --git a/pkg/kn/flags/podspec.go b/pkg/kn/flags/podspec.go
index a07f426c..584c7d4d 100644
--- a/pkg/kn/flags/podspec.go
+++ b/pkg/kn/flags/podspec.go
@@ -137,8 +137,8 @@ func (p *PodSpecFlags) AddFlags(flagset *pflag.FlagSet) []string {
 	flagNames = append(flagNames, "env-file")
 
 	flagset.StringArrayVarP(&p.Mount, "mount", "", []string{},
-		"Mount a ConfigMap (prefix cm: or config-map:), a Secret (prefix secret: or sc:), an EmptyDir (prefix ed: or emptyDir:)"+
-			"or an existing Volume (without any prefix) on the specified directory. "+
+		"Mount a ConfigMap (prefix cm: or config-map:), a Secret (prefix secret: or sc:), an EmptyDir (prefix ed: or emptyDir:), "+
+			"a PersistentVolumeClaim (prefix pvc: or persistentVolumeClaim) or an existing Volume (without any prefix) on the specified directory. "+
 			"Example: --mount /mydir=cm:myconfigmap, --mount /mydir=secret:mysecret, --mount /mydir=emptyDir:myvol "+
 			"or --mount /mydir=myvolume. When a configmap or a secret is specified, a corresponding volume is "+
 			"automatically generated. You can specify a volume subpath by following the volume name with slash separated path. "+
@@ -148,8 +148,8 @@ func (p *PodSpecFlags) AddFlags(flagset *pflag.FlagSet) []string {
 	flagNames = append(flagNames, "mount")
 
 	flagset.StringArrayVarP(&p.Volume, "volume", "", []string{},
-		"Add a volume from a ConfigMap (prefix cm: or config-map:) a Secret (prefix secret: or sc:), or "+
-			"an EmptyDir (prefix ed: or emptyDir:). "+
+		"Add a volume from a ConfigMap (prefix cm: or config-map:) a Secret (prefix secret: or sc:), "+
+			"an EmptyDir (prefix ed: or emptyDir:) or a PersistentVolumeClaim (prefix pvc: or persistentVolumeClaim). "+
 			"Example: --volume myvolume=cm:myconfigmap, --volume myvolume=secret:mysecret or --volume emptyDir:myvol:size=1Gi,type=Memory. "+
 			"You can use this flag multiple times. "+
 			"To unset a ConfigMap/Secret reference, append \"-\" to the name, e.g. --volume myvolume-.")
diff --git a/pkg/kn/flags/podspec_helper.go b/pkg/kn/flags/podspec_helper.go
index c71e1e22..98e4e84b 100644
--- a/pkg/kn/flags/podspec_helper.go
+++ b/pkg/kn/flags/podspec_helper.go
@@ -37,6 +37,7 @@ const (
 	ConfigMapVolumeSourceType VolumeSourceType = iota
 	SecretVolumeSourceType
 	EmptyDirVolumeSourceType
+	PVCVolumeSourceType
 	PortFormatErr = "the port specification '%s' is not valid. Please provide in the format 'NAME:PORT', where 'NAME' is optional. Examples: '--port h2c:8080' , '--port 8080'."
 )
 
@@ -470,6 +471,8 @@ func updateVolume(volume *corev1.Volume, info *volumeSourceInfo) error {
 		volume.Secret = &corev1.SecretVolumeSource{SecretName: info.volumeSourceName}
 	case EmptyDirVolumeSourceType:
 		volume.EmptyDir = &corev1.EmptyDirVolumeSource{Medium: corev1.StorageMedium(info.emptyDirMemoryType), SizeLimit: info.emptyDirSize}
+	case PVCVolumeSourceType:
+		volume.PersistentVolumeClaim = &corev1.PersistentVolumeClaimVolumeSource{ClaimName: info.volumeSourceName, ReadOnly: true}
 	default:
 		return fmt.Errorf("Invalid VolumeSourceType")
 	}
@@ -607,6 +610,8 @@ func newVolumeSourceInfoWithSpecString(spec string) (*volumeSourceInfo, error) {
 			volumeSourceType = SecretVolumeSourceType
 		case "emptyDir", "ed":
 			volumeSourceType = EmptyDirVolumeSourceType
+		case "persistentVolumeClaim", "pvc":
+			volumeSourceType = PVCVolumeSourceType
 		default:
 			return nil, fmt.Errorf("unsupported volume source type \"%q\"; supported volume source types are \"config-map\" and \"secret\"", slices[0])
 		}
@@ -622,7 +627,7 @@ func newVolumeSourceInfoWithSpecString(spec string) (*volumeSourceInfo, error) {
 	} else {
 		typeString := strings.TrimSpace(slices[0])
 		switch typeString {
-		case "config-map", "cm", "secret", "sc":
+		case "config-map", "cm", "secret", "sc", "persistentVolumeClaim", "pvc":
 			return nil, fmt.Errorf("incorrect mount details for type %q", typeString)
 		case "emptyDir", "ed":
 			volName := slices[1]
@@ -763,6 +768,15 @@ func reviseVolumeInfoAndMountsToUpdate(mountsToUpdate *util.OrderedMap, volumesT
 				})
 				mountInfo.VolumeName = generatedName
 				mountsToUpdateRevised.Set(path, mountInfo)
+			case "persistentVolumeClaim", "pvc":
+				generatedName := util.GenerateVolumeName(path)
+				mountInfo := getMountInfo(slices[1])
+				volumeSourceInfoByName.Set(generatedName, &volumeSourceInfo{
+					volumeSourceType: PVCVolumeSourceType,
+					volumeSourceName: mountInfo.VolumeName,
+				})
+				mountInfo.VolumeName = generatedName
+				mountsToUpdateRevised.Set(path, mountInfo)
 			default:
 				return nil, nil, fmt.Errorf("unsupported volume type \"%q\"; supported volume types are \"config-map or cm\", \"secret or sc\", \"volume or vo\", and \"emptyDir or ed\"", slices[0])
 			}
diff --git a/vendor/knative.dev/hack/release.sh b/vendor/knative.dev/hack/release.sh
index 915a1303..0448a775 100644
--- a/vendor/knative.dev/hack/release.sh
+++ b/vendor/knative.dev/hack/release.sh
@@ -234,13 +234,15 @@ function prepare_dot_release() {
   # Use the original tag (ie. potentially with a knative- prefix) when determining the last version commit sha
   local github_tag="$(hub_tool release | grep "${last_version}")"
   local last_release_commit="$(git rev-list -n 1 "${github_tag}")"
+  local last_release_commit_filtered="$(git rev-list --invert-grep --grep "\[skip-dot-release\]" -n 1 "${github_tag}")"
   local release_branch_commit="$(git rev-list -n 1 upstream/"${RELEASE_BRANCH}")"
+  local release_branch_commit_filtered="$(git rev-list --invert-grep --grep "\[skip-dot-release\]" -n 1 upstream/"${RELEASE_BRANCH}")"
   [[ -n "${last_release_commit}" ]] || abort "cannot get last release commit"
   [[ -n "${release_branch_commit}" ]] || abort "cannot get release branch last commit"
-  echo "Version ${last_version} is at commit ${last_release_commit}"
-  echo "Branch ${RELEASE_BRANCH} is at commit ${release_branch_commit}"
-  if [[ "${last_release_commit}" == "${release_branch_commit}" ]]; then
-    echo "*** Branch ${RELEASE_BRANCH} has no new cherry-picks since release ${last_version}"
+  echo "Version ${last_version} is at commit ${last_release_commit}. Comparing using ${last_release_commit_filtered}. If it is different is because commits with the [skip-dot-release] flag in their commit body are not being considered."
+  echo "Branch ${RELEASE_BRANCH} is at commit ${release_branch_commit}. Comparing using ${release_branch_commit_filtered}. If it is different is because commits with the [skip-dot-release] flag in their commit body are not being considered."
+  if [[ "${last_release_commit_filtered}" == "${release_branch_commit_filtered}" ]]; then
+    echo "*** Branch ${RELEASE_BRANCH} has no new cherry-picks (ignoring commits with [skip-dot-release]) since release ${last_version}."
     echo "*** No dot release will be generated, as no changes exist"
     exit 0
   fi
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 dcde4494..96638e57 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
@@ -2,7 +2,7 @@
 // +build !ignore_autogenerated
 
 /*
-Copyright 2021 The Knative Authors
+Copyright 2022 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 2e7d702c..743081b0 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
@@ -2,7 +2,7 @@
 // +build !ignore_autogenerated
 
 /*
-Copyright 2021 The Knative Authors
+Copyright 2022 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 512ebea2..367d7941 100644
--- a/vendor/knative.dev/pkg/apis/zz_generated.deepcopy.go
+++ b/vendor/knative.dev/pkg/apis/zz_generated.deepcopy.go
@@ -2,7 +2,7 @@
 // +build !ignore_autogenerated
 
 /*
-Copyright 2021 The Knative Authors
+Copyright 2022 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 d40153e9..3bdfb44f 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 2021 The Knative Authors
+Copyright 2022 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/logging/zz_generated.deepcopy.go b/vendor/knative.dev/pkg/logging/zz_generated.deepcopy.go
index ac7d5e15..a752abd9 100644
--- a/vendor/knative.dev/pkg/logging/zz_generated.deepcopy.go
+++ b/vendor/knative.dev/pkg/logging/zz_generated.deepcopy.go
@@ -2,7 +2,7 @@
 // +build !ignore_autogenerated
 
 /*
-Copyright 2021 The Knative Authors
+Copyright 2022 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 e0108605..1d90e3a9 100644
--- a/vendor/knative.dev/pkg/metrics/zz_generated.deepcopy.go
+++ b/vendor/knative.dev/pkg/metrics/zz_generated.deepcopy.go
@@ -2,7 +2,7 @@
 // +build !ignore_autogenerated
 
 /*
-Copyright 2021 The Knative Authors
+Copyright 2022 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 8e2f56b4..814f3990 100644
--- a/vendor/knative.dev/pkg/tracker/zz_generated.deepcopy.go
+++ b/vendor/knative.dev/pkg/tracker/zz_generated.deepcopy.go
@@ -2,7 +2,7 @@
 // +build !ignore_autogenerated
 
 /*
-Copyright 2021 The Knative Authors
+Copyright 2022 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/networking/constants.go b/vendor/knative.dev/serving/pkg/networking/constants.go
index 0fe1e5ea..a832d465 100644
--- a/vendor/knative.dev/serving/pkg/networking/constants.go
+++ b/vendor/knative.dev/serving/pkg/networking/constants.go
@@ -51,6 +51,10 @@ const (
 	// ServiceTypeKey is the label key attached to a service specifying the type of service.
 	// e.g. Public, Private.
 	ServiceTypeKey = networking.GroupName + "/serviceType"
+
+	// ServingCertName is used by the secret name for internal TLS as "namespace-${ServingCertName}".
+	// Also the secret name has the label with "${ServingCertName}: data-plane"
+	ServingCertName = "serving-certs"
 )
 
 // ServiceType is the enumeration type for the Kubernetes services
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 6bf38523..2cf76e9c 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -894,7 +894,7 @@ k8s.io/utils/lru
 k8s.io/utils/net
 k8s.io/utils/pointer
 k8s.io/utils/trace
-# knative.dev/eventing v0.32.1-0.20220614135415-c1b0ea692715
+# knative.dev/eventing v0.32.1-0.20220701014234-f69e18140a57
 ## explicit; go 1.16
 knative.dev/eventing/pkg/apis/config
 knative.dev/eventing/pkg/apis/duck
@@ -922,10 +922,10 @@ knative.dev/eventing/pkg/client/clientset/versioned/typed/sources/v1
 knative.dev/eventing/pkg/client/clientset/versioned/typed/sources/v1/fake
 knative.dev/eventing/pkg/client/clientset/versioned/typed/sources/v1beta2
 knative.dev/eventing/pkg/client/clientset/versioned/typed/sources/v1beta2/fake
-# knative.dev/hack v0.0.0-20220610014127-dc6c287516dc
+# knative.dev/hack v0.0.0-20220701014203-65c463ac8c98
 ## explicit; go 1.14
 knative.dev/hack
-# knative.dev/networking v0.0.0-20220614203516-07c9d7614c61
+# knative.dev/networking v0.0.0-20220701013832-716a8b82e4b5
 ## explicit; go 1.17
 knative.dev/networking/pkg
 knative.dev/networking/pkg/apis/networking
@@ -940,7 +940,7 @@ knative.dev/networking/pkg/http/probe
 knative.dev/networking/pkg/http/proxy
 knative.dev/networking/pkg/http/stats
 knative.dev/networking/pkg/k8s
-# knative.dev/pkg v0.0.0-20220621173822-9c5a7317fa9d
+# knative.dev/pkg v0.0.0-20220701013933-97eb1507655e
 ## explicit; go 1.17
 knative.dev/pkg/apis
 knative.dev/pkg/apis/duck
@@ -990,7 +990,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.32.1-0.20220621141822-357316355d00
+# knative.dev/serving v0.32.1-0.20220701014055-df215c70ec10
 ## explicit; go 1.17
 knative.dev/serving/pkg/apis/autoscaling
 knative.dev/serving/pkg/apis/autoscaling/v1alpha1


Test patch:
diff --git a/pkg/kn/flags/podspec_helper_test.go b/pkg/kn/flags/podspec_helper_test.go
index 68acdd38..4db760f6 100644
--- a/pkg/kn/flags/podspec_helper_test.go
+++ b/pkg/kn/flags/podspec_helper_test.go
@@ -292,6 +292,15 @@ func TestUpdateVolumeMountsAndVolumes(t *testing.T) {
 					SizeLimit: &quantity,
 				},
 			},
+		},
+		corev1.Volume{
+			Name: "new-pvc-volume-name-1",
+			VolumeSource: corev1.VolumeSource{
+				PersistentVolumeClaim: &corev1.PersistentVolumeClaimVolumeSource{
+					ClaimName: "pvc1",
+					ReadOnly:  true,
+				},
+			},
 		})
 
 	container.VolumeMounts = append(container.VolumeMounts,
@@ -340,6 +349,16 @@ func TestUpdateVolumeMountsAndVolumes(t *testing.T) {
 			ReadOnly:  false,
 			MountPath: "/empty-dir-5/mount/path",
 		},
+		corev1.VolumeMount{
+			Name:      "new-pvc-volume-name-1",
+			ReadOnly:  true,
+			MountPath: "/pvc-1/mount/path",
+		},
+		corev1.VolumeMount{
+			Name:      "new-pvc-volume-name-2",
+			ReadOnly:  true,
+			MountPath: "/pvc-2/mount/path",
+		},
 	)
 
 	err := UpdateVolumeMountsAndVolumes(spec,
@@ -406,9 +425,21 @@ func TestUpdateVolumeMountsAndVolumes(t *testing.T) {
 		util.NewOrderedMap(),
 		[]string{})
 	assert.NilError(t, err)
+	err = UpdateVolumeMountsAndVolumes(spec,
+		util.NewOrderedMapWithKVStrings([][]string{{"/pvc-1/mount/path", "new-pvc-volume-name-1"}}),
+		[]string{},
+		util.NewOrderedMapWithKVStrings([][]string{{"new-pvc-volume-name-1", "pvc:pvc1"}}),
+		[]string{})
+	assert.NilError(t, err)
+	err = UpdateVolumeMountsAndVolumes(spec,
+		util.NewOrderedMapWithKVStrings([][]string{{"/pvc-2/mount/path", "pvc:pvc2"}}),
+		[]string{},
+		util.NewOrderedMap(),
+		[]string{})
+	assert.NilError(t, err)
 
-	assert.Equal(t, len(spec.Volumes), 9)
-	assert.Equal(t, len(container.VolumeMounts), 11)
+	assert.Equal(t, len(spec.Volumes), 11)
+	assert.Equal(t, len(container.VolumeMounts), 13)
 
 	assert.Equal(t, spec.Volumes[0].Name, "existing-config-map-volume-name-2")
 	assert.Equal(t, spec.Volumes[0].ConfigMap.Name, "updated-config-map")
@@ -424,13 +455,15 @@ func TestUpdateVolumeMountsAndVolumes(t *testing.T) {
 	assert.Equal(t, spec.Volumes[4].EmptyDir.Medium, corev1.StorageMediumMemory)
 	assert.Equal(t, spec.Volumes[5].Name, "new-empty-dir-volume-name-4")
 	assert.DeepEqual(t, spec.Volumes[5].EmptyDir.SizeLimit, &quantity)
-	assert.Equal(t, spec.Volumes[6].Name, "new-config-map-volume-name")
-	assert.Equal(t, spec.Volumes[6].ConfigMap.Name, "new-config-map")
-	assert.Equal(t, spec.Volumes[7].Name, "new-secret-volume-name")
-	assert.Equal(t, spec.Volumes[7].Secret.SecretName, "new-secret")
-	assert.Assert(t, strings.Contains(spec.Volumes[8].Name, "empty-dir-5"))
-	assert.Equal(t, spec.Volumes[8].EmptyDir.Medium, corev1.StorageMediumDefault)
-	assert.Assert(t, spec.Volumes[8].EmptyDir.SizeLimit == nil)
+	assert.Equal(t, spec.Volumes[6].Name, "new-pvc-volume-name-1")
+	assert.Equal(t, spec.Volumes[6].PersistentVolumeClaim.ClaimName, "pvc1")
+	assert.Equal(t, spec.Volumes[7].Name, "new-config-map-volume-name")
+	assert.Equal(t, spec.Volumes[7].ConfigMap.Name, "new-config-map")
+	assert.Equal(t, spec.Volumes[8].Name, "new-secret-volume-name")
+	assert.Equal(t, spec.Volumes[8].Secret.SecretName, "new-secret")
+	assert.Assert(t, strings.Contains(spec.Volumes[9].Name, "empty-dir-5"))
+	assert.Equal(t, spec.Volumes[9].EmptyDir.Medium, corev1.StorageMediumDefault)
+	assert.Assert(t, spec.Volumes[9].EmptyDir.SizeLimit == nil)
 
 	assert.Equal(t, container.VolumeMounts[0].Name, "existing-config-map-volume-name-2")
 	assert.Equal(t, container.VolumeMounts[0].MountPath, "/existing-config-map-2/mount/path")
@@ -445,14 +478,17 @@ func TestUpdateVolumeMountsAndVolumes(t *testing.T) {
 	assert.Equal(t, container.VolumeMounts[5].Name, "new-empty-dir-volume-name-4")
 	assert.Equal(t, container.VolumeMounts[5].MountPath, "/empty-dir-4/mount/path")
 	assert.Equal(t, container.VolumeMounts[6].MountPath, "/empty-dir-5/mount/path")
-	assert.Equal(t, container.VolumeMounts[7].Name, "new-config-map-volume-name")
-	assert.Equal(t, container.VolumeMounts[7].MountPath, "/new-config-map/mount/path")
-	assert.Equal(t, container.VolumeMounts[8].Name, "existing-config-map-volume-name-2")
-	assert.Equal(t, container.VolumeMounts[8].MountPath, "/updated-config-map/mount/path")
-	assert.Equal(t, container.VolumeMounts[9].Name, "new-secret-volume-name")
-	assert.Equal(t, container.VolumeMounts[9].MountPath, "/new-secret/mount/path")
-	assert.Equal(t, container.VolumeMounts[10].Name, "existing-secret-volume-name-2")
-	assert.Equal(t, container.VolumeMounts[10].MountPath, "/updated-secret/mount/path")
+	assert.Equal(t, container.VolumeMounts[7].Name, "new-pvc-volume-name-1")
+	assert.Equal(t, container.VolumeMounts[7].MountPath, "/pvc-1/mount/path")
+	assert.Equal(t, container.VolumeMounts[8].MountPath, "/pvc-2/mount/path")
+	assert.Equal(t, container.VolumeMounts[9].Name, "new-config-map-volume-name")
+	assert.Equal(t, container.VolumeMounts[9].MountPath, "/new-config-map/mount/path")
+	assert.Equal(t, container.VolumeMounts[10].Name, "existing-config-map-volume-name-2")
+	assert.Equal(t, container.VolumeMounts[10].MountPath, "/updated-config-map/mount/path")
+	assert.Equal(t, container.VolumeMounts[11].Name, "new-secret-volume-name")
+	assert.Equal(t, container.VolumeMounts[11].MountPath, "/new-secret/mount/path")
+	assert.Equal(t, container.VolumeMounts[12].Name, "existing-secret-volume-name-2")
+	assert.Equal(t, container.VolumeMounts[12].MountPath, "/updated-secret/mount/path")
 }
 
 func TestUpdateContainerImage(t *testing.T) {
diff --git a/test/e2e/service_test.go b/test/e2e/service_test.go
index 59d14ce3..f84a77a7 100644
--- a/test/e2e/service_test.go
+++ b/test/e2e/service_test.go
@@ -20,6 +20,8 @@ package e2e
 import (
 	"encoding/json"
 	"fmt"
+	"io/ioutil"
+	"os"
 	"strings"
 	"testing"
 
@@ -33,6 +35,20 @@ import (
 	servingv1 "knative.dev/serving/pkg/apis/serving/v1"
 )
 
+const (
+	TestPVCSpec = `kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+  name: test-pvc
+spec:
+  accessModes:
+    - ReadWriteOnce
+  resources:
+    requests:
+      storage: 1Gi
+`
+)
+
 func TestService(t *testing.T) {
 	t.Parallel()
 	it, err := test.NewKnTest()
@@ -178,10 +194,16 @@ func serviceDeleteAll(r *test.KnRunResultCollector) {
 
 func serviceCreateWithMount(r *test.KnRunResultCollector) {
 	it := r.KnTest()
-	kubectl := test.NewKubectl(it.Namespace())
+	kubectl := test.NewKubectl("knative-serving")
+
+	_, err := kubectl.Run("patch", "cm", "config-features", "--patch={\"data\":{\"kubernetes.podspec-persistent-volume-claim\": \"enabled\", \"kubernetes.podspec-volumes-emptydir\": \"enabled\"}}")
+	assert.NilError(r.T(), err)
+	defer kubectl.Run("patch", "cm", "config-features", "--patch={\"data\":{\"kubernetes.podspec-persistent-volume-claim\": \"disabled\", \"kubernetes.podspec-volumes-emptydir\": \"disabled\"}}")
+
+	kubectl = test.NewKubectl(it.Namespace())
 
 	r.T().Log("create cm test-cm")
-	_, err := kubectl.Run("create", "configmap", "test-cm", "--from-literal=key=value")
+	_, err = kubectl.Run("create", "configmap", "test-cm", "--from-literal=key=value")
 	assert.NilError(r.T(), err)
 
 	r.T().Log("create service with configmap mounted")
@@ -200,6 +222,28 @@ func serviceCreateWithMount(r *test.KnRunResultCollector) {
 	out = r.KnTest().Kn().Run("service", "update", "test-svc", "--mount", "/mydir2=sc:test-sec/key1")
 	r.AssertNoError(out)
 
+	r.T().Log("update service with a new emptyDir mount")
+	out = r.KnTest().Kn().Run("service", "update", "test-svc", "--mount", "/mydir3=ed:myvol")
+	r.AssertNoError(out)
+
+	r.T().Log("update service with a new emptyDir mount with Memory and dir size")
+	out = r.KnTest().Kn().Run("service", "update", "test-svc", "--mount", "/mydir4=ed:myvol:type=Memory,size=100Mi")
+	r.AssertNoError(out)
+
+	r.T().Log("create PVC test-pvc")
+	fp, err := ioutil.TempFile("", "my-pvc")
+	assert.NilError(r.T(), err)
+	fmt.Fprintf(fp, "%s", TestPVCSpec)
+	defer os.Remove(fp.Name())
+
+	_, err = kubectl.Run("create", "-f", fp.Name())
+	assert.NilError(r.T(), err)
+	r.AssertNoError(out)
+
+	r.T().Log("update service with a new pvc mount")
+	out = r.KnTest().Kn().Run("service", "update", "test-svc", "--mount", "/mydir5=pvc:test-pvc")
+	r.AssertNoError(out)
+
 	serviceDescribeMount(r, "test-svc", "/mydir", "key")
 }
 
diff --git a/vendor/knative.dev/serving/test/conformance.go b/vendor/knative.dev/serving/test/conformance.go
index 526d57e6..80e3b395 100644
--- a/vendor/knative.dev/serving/test/conformance.go
+++ b/vendor/knative.dev/serving/test/conformance.go
@@ -74,12 +74,27 @@ const (
 	MinSplitPercentage = 0.25
 )
 
+type Options struct {
+	Namespace        string
+	DisableLogStream bool
+}
+
 // Setup creates client to run Knative Service requests
-func Setup(t testing.TB, namespace ...string) *Clients {
+func Setup(t testing.TB, opts ...Options) *Clients {
+	var o Options
+	switch len(opts) {
+	case 1:
+		o = opts[0]
+	case 0:
+		o = Options{}
+	default:
+		t.Fatalf("multiple Options supplied to Setup")
+	}
+
 	t.Helper()
 	logging.InitializeLogger()
 
-	if !ServingFlags.DisableLogStream {
+	if !ServingFlags.DisableLogStream && !o.DisableLogStream {
 		cancel := logstream.Start(t)
 		t.Cleanup(cancel)
 	}
@@ -90,8 +105,8 @@ func Setup(t testing.TB, namespace ...string) *Clients {
 	}
 
 	ns := ServingFlags.TestNamespace
-	if len(namespace) > 0 {
-		ns = namespace[0]
+	if len(o.Namespace) > 0 {
+		ns = o.Namespace
 	}
 
 	clients, err := NewClients(cfg, ns)
diff --git a/vendor/knative.dev/serving/test/e2e-common.sh b/vendor/knative.dev/serving/test/e2e-common.sh
index a261e9c6..d0c6927c 100644
--- a/vendor/knative.dev/serving/test/e2e-common.sh
+++ b/vendor/knative.dev/serving/test/e2e-common.sh
@@ -359,12 +359,15 @@ function install() {
   fi
 
   if (( ENABLE_TLS )); then
-    echo "Generate certificates"
-    bash ${REPO_ROOT_DIR}/test/generate-cert.sh
+    echo "Patch to config-network to enable internal encryption"
+    kubectl patch configmap/config-network \
+      -n ${SYSTEM_NAMESPACE} \
+      --type merge \
+      -p '{"data":{"internal-encryption":"true"}}'
 
-    echo "Patch to activator to serve TLS"
-    kubectl apply -n ${SYSTEM_NAMESPACE} -f ${REPO_ROOT_DIR}/test/config/tls/config-network.yaml
+    echo "Restart activator to mount the certificates"
     kubectl delete pod -n ${SYSTEM_NAMESPACE} -l app=activator
+    kubectl wait --timeout=60s --for=condition=Available deployment  -n ${SYSTEM_NAMESPACE} activator
   fi
 }
 
diff --git a/vendor/knative.dev/serving/test/generate-cert.sh b/vendor/knative.dev/serving/test/generate-cert.sh
deleted file mode 100644
index 5569f166..00000000
--- a/vendor/knative.dev/serving/test/generate-cert.sh
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/usr/bin/env bash
-
-# Copyright 2022 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.
-
-SYSTEM_NAMESPACE="${SYSTEM_NAMESPACE:-knative-serving}"
-TEST_NAMESPACE=serving-tests
-TEST_NAMESPACE_ALT=serving-tests-alt
-out_dir="$(mktemp -d /tmp/certs-XXX)"
-san="knative"
-
-# Generate Root key and cert.
-openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -subj '/O=Example/CN=Example' -keyout "${out_dir}"/root.key -out "${out_dir}"/root.crt
-
-# Create server key
-openssl req -out "${out_dir}"/tls.csr -newkey rsa:2048 -nodes -keyout "${out_dir}"/tls.key -subj "/CN=Example/O=Example" -addext "subjectAltName = DNS:$san"
-
-# Create server certs
-openssl x509 -req -extfile <(printf "subjectAltName=DNS:$san") -days 365 -in "${out_dir}"/tls.csr -CA "${out_dir}"/root.crt -CAkey "${out_dir}"/root.key -CAcreateserial -out "${out_dir}"/tls.crt
-
-# Create secret
-kubectl create -n ${SYSTEM_NAMESPACE} secret generic serving-ca \
-    --from-file=ca.crt="${out_dir}"/root.crt --dry-run=client -o yaml | kubectl apply -f -
-
-kubectl create -n ${SYSTEM_NAMESPACE} secret tls server-certs \
-    --key="${out_dir}"/tls.key \
-    --cert="${out_dir}"/tls.crt --dry-run=client -o yaml | kubectl apply -f -
-
-# Create secrets for test namespaces
-kubectl create -n ${TEST_NAMESPACE} secret tls server-certs \
-    --key="${out_dir}"/tls.key \
-    --cert="${out_dir}"/tls.crt --dry-run=client -o yaml | kubectl apply -f -
-
-kubectl create -n ${TEST_NAMESPACE_ALT} secret tls server-certs \
-    --key="${out_dir}"/tls.key \
-    --cert="${out_dir}"/tls.crt --dry-run=client -o yaml | kubectl apply -f -