Commit Graph

500 Commits

Author SHA1 Message Date
Ying Chun Guo 786ccf5d0e
Separate PodSpec flags from Service flags (#943)
* seperate PodSpec from Service flags

* loop over flag names

* remove NamePrefix and commented code, add changelog

* update pr number in changelog.adoc
2020-08-04 09:09:29 -07:00
Chris Suszynski 7b2abc7a56
Use Tekton Catalog GA structure for tasks (#966) 2020-08-04 08:34:28 -07:00
Navid Shaikh cc1b68e068
List inbuilt sources if CRD access is restricted (#948)
* List inbuilt sources if CRD access is restricted

 Fixes #947
 - Identify restricted access error
 - If server returns restricted access error, fallback to listing
   only eventing inbuilt sources using their GVKs.
 - List any inbuilt source (ApiServerSource) object and read the error
   to know if eventing is installed for `kn source list-types`.

* Fix golint warnings

* Remove unused imports

* Verify each built in source before listing source types

* Improve the check if sources are not installed in the cluster

* Update finding forbidden error

* Update finding errors

* Add unit tests for IsForbiddenError util

* Add unit tests

* Add tests for dynamic pkg library

* Add unit tests for case when no sources are installed

* Update test name
2020-08-04 04:42:28 -07:00
Mike Petersen 4a3cf24550
Deprecates --max-scale/--min-scale for more consistent naming (#958)
* Depreciates --max-scale/--min-scale for more consistent naming

* Added back old flags and marked hidden
2020-08-03 16:58:27 -07:00
Michal Vinkler 582e48c32e
allow test image to be customized (#957) 2020-07-28 09:31:59 -07:00
kaustubh 4c24681282
Fix missing NAMESPACE column header (#951)
* Fix missing NAMESPACE column header

* Fix missing namespace column header for 'kn source list -A'
2020-07-27 23:48:59 -07:00
Matt Moore 7965358b58
[master] Auto-update dependencies (#936)
Produced via:
  `./hack/update-deps.sh --upgrade && ./hack/update-codegen.sh`
/assign maximilien rhuss
/cc maximilien rhuss
2020-07-24 15:15:58 -07:00
Navid Shaikh 31296698cd
Remove unrelated file (#945)
file `users.htpasswd` was mistakenly added in #932.
2020-07-22 16:22:57 -07:00
Navid Shaikh 8232c9d16b
Upgrade spf13/cobra dep to current master (#944)
* Pin spf13/cobra dep at b95db644ed1c0e183a90d8509ef2f9a5d51cc29b

 which includes the zsh completion fix for https://github.com/spf13/cobra/pull/899
 and remove the fork of cobra with fix in `replace` section of go.mod

* Parse args without invoking a separate command

 Do not define and execute extractCommand before running actual root
 command to parse all the args without flags. This was creating issues
 with completion utils to generate additional shell completion directive.
 Now uses cobra's inbuilt utilities to parse the command args without flags.

* Return error from stripFlags if any

* Update unit tests
2020-07-22 14:46:57 -07:00
David Simansky 879e5bd356
feat: Add support to combine service create --filename with other options (#937)
* feat: Add support to combine service create --filename with other options

* fix: Fix spelling in usage message

* fix: Fix usage message

* fix: Add test to cover errors

* fix: Usage message wording

Co-authored-by: Roland Huß <rhuss@redhat.com>

* fix: Update codegen

* chore: Add changelog entry

* fix: Fix changelog formatting

Co-authored-by: Roland Huß <rhuss@redhat.com>
2020-07-21 06:05:35 -07:00
Navid Shaikh 217a813344
Track floating deps at master (#932)
* Track floating deps at master

* Update kn version command
2020-07-15 07:42:32 -07:00
Navid Shaikh c255b324e9
fix(docs): Fix tekton task link in README (#934) 2020-07-15 05:59:32 -07:00
Roland Huß 5cb7830843
Release preps for 0.16.0 (#931)
* Release preps for 0.16.0

* Fixed order in ChangeLog.adoc
2020-07-14 23:07:32 -07:00
Roland Huß 490fe574cc
feat: Add plugin listing to "kn --help" (#929)
* feat: Add plugin listing to "kn --help"

This works on all levels. Test needs to be expanded still.

Fixes #266

* chore: Fix test

* Add test and ported #910 over.

* changelog update

* fix test

* Fix test

* fix integration tests

* fix test

* chore: Add some explanatory comments

* fix test
2020-07-14 13:38:33 -07:00
Navid Shaikh 2e1a863815
Revisit sink prefixes: Support only 'ksvc' prefix and drop 'svc', 'service' support for knative service (#896)
* Update description for sink flag

 - Add examples for broker, service and URI
 - Add note about default prefix and service alias

* Update the sink flag description

* Update cli conventions doc

* Update the sink prefixes mapping

 - 'ksvc' prefix for knative services
 -  Remove 'svc' or 'service' prefixes mapping for knative services

* Hint in err msg to use 'ksvc' if used prefixes 'svc' or 'service'

* Update CHANGELOG

* Update source list e2e tests to refer ksvc prefix

* Update sink flag description
2020-07-14 00:46:18 -07:00
Murugappan Chetty 226e605d40
Update CHANGELOG and error for port flag parsing (#926)
* error message change for #912

* add change log
2020-07-12 12:48:08 -07:00
kaustubh ad145a89d8
Add E2E test cases for "kn source list". (#924)
* add invalid filter test case

* add invalid test case

* add source list test, output yaml format

* fix sourcelist failed test case
2020-07-11 06:21:37 -07:00
Mike Petersen e1c48e6f7a
Added the option to use --scale for setting MinScale and MaxScale to the same value (#914)
* Added the option to use --scale for setting MinScale and MaxScale to the
same value

* Updated service create/update to resolve test issues

* Removed scale from the annotation section - there isn't a scale
annotation

* Renamed test service name so that it doesn't match a previous test

* Addressed most issues/changes

* Added tests for multiple flags being used at the same time

* Cleaned up the update tests

* Added negative value tests and cleaned up tests in create_test.go
2020-07-11 02:33:37 -07:00
David Simansky 41e49b98c5
feat: Add --filename flag to service create command (#913)
* feat: Add --file flag to service create cmd

* fix: Fix linter warnings

* fix: Remove unecessary changes

* fix: Reflect review feedback

* fix: Change flag --file to -f,--filename

* fix: Reflect review feedback

* fix: Move test cleanup to correct place

* fix: Refactor name param restrictions

* fix: Fix flag name string in func
2020-07-11 02:03:37 -07:00
Navid Shaikh f91fb57f9a
kn v0.16.0 release prep (#922)
* Update unit test for invalid concurrency target value

* Vendor v0.16.0 eventing and serving

* Commit the LICENSES generated by hack/update-deps.sh

* Spare third_party dir from license check in hack/build.sh

* Update eventing and serving version for 'kn version'

* Use DeprecatedInjectionAnnotation key for backward compatibility

  Fixes #918
  Use DeprecatedInjectionAnnotation, i.e. "knative-eventing-injection"
  for reconciling broker via namespace labeling and trigger annotations.

  From eventing v0.16.0 release, this key is changed to "eventing.knative.dev/injection"
  however, older eventing installation wont recognize it. So we continue
  using the deprecated key until the sugar-controller would support reconciling
  on either keys.

* Fix(kn version): Display eventing.knative.dev at v1beta1 version

 We've been showing 'v1alpha1' in kn version while we actually
 vendor and refer v1beta1 for eventing.knative.dev

* chore(e2e): Run tests against serving/eventing v0.16.0 release

* Update test for concurrency-target to expect new error message

 the new error message for incorrect concurrency-target value contains "should be at least 0.01"

* Setup sugar-controller for released eventing version setup

 - reuse knative_setup util from common lib for latest-release CI setup

* Fix typo in YAML URL and add subheader for sugar-controller install
2020-07-10 10:41:19 -07:00
Murugappan Chetty b04d115db9
add port name (#915)
* add port name

* add port name

* review comments

* review comments

* add unit tests for port changes

* review comments for port spec changes
2020-07-10 07:53:18 -07:00
Nghia Tran 1fd2844f31
Pin to knative.dev/{pkg,eventing,serving}@release-16 (#921) 2020-07-08 04:15:47 -07:00
Mike Petersen 4bc9a42faa
Fixed the error message for min/max scale tests (#919)
* Fixed the error message for min/max scale tests

* Updated in update_test.go as well
2020-07-07 14:13:47 -07:00
Himanshu Ranjan e6f125fd4e
Add support for service url in svc describe output (#916)
* Add support for service url in svc describe output

* Add changes in CHANGELOG.adoc

* Update CHANGELOG.adoc

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

* Add url as output format in kn service describe --help command

* Build locally and autogenerated doc

* Change service describe help message for consistency

Co-authored-by: Matt Moore <mattmoor@vmware.com>
2020-07-07 13:44:44 -07:00
Navid Shaikh 1a8cf96997
Setup eventing extension sugar controller (#920)
We'll need sugar controller for reconciling broker for tests
 which labels namespace and annotates the triggers.

 Currently, sugar controller is not part of the eventing nightly release setup
 by test-infra libs. This changeset adds install of same for nightly
 CI setup.
2020-07-07 12:37:44 -07:00
Navid Shaikh 4ee2dc4fd3
Use broker injection label key from trigger types (#917)
- do not hard code as there is a change coming it in eventing v0.16 release
2020-07-07 04:14:44 -07:00
Navid Shaikh 4b62f2008b
Find sink and ready conditions for untyped source (#911)
* Find sink and ready conditions for untyped source

 Fixes #909
 - Look up spec.sink field in untyped source unstructured object and
   try to convert it to duck Destination object
 - Look up status.conditions field in untyped source unstructured object and
   try to convert it to duck Conditions object
 - Upon not finding the data at expected fields, return "<unknown>"

* Add unit tests

* Update LICENSE header
2020-07-01 17:06:42 -07:00
Daniel Helfand 875247a8b1
add missing assertions for command unit tests (#908) 2020-06-25 22:24:28 -07:00
Daniel Helfand ab679489b1
Fix Panic for kn source apiserver and kn source binding describe with Sink URI (#901)
* fix panic for apiserver and binding describe and update tests

* add changelog entry

* include namespace and kind for sink in test coverage

* assert no URI in non Sink URI test cases

* add createSinkv1 for creating Sink test data
2020-06-25 08:00:28 -07:00
David Simansky a7f18cbeee
chore: Add broker management feature to changelog (#905) 2020-06-23 11:26:27 -07:00
David Simansky 1f59f5341c
Add broker create, delete and list cmds (#894)
* Add broker create, delete and list cmds

* fix: Fix copyright headers

* fix: Fix linter warnings

* Update pkg/kn/commands/broker/create.go

Co-authored-by: Roland Huß <rhuss@redhat.com>

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

Co-authored-by: Roland Huß <rhuss@redhat.com>

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

Co-authored-by: Roland Huß <rhuss@redhat.com>

* feat: Add broker describe command

* fix: Fix copyright header

* fix: Fix linter issues

* fix: Fix broker describe test

* fix: Fix order of eventing cmds

* chore: Add e2e tests

* fix: Fix e2e tests annotation

* fix: Reorder e2e tests methods

* feat: Add synchronous broker delete option

* fix: Fix broker describe example

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

* fix: Fix variable name

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

* fix: Fix broker list example formatting

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

* fix: Fix eventing client func name

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

* fix: Reflect changes from PR review suggestions

* fix: Fix formatting of cmd examples

* fix: Fix formatting of cmd examples & trailing spaces

* fix: Polish eventing client docs

* fix: Fix examples alignment

Co-authored-by: Roland Huß <rhuss@redhat.com>
Co-authored-by: Navid Shaikh <nshaikh@redhat.com>
2020-06-23 02:43:26 -07:00
Roland Huß 94e84d4ee0
fix: Add mandatory --sink to ping source command's name (#903) 2020-06-23 00:45:26 -07:00
Daniel Helfand 607e366bc2
fix panic for kn trigger describe with Sink URI (#900) 2020-06-21 22:24:26 -07:00
Navid Shaikh f82b323a90
Carry CHANGELOG of v0.15.2 release to master (#897) 2020-06-19 07:25:25 -07:00
Navid Shaikh 887d367861
Refer broker from v1beta1 APIs and add missing e2e tests (#895)
* Move broker injection namespace label, unlabel utilities to lib

* Refer broker from eventing v1beta1 APIs

* Add e2e test for refering default broker as sink

* Fix unit tests
2020-06-19 05:43:25 -07:00
Roland Huß 10b23b8802
chore: add missing CHANGELOG entry for grouped help messages (#893) 2020-06-18 14:11:25 -07:00
Murugappan Chetty f869b44d66
add kn export type (#856)
* add kn export type

* add kn export type

* add kn export type

* Update pkg/apis/client/register.go

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

* e2e test for kn export type

* e2e test for kn export type

* add new type for kn export

* rebase

* rebase

Co-authored-by: Roland Huß <rhuss@redhat.com>
Co-authored-by: Matt Moore <mattmoor@vmware.com>
Co-authored-by: Roland Huß <roland@ro14nd.de>
2020-06-18 02:33:25 -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ß c7426459be
Refactor main flow and introduce explicit plugin and config handling (#877)
* Refactor main flow, plugin and configuration handling

* The plugin handling has been moved out of the `KnDefaultCommand` constructor where it was executed as a side-effect. The original code from `kubectl` suffers from the same issue that plugin handling is not a top-level concern but was very likely introduced as an after-thought. Instead, the plugin handling is done now by a `PluginManager` which is explicitly called in `main()`.
* Configuration and bootstrap option handling is centralized in the package `option`. After the bootstrap happened, the content of the configuration file, as well as any other global configuration, can be obtained from methods on  `config.GlobalConfig`. Also, all flag handling is delegated to cobra so that no own parsing is needed.
* Many of the logic in `pkg/kn/commands/plugin` for plugin management has been moved up to `pkg/kn/plugin` as this code is not only relevant for `plugin list` but also for the bootstrap process.

* fix: invalid subcommands will lead to a proper error message

* Update pkg/kn/config/types.go

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

* Update pkg/kn/plugin/manager.go

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

* Update hack/generate-docs.go

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

* Update hack/generate-docs.go

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

* chore: Add missing links

* chore: recert to shas in links in developer guide for now.

Co-authored-by: Navid Shaikh <nshaikh@redhat.com>
2020-06-15 09:15:24 -07:00
Daniel Helfand 3f146b14db
Return Error Message from Using --untag with Nonexistent Tag (#880)
* return error message from using --untag with nonexistent tag

* improve err message for --untag and add e2e test

* change untagRevision to return bool and add traffic e2e tests

* update changelog
2020-06-10 23:22:23 -07:00
Roland Huß ff350fb6a7
Fix build.sh for macOs users (#883)
* Fix build.sh for macOs users

Fixes #882

* cleanup tempdir after installing
2020-06-09 06:42:32 -07:00
Dave Protasowski dfd65db9ab
bump k8s packages to 1.17.6 (#881)
* add script to bump k8s deps

* bump k8s to v1.17.6
2020-06-08 15:30:32 -07:00
Dave Protasowski a7ea77d106
Update go.mod to specify the module is go1.14 (#866)
* Update go.mod to specify the module is go1.14

Thus the go commands will default to -mod=vendor

See: https://golang.org/doc/go1.14#go-command

* install goimports as a tool

* drop mod=vendor usage as that's the default with go1.14

* remove comment about using -mod=vendor

* Revert "drop mod=vendor usage as that's the default with go1.14"

This reverts commit 567004d404bb7ebd39ed527dc75759cfc7db672f.

* Revert "remove comment about using -mod=vendor"

This reverts commit 2a71393a2015c1539be1503e0c52cf64283e12d0.

* Revert "install goimports as a tool"

This reverts commit 9616d5e2d2ab0d61e8454b1ace057ec9712e182d.

* use go_run_tool to run goimports

* inline go_run_tool

* include required env var REPO_ROOT_DIR
2020-06-08 13:40:32 -07:00
Roland Huß 2a42ee1a33
chore: Move from Eventing v1alpha1 to v1beta1 (#878) 2020-06-08 05:42:19 -07:00
Chi Zhang 3c5ceff655
update test-infra to stop using serving.yaml (#876) 2020-06-04 23:32:18 -07:00
Navid Shaikh c1ab4ae863
Update flag names to --request and --limit (#872)
* Update flag names to --request and --limit

 - Use singular flag names and support comma separated or repeated flag values
 - Update tests and docs

* Update CHANGELOG

* Update the flag description and examples

* Remove release 0.15.0 header from CHANGELOG
2020-06-03 04:04:18 -07:00
Roland Huß 3a242c7604
chore: Unpin dependencies to follow master again (#870)
Reset version to "master" and update-deps.sh --upgrade after branching off for release-0.15
2020-06-02 08:02:17 -07:00
Roland Huß fc6f379d94
chore: Preps for release 0.15.0 (#869) 2020-06-02 03:35:17 -07:00
Navid Shaikh af2d4c8f2a
chore(e2e): Run tests against serving and eventing 0.15 release (#868) 2020-06-02 02:05:16 -07:00
Daniel Helfand 834ee79049
do not check for plugin executable if none on path (#846) 2020-06-02 01:38:16 -07:00