* 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>
* 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>
* feature(serving): Update API to serving.knative.dev/v1
Due to an issue with 0.12.0 (a missing constant) the update also includes an update
to the latest knative-serving and knative-eventing dependencies from master
(as reflected in version.go)
Signed-off-by: Roland Huß <roland@ro14nd.de>
* fix(serving): Bogus import removed
* fix(serving): Add missing go.sum entry
* refactor,fix(revision list): Refactoring and fixing issues
This PR fixes the following issues of `kn revision list`:
* `kn revision list -A` didn't work as the internal service-get requires a namespace (that from the revision)
* `kn revison list -s myservice myrevision` was not supported
* Service caching assumed that the revision list returned by the server is grouped by servicename. This is not guaranteed.
* `kn revision list -o yaml` returned yaml with the artificial and bogus annotations used for printing out in columns.
The following refactorings were added:
* The main run function was simplified and splitted up in multiple methods
* List-filter handling was made straight forward (and hopefully easier to understand)
I abandoned my initial intention to remove the bogus, temporary, in-memory set annotations for tags and traffic as it does not fit well with the resource printer framework which only works with original K8s resource runtime.Object (and e.g. use serialization directly). I still don't like the hackish approach to add to annotatin (please note, how I need to write a wrapped printed to get rid of the annotations for fixing the `-o yaml` use case, which otherwise prints out those annotations, which are not existant on the server side), but for the sake of simplicity let's keep this (not dogmatic here).
* chore: Simplified
* chore: Some docs update
* fix: wtf
* fix(revision list): Add Namespace column for -A and unified list handling
* fix(revision list): truncate long columns
* add(revision list): Unit test for extracting target and tags
* fix(revision list): Add missing license header
* fix(revision list): Formatting issue
* fix: formatting
* chore: Some cosmetics
This is in preparation of introducting eventing and makes sense anyway.
Also, the GVK update handling has been moved to "util" so that it then
can be also reused by eventing.