Repository: knative/client
Pull request #1057 (2020-10-11 22:24:32)

Fix various misspellings and linter items
## Description

This PR corrects misspellings identified by the [check-spelling action](https://github.com/marketplace/actions/check-spelling).

The misspellings have been reported at https://github.com/jsoref/knative-client/commit/94cf25e82b095fe1583a395f68ad193a80de3a78#commitcomment-43154244

The action reports that the changes in this PR would make it happy: https://github.com/jsoref/knative-client/commit/a085e32190331d342044106a39ae76d3ddeb5ac3

Note: this PR does not include the action. If you're interested in running a spell check on every PR and push, that can be offered separately.

<!-- Please add a short summary about what the pull request is going to bring on the table -->

## Changes

<!-- Please add list of more detailed changes. These changes should be reflected also in the commit messages -->

* spelling

## Reference

<!-- Please add the corresponding issue number which this pull request is about to fix -->
Fixes #

<!--
Please add an entrty to CHANGELOG.adoc file, too, as part of your Pull Request.

In the following cases, add a short description of PR to the unreleased section in CHANGELOG.adoc:

- 🎁 New feature
- 🐛 Bug fix
- ✨ Feature Update
- 🐣 Refactoring
- 🗑️ Remove feature or internal logic

See other entries in CHANGELOG.adoc as an example for how to add the entry, including a reference to the corresponding issue/PR

PLEASE DON'T ADD THAT LINE HERE IN THE PULL-REQUEST DESCRIPTION BUT DIRECTLY IN CHANGELOG.ADOC AND ADD CHANGELOG.ADOC AS PART OF YOUR PULL-REQUEST.
-->
I'm going to delay doing this until I get feedback. It'd be 🐛, but I expect to iterate before I get here.
<!--
To automatically lint go code in this pull request uncomment the line below. You get feedback as comments on your pull request then -->

/lint


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

This pull-request has been approved by: *<a href="https://github.com/knative/client/pull/1057#" title="Author self-approved">jsoref</a>*
To complete the [pull request process](https://git.k8s.io/community/contributors/guide/owners.md#the-code-review-process), please assign **cppforlife** after the PR has been reviewed.
You can assign the PR to them by writing `/assign @cppforlife` 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/master/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":["cppforlife"]} -->
knative-prow-robot: Hi @jsoref. Thanks for your PR.

I'm waiting for a [knative](https://github.com/orgs/knative/people) member to verify that this patch is reasonable to test. If it is, they should reply with `/ok-to-test` on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should [join the org](https://github.com/orgs/knative/people) to skip this step.

Once the patch is verified, the new status will be reflected by the `ok-to-test` label.

I understand the commands that are listed [here](https://go.k8s.io/bot-commands?repo=knative%2Fclient).

<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.
</details>

knative-prow-robot: Welcome @jsoref! It looks like this is your first PR to knative/client 🎉
knative-prow-robot: [APPROVALNOTIFIER] This PR is **APPROVED**

This pull-request has been approved by: *<a href="https://github.com/knative/client/pull/1057#" title="Author self-approved">jsoref</a>*, *<a href="https://github.com/knative/client/pull/1057#pullrequestreview-506290828" title="Approved">navidshaikh</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/master/OWNERS)~~ [navidshaikh]

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":[]} -->
knative-metrics-robot: The following is the coverage report on the affected files.
Say `/test pull-knative-client-go-coverage` to re-run this coverage report

File | Old Coverage | New Coverage | Delta
---- |:------------:|:------------:|:-----:
[cmd/kn/main.go](https://storage.cloud.google.com/knative-prow/pr-logs/pull/knative_client/1057/pull-knative-client-go-coverage/1315516066805321730/artifacts/line-cov.html#file0) | 75.7% | 71.4% | -4.3

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

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-knative-client-unit-tests | 36e31bb22980ffafdbfad4312105b825d99fdc69 | [link](https://prow.knative.dev/view/gs/knative-prow/pr-logs/pull/knative_client/1057/pull-knative-client-unit-tests/1315516066805321734) | `/test pull-knative-client-unit-tests`

[Full PR test history](https://gubernator.knative.dev/pr/knative_client/1057). [Your PR dashboard](https://gubernator.knative.dev/pr/jsoref).

<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 -->
knative-prow-robot: @jsoref: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-knative-client-unit-tests | 36e31bb22980ffafdbfad4312105b825d99fdc69 | [link](https://prow.knative.dev/view/gs/knative-prow/pr-logs/pull/knative_client/1057/pull-knative-client-unit-tests/1315516066805321734) | `/test pull-knative-client-unit-tests`
pull-knative-client-integration-tests-latest-release | 36e31bb22980ffafdbfad4312105b825d99fdc69 | [link](https://prow.knative.dev/view/gs/knative-prow/pr-logs/pull/knative_client/1057/pull-knative-client-integration-tests-latest-release/1315516066805321732) | `/test pull-knative-client-integration-tests-latest-release`

[Full PR test history](https://gubernator.knative.dev/pr/knative_client/1057). [Your PR dashboard](https://gubernator.knative.dev/pr/jsoref).

<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 -->
jsoref: Thanks for the feedback, I think I've addressed the items. (Sorry about the multiple forced-pushes, I'm having trouble reading GitHub today...)

I think this is close to ready. What should my steps going forward be?

Some projects tend ask me to collapse PRs like this into a single commit. Is that desired by this project?

5e3f4d7f17c0b2079c77a7d032f2857ab876d8ec seems to be a sample commit for cleanup, so I suspect that the PR should be a single commit titled `chore: spelling (#1057)` w/o an entry in the `CHANGELOG.adoc` file.

Collapsing / picking a commit message would be the last thing I'll do, once everyone is happy with the rest of the PR.
knative-prow-robot: [APPROVALNOTIFIER] This PR is **APPROVED**

This pull-request has been approved by: *<a href="https://github.com/knative/client/pull/1057#" title="Author self-approved">jsoref</a>*, *<a href="https://github.com/knative/client/pull/1057#pullrequestreview-506973011" title="Approved">maximilien</a>*, *<a href="https://github.com/knative/client/pull/1057#pullrequestreview-506290828" title="Approved">navidshaikh</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/master/OWNERS)~~ [maximilien,navidshaikh]

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":[]} -->
knative-prow-robot: [APPROVALNOTIFIER] This PR is **APPROVED**

This pull-request has been approved by: *<a href="https://github.com/knative/client/pull/1057#" title="Author self-approved">jsoref</a>*, *<a href="https://github.com/knative/client/pull/1057#pullrequestreview-506973011" title="Approved">maximilien</a>*, *<a href="https://github.com/knative/client/pull/1057#pullrequestreview-507054928" title="Approved">navidshaikh</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/master/OWNERS)~~ [maximilien,navidshaikh]

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":[]} -->
mattmoor: This is what we run now: https://github.com/knative-sandbox/.github/blob/628760d28ae8b4f3edf2ed3478586d81cbbfd578/workflow-templates/knative-style.yaml#L124-L145

Patch:
diff --git a/.github/pull-request-template.md b/.github/pull-request-template.md
index 142fe3ff..2714ab8f 100644
--- a/.github/pull-request-template.md
+++ b/.github/pull-request-template.md
@@ -17,7 +17,7 @@
 Fixes #
 
 <!--
-Please add an entrty to CHANGELOG.adoc file, too, as part of your Pull Request.
+Please add an entry to CHANGELOG.adoc file, too, as part of your Pull Request.
 
 In the following cases, add a short description of PR to the unreleased section in CHANGELOG.adoc:
 
diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc
index 0141bcf3..f4f10a7b 100644
--- a/CHANGELOG.adoc
+++ b/CHANGELOG.adoc
@@ -17,6 +17,11 @@
 |===
 | | Description | PR
 
+| 🐛
+| Fix various misspellings and linter items
+| https://github.com/knative/client/pull/1057[#1057]
+
+
 | 🎁
 | Add Aliases to Help Command and Remove Aliases in Short
 | https://github.com/knative/client/pull/1055[#1055]
@@ -352,7 +357,7 @@
 | https://github.com/knative/client/pull/819[#819]
 
 | 🐛
-| Update help messsage for `kn source apiserver` to reflect the new API
+| Update help message for `kn source apiserver` to reflect the new API
 | https://github.com/knative/client/pull/817[#817]
 
 | 🐛
diff --git a/conventions/cli.md b/conventions/cli.md
index 6aff59a8..01d5d040 100644
--- a/conventions/cli.md
+++ b/conventions/cli.md
@@ -51,7 +51,7 @@ be used:
 - `create` creates a resource.
 - `update` updates a resource.
 - `delete` deletes a resource.
-- `apply` for an idempotent "create-or-update", much like `kubetl apply`
+- `apply` for an idempotent "create-or-update", much like `kubectl apply`
 
 For a given resource, create and update should use the same arguments as much as
 possible and where it makes sense.
diff --git a/conventions/client.md b/conventions/client.md
index c5526b17..f89294e8 100644
--- a/conventions/client.md
+++ b/conventions/client.md
@@ -80,7 +80,7 @@ find the digest of the resolved image for the revision.
 
 If an client does not set the revision name, the client may find the
 `status.latestCreatedRevision` field useful, even though using it is subject to
-a race condition, if the client compares the relevant informatin on the found
+a race condition, if the client compares the relevant information on the found
 revision to the template. For example, if the image on the template matches the
 `latestCreatedRevision`'s image, the client is justified in using the
 `status.imageDigest` field from the revision.
diff --git a/docs/README.md b/docs/README.md
index 95de8988..e5bdafcc 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -72,7 +72,7 @@ Below are the options you can specify in the `kn` config file.
    plugins. It can be any directory that is visible to the user.
 
 2. `lookupPluginsInPath` which is the same as the persistent flag
-   `--lookup-plugins-in-path` and specficies if `kn` should look for plugins
+   `--lookup-plugins-in-path` and specifies if `kn` should look for plugins
    anywhere in the specified `PATH` environment variable. This is a boolean
    configuration option and the default value is `false`.
 
diff --git a/docs/cmd/kn_service_create.md b/docs/cmd/kn_service_create.md
index 8441f158..a27963a5 100644
--- a/docs/cmd/kn_service_create.md
+++ b/docs/cmd/kn_service_create.md
@@ -60,7 +60,7 @@ kn service create NAME --image IMAGE
       --async                             DEPRECATED: please use --no-wait instead. Do not wait for 'service create' operation to be completed.
       --autoscale-window string           Duration to look back for making auto-scaling decisions. The service is scaled to zero if no request was received in during that time. (eg: 10s)
       --cluster-local                     Specify that the service be private. (--no-cluster-local will make the service publicly available)
-      --cmd string                        Specify command to be used as entrypoint instead of default one. Example: --cmd /app/start or --cmd /app/start --arg myArg to pass aditional arguments.
+      --cmd string                        Specify command to be used as entrypoint instead of default one. Example: --cmd /app/start or --cmd /app/start --arg myArg to pass additional arguments.
       --concurrency-limit int             Hard Limit of concurrent requests to be processed by a single replica.
       --concurrency-target int            Recommendation for when to scale up based on the concurrent number of incoming request. Defaults to --concurrency-limit when given.
       --concurrency-utilization int       Percentage of concurrent requests utilization before scaling up. (default 70)
diff --git a/docs/cmd/kn_service_update.md b/docs/cmd/kn_service_update.md
index 0633a4e3..39e8f169 100644
--- a/docs/cmd/kn_service_update.md
+++ b/docs/cmd/kn_service_update.md
@@ -45,7 +45,7 @@ kn service update NAME
       --async                             DEPRECATED: please use --no-wait instead. Do not wait for 'service update' operation to be completed.
       --autoscale-window string           Duration to look back for making auto-scaling decisions. The service is scaled to zero if no request was received in during that time. (eg: 10s)
       --cluster-local                     Specify that the service be private. (--no-cluster-local will make the service publicly available)
-      --cmd string                        Specify command to be used as entrypoint instead of default one. Example: --cmd /app/start or --cmd /app/start --arg myArg to pass aditional arguments.
+      --cmd string                        Specify command to be used as entrypoint instead of default one. Example: --cmd /app/start or --cmd /app/start --arg myArg to pass additional arguments.
       --concurrency-limit int             Hard Limit of concurrent requests to be processed by a single replica.
       --concurrency-target int            Recommendation for when to scale up based on the concurrent number of incoming request. Defaults to --concurrency-limit when given.
       --concurrency-utilization int       Percentage of concurrent requests utilization before scaling up. (default 70)
diff --git a/docs/cmd/kn_source_binding_list.md b/docs/cmd/kn_source_binding_list.md
index f5b71cd1..b72e9d0d 100644
--- a/docs/cmd/kn_source_binding_list.md
+++ b/docs/cmd/kn_source_binding_list.md
@@ -14,7 +14,7 @@ kn source binding list
 
 ```
 
-  # List all sink binidngs
+  # List all sink bindings
   kn source binding list
 
   # List all sink bindings in YAML format
diff --git a/docs/operations/autoscaling.md b/docs/operations/autoscaling.md
index 6329e004..cc1fd948 100644
--- a/docs/operations/autoscaling.md
+++ b/docs/operations/autoscaling.md
@@ -2,7 +2,7 @@
 
 The Knative Pod Autoscaler (KPA), provides fast, request-based autoscaling
 capabilities. To correctly configure autoscaling to zero for revisions, you must
-modify its paramenters.
+modify its parameters.
 
 `target` defines how many concurrent requests are wanted at a given time (soft
 limit) and is the recommended configuration for autoscaling in Knative.
diff --git a/docs/workflows/basic.md b/docs/workflows/basic.md
index 319ffef8..fc21c37b 100644
--- a/docs/workflows/basic.md
+++ b/docs/workflows/basic.md
@@ -1,6 +1,6 @@
 # Basic Workflow
 
-In this basic worflow we show the CRUD (create, read, update, delete) operations
+In this basic workflow we show the CRUD (create, read, update, delete) operations
 on a service. We use a well known
 [simple Hello World service](https://github.com/knative/docs/tree/master/docs/serving/samples/hello-world/helloworld-go)
 that reads the environment variable `TARGET` and prints it as output.
diff --git a/pkg/dynamic/client.go b/pkg/dynamic/client.go
index 70070154..daa0a8f2 100644
--- a/pkg/dynamic/client.go
+++ b/pkg/dynamic/client.go
@@ -254,7 +254,7 @@ func (c *knDynamicClient) ListChannelsUsingGVKs(gvks *[]schema.GroupVersionKind,
 
 		gvr := gvk.GroupVersion().WithResource(strings.ToLower(gvk.Kind) + "s")
 
-		// list objects of chaneel type with this GVR
+		// list objects of channel type with this GVR
 		cList, err := c.client.Resource(gvr).Namespace(namespace).List(context.TODO(), options)
 		if err != nil {
 			return nil, err
diff --git a/pkg/dynamic/client_mock.go b/pkg/dynamic/client_mock.go
index 7a5fe066..bcc594c6 100644
--- a/pkg/dynamic/client_mock.go
+++ b/pkg/dynamic/client_mock.go
@@ -30,8 +30,8 @@ type MockKnDynamicClient struct {
 	recorder *ClientRecorder
 }
 
-// NewMockKnDyanmicClient returns a new mock instance which you need to record for
-func NewMockKnDyanmicClient(t *testing.T, ns ...string) *MockKnDynamicClient {
+// NewMockKnDynamicClient returns a new mock instance which you need to record for
+func NewMockKnDynamicClient(t *testing.T, ns ...string) *MockKnDynamicClient {
 	namespace := "default"
 	if len(ns) > 0 {
 		namespace = ns[0]
diff --git a/pkg/kn/commands/flags/sink.go b/pkg/kn/commands/flags/sink.go
index abd3963e..becd710d 100644
--- a/pkg/kn/commands/flags/sink.go
+++ b/pkg/kn/commands/flags/sink.go
@@ -50,7 +50,7 @@ func (i *SinkFlags) AddWithFlagName(cmd *cobra.Command, fname, short string) {
 		"If a prefix is not provided, it is considered as a Knative service."
 
 	for _, p := range config.GlobalConfig.SinkMappings() {
-		//user configration might override the default configuration
+		//user configuration might override the default configuration
 		sinkMappings[p.Prefix] = schema.GroupVersionResource{
 			Resource: p.Resource,
 			Group:    p.Group,
diff --git a/pkg/kn/commands/namespaced.go b/pkg/kn/commands/namespaced.go
index e957de5c..77ece9d0 100644
--- a/pkg/kn/commands/namespaced.go
+++ b/pkg/kn/commands/namespaced.go
@@ -44,7 +44,7 @@ func AddNamespaceFlags(flags *pflag.FlagSet, allowAll bool) {
 // GetNamespace returns namespace from command specified by flag
 func (params *KnParams) GetNamespace(cmd *cobra.Command) (string, error) {
 	namespace := cmd.Flag("namespace").Value.String()
-	// check value of all-namepaces only if its defined
+	// check value of all-namespaces only if its defined
 	if cmd.Flags().Lookup("all-namespaces") != nil {
 		all, err := cmd.Flags().GetBool("all-namespaces")
 		if err != nil {
@@ -54,7 +54,7 @@ func (params *KnParams) GetNamespace(cmd *cobra.Command) (string, error) {
 			return "", nil
 		}
 	}
-	// if all-namepaces=False or namespace not given, use default namespace
+	// if all-namespaces=False or namespace not given, use default namespace
 	if namespace == "" {
 		var err error
 		namespace, err = params.CurrentNamespace()
diff --git a/pkg/kn/commands/service/export.go b/pkg/kn/commands/service/export.go
index e05bcc7c..55326677 100644
--- a/pkg/kn/commands/service/export.go
+++ b/pkg/kn/commands/service/export.go
@@ -194,7 +194,7 @@ func constructServiceFromRevision(latestSvc *servingv1.Service, revision *servin
 		ObjectMeta: latestSvc.Spec.Template.ObjectMeta,
 	}
 
-	//ovrriding revision template annotations with revision annotations
+	//overriding revision template annotations with revision annotations
 	stripIgnoredAnnotationsFromRevision(revision)
 	exportedSvc.Spec.Template.ObjectMeta.Annotations = revision.ObjectMeta.Annotations
 
diff --git a/pkg/kn/commands/service/human_readable_flags.go b/pkg/kn/commands/service/human_readable_flags.go
index 0a1e4770..281678d1 100644
--- a/pkg/kn/commands/service/human_readable_flags.go
+++ b/pkg/kn/commands/service/human_readable_flags.go
@@ -60,7 +60,7 @@ func printKServiceList(kServiceList *servingv1.ServiceList, options hprinters.Pr
 func printKService(kService *servingv1.Service, options hprinters.PrintOptions) ([]metav1beta1.TableRow, error) {
 	name := kService.Name
 	url := kService.Status.URL
-	lastestRevision := kService.Status.ConfigurationStatusFields.LatestReadyRevisionName
+	latestRevision := kService.Status.ConfigurationStatusFields.LatestReadyRevisionName
 	age := commands.TranslateTimestampSince(kService.CreationTimestamp)
 	conditions := commands.ConditionsValue(kService.Status.Conditions)
 	ready := commands.ReadyCondition(kService.Status.Conditions)
@@ -77,7 +77,7 @@ func printKService(kService *servingv1.Service, options hprinters.PrintOptions)
 	row.Cells = append(row.Cells,
 		name,
 		url,
-		lastestRevision,
+		latestRevision,
 		age,
 		conditions,
 		ready,
diff --git a/pkg/kn/commands/source/binding/list.go b/pkg/kn/commands/source/binding/list.go
index c326ccd8..6baab0f4 100644
--- a/pkg/kn/commands/source/binding/list.go
+++ b/pkg/kn/commands/source/binding/list.go
@@ -30,7 +30,7 @@ func NewBindingListCommand(p *commands.KnParams) *cobra.Command {
 		Use:   "list",
 		Short: "List sink bindings",
 		Example: `
-  # List all sink binidngs
+  # List all sink bindings
   kn source binding list
 
   # List all sink bindings in YAML format
diff --git a/pkg/kn/commands/source/human_readable_flags.go b/pkg/kn/commands/source/human_readable_flags.go
index c95d2224..ac057938 100644
--- a/pkg/kn/commands/source/human_readable_flags.go
+++ b/pkg/kn/commands/source/human_readable_flags.go
@@ -33,7 +33,7 @@ var sourceTypeDescription = map[string]string{
 	"ContainerSource": "Generate events by Container image and send to addressable",
 	// TODO: source plugin could bring the description that kn could look for based on the availability
 	// of the plugin and fetch the description from there, for now we dont have that capability in kn
-	// so we're shipping harcoded short description of the KafkaSource as below
+	// so we're shipping hardcoded short description of the KafkaSource as below
 	"KafkaSource": "Route events from Apache Kafka Server to addressable",
 }
 
diff --git a/pkg/kn/commands/subscription/flags.go b/pkg/kn/commands/subscription/flags.go
index d5495b6b..e6a7bd4d 100644
--- a/pkg/kn/commands/subscription/flags.go
+++ b/pkg/kn/commands/subscription/flags.go
@@ -34,7 +34,7 @@ func ListHandlers(h hprinters.PrintHandler) {
 	subscriptionColumnDefinitions := []metav1beta1.TableColumnDefinition{
 		{Name: "Namespace", Type: "string", Description: "Namespace of the subscription", Priority: 0},
 		{Name: "Name", Type: "string", Description: "Name of the subscription", Priority: 1},
-		{Name: "Channel", Type: "string", Description: "Channel of the subcription", Priority: 1},
+		{Name: "Channel", Type: "string", Description: "Channel of the subscription", Priority: 1},
 		{Name: "Subscriber", Type: "string", Description: "Subscriber sink of the subscription", Priority: 1},
 		{Name: "Reply", Type: "string", Description: "Reply sink of the subscription", Priority: 1},
 		{Name: "Dead Letter Sink", Type: "string", Description: "DeadLetterSink of the subscription", Priority: 1},
diff --git a/pkg/kn/config/config.go b/pkg/kn/config/config.go
index 2a20a621..b17bd4cf 100644
--- a/pkg/kn/config/config.go
+++ b/pkg/kn/config/config.go
@@ -97,7 +97,7 @@ var globalConfig = config{}
 // GlobalConfig is the global configuration available for every sub-command
 var GlobalConfig Config = &globalConfig
 
-// bootstrapConfig reads in config file and boostrap options if set.
+// BootstrapConfig reads in config file and bootstrap options if set.
 func BootstrapConfig() error {
 
 	// Create a new FlagSet for the bootstrap flags and parse those. This will
diff --git a/pkg/kn/flags/channel_types.go b/pkg/kn/flags/channel_types.go
index 102476cb..69fd50d3 100644
--- a/pkg/kn/flags/channel_types.go
+++ b/pkg/kn/flags/channel_types.go
@@ -59,7 +59,7 @@ func (i *ChannelTypeFlags) Add(f *pflag.FlagSet) {
 			"Examples: '--type messaging.knative.dev:v1alpha1:KafkaChannel' for specifying explicit Group:Version:Kind.")
 
 	for _, p := range config.GlobalConfig.ChannelTypeMappings() {
-		//user configration might override the default configuration
+		//user configuration might override the default configuration
 		ctypeMappings[p.Alias] = schema.GroupVersionKind{
 			Kind:    p.Kind,
 			Group:   p.Group,
diff --git a/pkg/kn/flags/podspec.go b/pkg/kn/flags/podspec.go
index 6d4869aa..e0c71717 100644
--- a/pkg/kn/flags/podspec.go
+++ b/pkg/kn/flags/podspec.go
@@ -102,7 +102,7 @@ func (p *PodSpecFlags) AddFlags(flagset *pflag.FlagSet) []string {
 
 	flagset.StringVarP(&p.Command, "cmd", "", "",
 		"Specify command to be used as entrypoint instead of default one. "+
-			"Example: --cmd /app/start or --cmd /app/start --arg myArg to pass aditional arguments.")
+			"Example: --cmd /app/start or --cmd /app/start --arg myArg to pass additional arguments.")
 	flagNames = append(flagNames, "cmd")
 
 	flagset.StringArrayVarP(&p.Arg, "arg", "", []string{},
diff --git a/pkg/kn/plugin/manager.go b/pkg/kn/plugin/manager.go
index 04ad0242..28353ac4 100644
--- a/pkg/kn/plugin/manager.go
+++ b/pkg/kn/plugin/manager.go
@@ -93,7 +93,7 @@ func NewManager(pluginDir string, lookupInPath bool) *Manager {
 
 // FindPlugin checks if a plugin for the given parts exist and return it.
 // The args given must not contain any options and contain only
-// the comands (like in [ "source", "github" ] for a plugin called 'kn-source-github'
+// the commands (like in [ "source", "github" ] for a plugin called 'kn-source-github'
 // The plugin with the most specific (longest) name is returned or nil if non is found.
 // An error is returned if the lookup fails for some reason like an io error
 func (manager *Manager) FindPlugin(parts []string) (Plugin, error) {
diff --git a/pkg/kn/traffic/compute.go b/pkg/kn/traffic/compute.go
index 77ea8896..470cbe70 100644
--- a/pkg/kn/traffic/compute.go
+++ b/pkg/kn/traffic/compute.go
@@ -49,7 +49,7 @@ func newTarget(tag, revision string, percent int64, latestRevision bool) (target
 	if latestRevision {
 		target.LatestRevision = ptr.Bool(true)
 	} else {
-		// as LatestRevision and RevisionName can't be specfied together for a target
+		// as LatestRevision and RevisionName can't be specified together for a target
 		target.LatestRevision = ptr.Bool(false)
 		target.RevisionName = revision
 	}
diff --git a/pkg/messaging/v1beta1/client.go b/pkg/messaging/v1beta1/client.go
index 7ea63552..2b4a3f7b 100644
--- a/pkg/messaging/v1beta1/client.go
+++ b/pkg/messaging/v1beta1/client.go
@@ -25,7 +25,7 @@ import (
 )
 
 // KnMessagingClient to Eventing Messaging. All methods are relative to
-// the namespace specificied during construction
+// the namespace specified during construction
 type KnMessagingClient interface {
 	// Get the Channels client
 	ChannelsClient() KnChannelsClient
diff --git a/pkg/serving/v1/client_mock.go b/pkg/serving/v1/client_mock.go
index 9591fcc1..8c6d5742 100644
--- a/pkg/serving/v1/client_mock.go
+++ b/pkg/serving/v1/client_mock.go
@@ -181,7 +181,7 @@ func (sr *ServingRecorder) GetConfiguration(name string, config *servingv1.Confi
 
 }
 
-// Check for the base reviision
+// GetBaseRevision returns the base revision
 func (c *MockKnServingClient) GetBaseRevision(service *servingv1.Service) (*servingv1.Revision, error) {
 	return getBaseRevision(c, service)
 }
diff --git a/pkg/util/compare.go b/pkg/util/compare.go
index 0d28395f..b41e9185 100644
--- a/pkg/util/compare.go
+++ b/pkg/util/compare.go
@@ -22,7 +22,7 @@ import (
 )
 
 // ContainsAll is a comparison utility, compares given substrings against
-// target string and returns the gotest.tools/assert/cmp.Comaprison function.
+// target string and returns the gotest.tools/assert/cmp.Comparison function.
 // Provide target string as first arg, followed by any number of substring as args
 func ContainsAll(target string, substrings ...string) cmp.Comparison {
 	return func() cmp.Result {
@@ -57,7 +57,7 @@ func ContainsAllIgnoreCase(target string, substrings ...string) cmp.Comparison {
 }
 
 // ContainsNone is a comparison utility, compares given substrings against
-// target string and returns the gotest.tools/assert/cmp.Comaprison function.
+// target string and returns the gotest.tools/assert/cmp.Comparison function.
 // Provide target string as first arg, followed by any number of substring as args
 func ContainsNone(target string, substrings ...string) cmp.Comparison {
 	return func() cmp.Result {
diff --git a/pkg/util/unstructured.go b/pkg/util/unstructured.go
index 717f347f..77f2e7a3 100644
--- a/pkg/util/unstructured.go
+++ b/pkg/util/unstructured.go
@@ -22,7 +22,7 @@ import (
 	"k8s.io/apimachinery/pkg/runtime"
 )
 
-// ToUnstructuredList is to converts an object to unstructured.UnstructuredList.
+// ToUnstructuredList is to convert an object to unstructured.UnstructuredList.
 // If the object is not a list type, it will convert to a single item UnstructuredList.
 func ToUnstructuredList(obj runtime.Object) (*unstructured.UnstructuredList, error) {
 	unstructuredList := &unstructured.UnstructuredList{}
@@ -32,8 +32,8 @@ func ToUnstructuredList(obj runtime.Object) (*unstructured.UnstructuredList, err
 		if err != nil {
 			return nil, err
 		}
-		for _, obji := range items {
-			ud, err := toUnstructured(obji)
+		for _, item := range items {
+			ud, err := toUnstructured(item)
 			if err != nil {
 				return nil, err
 			}


Test patch:
diff --git a/cmd/kn/main_test.go b/cmd/kn/main_test.go
index 4c642646..d2151d4c 100644
--- a/cmd/kn/main_test.go
+++ b/cmd/kn/main_test.go
@@ -142,9 +142,9 @@ func TestUnknownCommands(t *testing.T) {
 		expectedError []string
 	}{
 		{
-			[]string{"service", "udpate", "test", "--scale-min=0"},
+			[]string{"service", "unknown", "test", "--scale-min=0"},
 			[]string{"service"},
-			[]string{"unknown sub-command", "udpate"},
+			[]string{"unknown sub-command", "unknown"},
 		},
 		{
 			[]string{"service", "--foo=bar"},
diff --git a/lib/test/capture_output.go b/lib/test/capture_output.go
index b70ba7dd..0a3ba45a 100644
--- a/lib/test/capture_output.go
+++ b/lib/test/capture_output.go
@@ -21,7 +21,7 @@
 // doSomeActionThatWritesToStdOutAndStdErr()
 // stdOut, stdErr := capture.Close()
 //
-// CaptureOutpu() and capture.Close() should always come in pairs as Close() also
+// CaptureOutput() and capture.Close() should always come in pairs as Close() also
 // restores the old streams
 package test
 
diff --git a/lib/test/cli.go b/lib/test/cli.go
index 89a97285..22536496 100644
--- a/lib/test/cli.go
+++ b/lib/test/cli.go
@@ -22,8 +22,8 @@ import (
 )
 
 const (
-	seperatorHeavy = "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
-	seperatorLight = "╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍"
+	separatorHeavy = "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
+	separatorLight = "╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍"
 )
 
 // Kn type
@@ -159,10 +159,10 @@ func dumpService(namespace string, args []string) string {
 
 	// Service info
 	appendResourceInfo(&buffer, "ksvc", name, namespace)
-	fmt.Fprintf(&buffer, "%s\n", seperatorHeavy)
+	fmt.Fprintf(&buffer, "%s\n", separatorHeavy)
 	// Service's configuration
 	appendResourceInfo(&buffer, "configuration", name, namespace)
-	fmt.Fprintf(&buffer, "%s\n", seperatorHeavy)
+	fmt.Fprintf(&buffer, "%s\n", separatorHeavy)
 	// Get all revisions for this service
 	appendResourceInfoWithNameSelector(&buffer, "revision", name, namespace, "serving.knative.dev/service")
 	// Get all routes for this service
@@ -218,7 +218,7 @@ func appendResourceInfoWithNameSelector(buffer *bytes.Buffer, kind string, name
 
 	out, err := RunKubectl(namespace, argsDescribe...)
 	appendCLIOutput(buffer, fmt.Sprintf("kubectl describe %s %s --namespace %s%s", kind, name, namespace, extra), out, err)
-	fmt.Fprintf(buffer, "%s\n", seperatorLight)
+	fmt.Fprintf(buffer, "%s\n", separatorLight)
 	out, err = RunKubectl(namespace, argsGet...)
 	appendCLIOutput(buffer, fmt.Sprintf("kubectl get %s %s --namespace %s -oyaml%s", kind, name, namespace, extra), out, err)
 }
diff --git a/lib/test/integration.go b/lib/test/integration.go
index ff6aa3d7..aa01dc48 100644
--- a/lib/test/integration.go
+++ b/lib/test/integration.go
@@ -113,7 +113,7 @@ func GetNextServiceName(base string) string {
 	return base + strconv.Itoa(current)
 }
 
-// CreateNamespace creates and tests a namesspace creation invoking kubectl
+// CreateNamespace creates and tests a namespace creation invoking kubectl
 func CreateNamespace(namespace string) error {
 	expectedOutputRegexp := fmt.Sprintf("namespace?.+%s.+created", namespace)
 	out, err := createNamespaceWithRetry(namespace, MaxRetries)
@@ -132,7 +132,7 @@ func CreateNamespace(namespace string) error {
 	return nil
 }
 
-// DeleteNamespace deletes and tests a namesspace deletion invoking kubectl
+// DeleteNamespace deletes and tests a namespace deletion invoking kubectl
 func DeleteNamespace(namespace string) error {
 	kubectl := Kubectl{namespace}
 	out, err := kubectl.Run("delete", "namespace", namespace)
diff --git a/lib/test/result_collector.go b/lib/test/result_collector.go
index a74e1ef5..526fe954 100644
--- a/lib/test/result_collector.go
+++ b/lib/test/result_collector.go
@@ -134,7 +134,7 @@ func (c *KnRunResultCollector) printCommands(out io.Writer) {
 	for i, result := range c.results {
 		c.printCommand(out, result)
 		if i < len(c.results)-1 {
-			fmt.Fprintf(out, "┣━%s\n", seperatorHeavy)
+			fmt.Fprintf(out, "┣━%s\n", separatorHeavy)
 		}
 	}
 }
diff --git a/pkg/dynamic/client_mock_test.go b/pkg/dynamic/client_mock_test.go
index 31edf639..63852a66 100644
--- a/pkg/dynamic/client_mock_test.go
+++ b/pkg/dynamic/client_mock_test.go
@@ -25,7 +25,7 @@ import (
 
 func TestMockKnDynamicClient(t *testing.T) {
 
-	client := NewMockKnDyanmicClient(t)
+	client := NewMockKnDynamicClient(t)
 
 	recorder := client.Recorder()
 
diff --git a/pkg/kn/commands/service/update_test.go b/pkg/kn/commands/service/update_test.go
index 749572b7..d38de86b 100644
--- a/pkg/kn/commands/service/update_test.go
+++ b/pkg/kn/commands/service/update_test.go
@@ -120,7 +120,7 @@ func fakeServiceUpdate(original *servingv1.Service, args []string) (
 	return
 }
 
-func TestServcieUpdateNoFlags(t *testing.T) {
+func TestServiceUpdateNoFlags(t *testing.T) {
 	orig := newEmptyService()
 
 	action, _, _, err := fakeServiceUpdate(orig, []string{"service", "update", "foo"})
diff --git a/pkg/kn/commands/trigger/create_test.go b/pkg/kn/commands/trigger/create_test.go
index 39e2abf1..23a6b021 100644
--- a/pkg/kn/commands/trigger/create_test.go
+++ b/pkg/kn/commands/trigger/create_test.go
@@ -67,7 +67,7 @@ func TestTriggerWithInjectCreate(t *testing.T) {
 	eventingRecorder.Validate()
 }
 
-func TestTriggetWithInjecError(t *testing.T) {
+func TestTriggerWithInjectError(t *testing.T) {
 	eventingClient := clienteventingv1beta1.NewMockKnEventingClient(t)
 	dynamicClient := dynamicfake.CreateFakeKnDynamicClient("default", &servingv1.Service{
 		TypeMeta:   metav1.TypeMeta{Kind: "Service", APIVersion: "serving.knative.dev/v1"},
diff --git a/pkg/kn/commands/version/version_test.go b/pkg/kn/commands/version/version_test.go
index 8d380af8..2b2cc923 100644
--- a/pkg/kn/commands/version/version_test.go
+++ b/pkg/kn/commands/version/version_test.go
@@ -58,7 +58,7 @@ func TestVersion(t *testing.T) {
 		BuildDate = fakeBuildDate
 		GitRevision = fakeGitRevision
 		knVersionObj = knVersion{fakeVersion, fakeBuildDate, fakeGitRevision, apiVersions}
-		expectedOutput = genVersionOuput(t, knVersionObj)
+		expectedOutput = genVersionOutput(t, knVersionObj)
 		knParams = &commands.KnParams{}
 		versionCmd = NewVersionCommand(knParams)
 		output = new(bytes.Buffer)
@@ -114,7 +114,7 @@ func TestVersion(t *testing.T) {
 
 }
 
-func genVersionOuput(t *testing.T, obj knVersion) string {
+func genVersionOutput(t *testing.T, obj knVersion) string {
 	tmpl, err := template.New("versionOutput").Parse(versionOutputTemplate)
 	assert.NilError(t, err)
 	buf := bytes.Buffer{}
diff --git a/pkg/kn/traffic/compute_test.go b/pkg/kn/traffic/compute_test.go
index 71262b30..02467113 100644
--- a/pkg/kn/traffic/compute_test.go
+++ b/pkg/kn/traffic/compute_test.go
@@ -186,7 +186,7 @@ func TestCompute(t *testing.T) {
 	} {
 		t.Run(testCase.name, func(t *testing.T) {
 			if lper, lrev, ltag := len(testCase.desiredPercents), len(testCase.desiredRevisions), len(testCase.desiredTags); lper != lrev || lper != ltag {
-				t.Fatalf("length of desird revisions, tags and percents is mismatched: got=(desiredPercents, desiredRevisions, desiredTags)=(%d, %d, %d)",
+				t.Fatalf("length of desired revisions, tags and percents is mismatched: got=(desiredPercents, desiredRevisions, desiredTags)=(%d, %d, %d)",
 					lper, lrev, ltag)
 			}
 
@@ -225,7 +225,7 @@ func TestComputeErrMsg(t *testing.T) {
 			"expecting the value format in value1=value2, given @latest=",
 		},
 		{
-			"repeatedly spliting traffic to @latest revision",
+			"repeatedly splitting traffic to @latest revision",
 			append(newServiceTraffic([]servingv1.TrafficTarget{}), newTarget("", "", 100, true)),
 			[]string{"--traffic", "@latest=90,@latest=10"},
 			"repetition of identifier @latest is not allowed, use only once with --traffic flag",
@@ -273,7 +273,7 @@ func TestComputeErrMsg(t *testing.T) {
 			"invalid value for traffic percent -100, expected 0 <= percent <= 100",
 		},
 		{
-			"repeatedly spliting traffic to the same revision",
+			"repeatedly splitting traffic to the same revision",
 			append(newServiceTraffic([]servingv1.TrafficTarget{}), newTarget("", "", 100, true)),
 			[]string{"--traffic", "echo-v1=40", "--traffic", "echo-v1=60"},
 			"repetition of revision reference echo-v1 is not allowed, use only once with --traffic flag",
diff --git a/pkg/util/unstructured_test.go b/pkg/util/unstructured_test.go
index 8f40db4e..55a38c69 100644
--- a/pkg/util/unstructured_test.go
+++ b/pkg/util/unstructured_test.go
@@ -38,16 +38,16 @@ func TestToUnstructuredList(t *testing.T) {
 		},
 	}
 	expectedList.Items = []unstructured.Unstructured{createUnstructured("s1"), createUnstructured("s2")}
-	unstructedList, err := ToUnstructuredList(&serviceList)
+	unstructuredList, err := ToUnstructuredList(&serviceList)
 	assert.NilError(t, err)
-	assert.DeepEqual(t, unstructedList, expectedList)
+	assert.DeepEqual(t, unstructuredList, expectedList)
 
 	service1 := createService("s3")
 	expectedList = &unstructured.UnstructuredList{}
 	expectedList.Items = []unstructured.Unstructured{createUnstructured("s3")}
-	unstructedList, err = ToUnstructuredList(&service1)
+	unstructuredList, err = ToUnstructuredList(&service1)
 	assert.NilError(t, err)
-	assert.DeepEqual(t, unstructedList, expectedList)
+	assert.DeepEqual(t, unstructuredList, expectedList)
 }
 
 func createService(name string) servingv1.Service {
diff --git a/pkg/wait/test_wait_helper.go b/pkg/wait/test_wait_helper.go
index 96973c91..79bfe5fb 100644
--- a/pkg/wait/test_wait_helper.go
+++ b/pkg/wait/test_wait_helper.go
@@ -42,7 +42,7 @@ func NewFakeWatch(events []watch.Event) *FakeWatch {
 	}
 }
 
-// Stop the watch challend
+// Stop the watch channel
 func (f *FakeWatch) Stop() {
 	f.StopCalled++
 }
diff --git a/scripts/test-infra/library.sh b/scripts/test-infra/library.sh
index ab9f303f..4628255f 100755
--- a/scripts/test-infra/library.sh
+++ b/scripts/test-infra/library.sh
@@ -466,7 +466,7 @@ function start_release_eventing_sugar_controller() {
   start_knative_eventing_extension "https://storage.googleapis.com/knative-releases/eventing/previous/v$1/eventing-sugar-controller.yaml" "knative-eventing"
 }
 
-# Install the sugar cotroller eventing extension
+# Install the sugar controller eventing extension
 function start_latest_eventing_sugar_controller() {
   start_knative_eventing_extension "${KNATIVE_EVENTING_SUGAR_CONTROLLER_RELEASE}" "knative-eventing"
 }
diff --git a/scripts/test-infra/performance-tests.sh b/scripts/test-infra/performance-tests.sh
index a56e975d..ebea624f 100755
--- a/scripts/test-infra/performance-tests.sh
+++ b/scripts/test-infra/performance-tests.sh
@@ -136,7 +136,7 @@ function reconcile_benchmark_clusters() {
   # can be as long as <update_clusters interval>.
 }
 
-# Parse flags and excute the command.
+# Parse flags and execute the command.
 function main() {
   if (( ! IS_PROW )); then
     abort "this script should only be run by Prow since it needs secrets created on Prow cluster"
diff --git a/test/e2e/traffic_split_test.go b/test/e2e/traffic_split_test.go
index ac1ee49b..b6f3ac86 100644
--- a/test/e2e/traffic_split_test.go
+++ b/test/e2e/traffic_split_test.go
@@ -32,7 +32,7 @@ var targetsSeparator = "|"
 var targetFieldsSeparator = ","
 var targetFieldsLength = 4
 
-// returns deployed service targets separated by '|' and each target fields seprated by comma
+// returns deployed service targets separated by '|' and each target fields separated by comma
 var targetsJsonPath = "jsonpath={range .status.traffic[*]}{.tag}{','}{.revisionName}{','}{.percent}{','}{.latestRevision}{'|'}{end}"
 
 // TargetFields are used in e2e to store expected fields per traffic target
@@ -254,7 +254,7 @@ func TestTrafficSplit(t *testing.T) {
 			test.ServiceDelete(r, serviceName)
 		},
 	)
-	// test reducing number of targets from traffic blockdd
+	// test reducing number of targets from traffic blocked
 	t.Run("RemoveTag",
 		func(t *testing.T) {
 			t.Log("remove a revision with tag old from traffic block entirely")
@@ -401,7 +401,7 @@ func TestTrafficSplit(t *testing.T) {
 			expectedTargets := []TargetFields{newTargetFields("", rev2, 100, true),
 				newTargetFields("old", rev1, 0, false),
 				// Tagging by revision name adds a new target even though latestReadyRevision==rev2,
-				// because we didn't refer @latest reference, but explcit name of revision.
+				// because we didn't refer @latest reference, but explicit name of revision.
 				// In spec of traffic block (not status) either latestReadyRevision:true or revisionName can be given per target
 				newTargetFields("latest", rev2, 0, false)}