Commit Graph

7 Commits

Author SHA1 Message Date
Gunjan Vyas a1079df154
Adding completion for remaining Eventing resources (#1567)
* Added completion for trigger

* Added tests for trigger

* Added container sources completion

* Added tests for container source completion

* Add completion helper for apiserver sources

* Added tests for apiserver sources

* Added completion for binding sources

* Added tests for sink binding completion

* Added completion for ping source

* Added tests for ping source completion

* Added completion for channel

* Added completion for subscription

* Added tests for channels

* Added tests for subscription completion

* Kn params initialization fix and resource name fix in tests
2022-01-18 01:08:32 -08:00
Matej Vasek c62842355a
Use context.Context in API methods (#1274)
* Refactor: add ctx param to KnServingClient funs

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Passing ctx from knServingClient to ServingV1Interface

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Making wait function cancellable

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Test using background ctx

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Using cmd.Context() in pkg/kn/commands

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Handling SIGINT and SIGTERM

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Refactor: add ctx param to KnEventingClient funs

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Passing ctx from knServingClient to knative.dev interfaces

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Using cmd.Context() in pkg/kn/commands

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Test using background ctx

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* fixup style

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Removing unnecessary dependency

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Refactor: add ctx param to KnChannelsClient funs

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Passing ctx from knServingClient to knative.dev interfaces

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Using cmd.Context() in pkg/kn/commands

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Refactor: add ctx param to KnSubscriptionsClient funs

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Passing ctx from subscriptionsClient to knative.dev interfaces

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Using cmd.Context() in pkg/kn/commands

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Refactor: add ctx param to KnSinkBindingClient funs

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Passing ctx from knBindingClient to knative.dev interfaces

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Using cmd.Context() in pkg/kn/commands

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Test using background ctx

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Refactor: add ctx param to KnDynamicClient funs

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Passing ctx from knDynamicClient to knative.dev interfaces

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Using cmd.Context() in pkg/kn/commands

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Test using background ctx

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Refactor: add ctx param to KnAPIServerSourcesClient funs

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Passing ctx from APIServerSourcesRecorder to knative.dev interfaces

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Using cmd.Context() in pkg/kn/commands

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Test using background ctx

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Refactor: add ctx param to KnContainerSourcesClient funs

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Passing ctx from containerSourcesClient to knative.dev interfaces

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Using cmd.Context() in pkg/kn/commands

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Test using background ctx

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Refactor: add ctx param to KnPingSourcesClient funs

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Passing ctx from pingSourcesClient to knative.dev interfaces

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Using cmd.Context() in pkg/kn/commands

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Test using background ctx

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Removing ctx param from RawClient()

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* ctx for watch/polling

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* fix per review request

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Refactor: extract ctx

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Refactor: Namespace not requiring ctx

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* fixup

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Revert "Handling SIGINT and SIGTERM"

This reverts commit 9598646fda.

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Update CHANGELOG

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Add test for Wait()

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* Add test for Wait()

Signed-off-by: Matej Vasek <mvasek@redhat.com>
2021-03-26 09:23:20 -07:00
Roland Huß b916a5b3ed
Add grouping for help message + streamlined help messages (#887)
* Add grouping for help message + streamlined help messages

The top-level looks like

kn is the command line interface for managing Knative Serving and Eventing objects

 Find more information about Knative at: https://knative.dev

Serving Commands:
  service     Manage Knative services
  revision    Manage service revisions
  route       List and show service routes

Eventing Commands:
  source      Manage event sources
  trigger     Manage event triggers

Other Commands:
  plugin      Manage kn plugins
  completion  Output shell completion code
  version     Show the version of this client

Use "kn <command> --help" for more information about a given command.
Use "kn options" for a list of global command-line options (applies to all commands).

The following changes have been applied:

* Add CommandGroups for grouping commands together
* Add flexible templating for the help messages
* Moved global options to an own command ('kn options', much like 'kubectl options')
* Aligned wording and typography of help messages

These features has been highly inspired by kubectl grouping & help templating but has been considerably been stripped down to the needs of kn.

Signed-off-by: Roland Huß <roland@ro14nd.de>

* chore: Add missing file

* Update pkg/templates/command_groups.go

Co-authored-by: Matt Moore <mattmoor@vmware.com>

* chore: Add some test for error messages

* fix formatting

* chore: Add test

* moar tests

* Update pkg/kn/commands/completion/completion.go

Co-authored-by: Navid Shaikh <nshaikh@redhat.com>

* Update pkg/kn/commands/source/apiserver/delete.go

Co-authored-by: Navid Shaikh <nshaikh@redhat.com>

* Update pkg/kn/commands/service/list.go

Co-authored-by: Navid Shaikh <nshaikh@redhat.com>

* Update pkg/kn/commands/route/route.go

Co-authored-by: Navid Shaikh <nshaikh@redhat.com>

* Update pkg/kn/commands/revision/delete.go

Co-authored-by: Navid Shaikh <nshaikh@redhat.com>

* Update pkg/kn/commands/plugin/plugin.go

Co-authored-by: Navid Shaikh <nshaikh@redhat.com>

* Update pkg/kn/commands/service/delete.go

Co-authored-by: Navid Shaikh <nshaikh@redhat.com>

* Update pkg/kn/commands/revision/delete.go

Co-authored-by: Navid Shaikh <nshaikh@redhat.com>

* Update pkg/kn/commands/service/delete.go

Co-authored-by: Navid Shaikh <nshaikh@redhat.com>

* regen docs

* chore: Update conventions doc

* Move some direct configuration of rootcmd to NewRootCommand()

* Moved CaptureOutput to "test" package for reuse

Co-authored-by: Matt Moore <mattmoor@vmware.com>
Co-authored-by: Navid Shaikh <nshaikh@redhat.com>
2020-06-18 00:06:25 -07:00
Roland Huß 46d5e60e42
refactor(source): Update to Knative eventing 0.13.0 (#705)
* chore(e2e): Optimized tests

Smoke Tests now run before the E2E tests, but in the same cluster

* chore: Removed unneeded test

* fix

* fix

* fix

* fix

* chore: Update to serving & eventing v0.13.0

* refactor(source): Update to Knative eventing 0.13.0

* Moved to "sources.knative.dev" API group
* Replaced CronJobSource with PingSource (and removed unsupported options for service account, requests limits)
* Move to versions:
  - SinkBinding v1alpha2
  - PingSource v1alpha2
  - ApiServerSource v1alpha1

* update to eventing 0.13.1

* go.sum fix

* fixed test

* test updates

* try to enhance error output

* fix test.

* update tests infra to 0.13.1
2020-03-06 13:47:27 -08:00
Navid Shaikh 6ac25cdc00 Add ApiServer source update and describe commands (#556)
* Dont return created ApiServer source object but only error

 - After ApiServer source object is created, we don't need it to pass
   around in caller function.

* Align creating ApiServer source client, removes unit tests

* Add ApiServer source update command

* Rename TestMockKnClient to TestMockKnCronJobSourceClient

* Add mock client for ApiServer Source and its tests

* Add mock unit tests for create, delete and update

* Add e2e tests for apiserver source update

 - Add a test for apiserver source sink update
 - Verify the updated sink name after the apiserver source is created
 - Update resource names in existing tests

* Uses builder pattern for ApiServer source create command

* Update ApiServer source create/update flags and required config

* Uses builder pattern for ApiServer source update command

* Align create/update/delete description and error messages

* Add unit tests for get/create/update/delete in apiserver_client.go

* Update e2e tests expected output per change in commands output

* Golint fixes, Api -> API and add exported method docs

* Rename a test method and source update command description

* Add ApiServer source describe command

 - Add command and unit tests
 - TODO for later: Add 'Controller Selector' section for --verbose
2019-12-16 09:42:01 -08:00
Roland Huß 0ca6f14d4a feature(source cronjobs): Implementation of CronJobSource management (#542)
* feature(source cronjobs): Implementation of CronJobSource management

Contains create/delete/update/describe but not tests yet.

Still todo:

* Think how to provide a namespace for the sink
* Support for more sinks
* Synchronous mode for create & update
* Add list (or implement "source list")

* chore: Add a mock test for cronjob source

* addd missing license headers

* cosmetic changes

* chore(cronjobsource): Add tests

* fixup

* chore(cronjob source): Improved test coverage

* chore(cronjob source): some review polishing
2019-12-13 01:27:53 -08:00
Ying Chun Guo 003dba3616 Add creating ApiServerSource event source to Client (#415) 2019-12-10 03:52:46 -08:00