Commit Graph

36 Commits

Author SHA1 Message Date
Murugappan Chetty 66173059fc
Add --user flag for service create and update (#679)
* add run as user flag #678

* add run as user flag #678

* add changelog for pr 679

* review comments  for pr 679

* review comments  for pr 679

* add test for config changes

* add user flag
2020-02-28 03:55:51 -08:00
Ying Chun Guo d14c01fb5d
Allow configuration sink prefixes (#676) 2020-02-28 02:02:51 -08:00
David Simansky 345653bfe0
feat(wait): add wait for delete operation (#682)
* feat(wait): add wait for delete operation

* feat(wait): refactor initial impl

* fix(lint): add docs to new functions

* fix: reflect code review comments

* feat(wait): add changelog entry

* fix: changelog entry to render correctly

* fix: usage message of wait flag

* feat(wait): set foreground propagationPolicy in sync service delete

* feat(wait): add sync revision delete operation

* Revert "feat(wait): add sync revision delete operation"

This reverts commit 9bb60ac25e.
2020-02-25 02:38:50 -08:00
Roland Huß 963788b730
chore: Fix formatting error in changelog (#681) 2020-02-19 08:19:05 -08:00
wslyln 12d718e7af
Support multiple arguments on revision delete (#657)
* added multiple parameters to revision and added e2e test

* add to changelog

* fix changelog table

* fix warning message and revision test

* remove commented lines

* remove 'successfully' from revision output

* added requires one or more revision name

* remove absent revision pre check

* re add nonexist revision

* fixed tests
2020-02-13 22:45:40 -08:00
David Simansky dd2dc97f92
Fix --image flag to only allow single occurence (#647)
* Fix --image flag to only allow single occurence

* Fix changelog link

* Reflect feedback in error message and type name

* Add unit tests

* Reflect unit tests improvement from feedback

* Fix unit tests due to changes in master
2020-02-12 03:11:21 -08:00
dr.max c8c81da46b
fix(#632): refactored UT to remove need of specifying sync twice (#656)
Inferring the `sync` param from `fakeServiceUpdate` and `fakeServiceCreate` by the
parameter `--no-wait`.

Simplifies the UTs and also avoids a nasty NPE if the sync param was not (in sync :)
with the `--no-wait` flag.
2020-02-11 22:45:21 -08:00
Navid Shaikh 15dec583ca
Implement human readable output for kn route describe (#643)
* Implement human readable output for kn route describe

 - Keeps the machine readable output
 - Align the command description text, check for single argument, reported error messages and unit tests in service, revision, route, source binding describe commands

* Dont print separate section for owner references

* Print Service heading irrespective of owner.Kind == Service

* Align desc, err msg for trigger, apiserver and cronjob source
2020-02-10 07:46:07 -08:00
David Simansky 8d2ecca7ae
Rename --async to --no-wait and deprecate it (#639)
* Rename --async to --no-wait and deprecate it

* Polish wording of deprecation warning message
2020-02-08 02:52:14 -08:00
Lv Jiawei 16bbfa37ed
Add E2E test for "kn source binding" commands (#634)
Fixes #631

* Add E2E test for "kn source binding" commands.
* Fix typo.
2020-02-07 14:37:14 -08:00
David Simansky ffdeafe33e
Add support for command and args in service create (#635)
* Add support for command and args in service create

* Add tests for new update functions
2020-02-04 08:45:31 -08:00
Lv Jiawei d82d55731c
Show envFrom when running describe service or revision (#630)
Fixes #626

Show envFrom when running describe service or revison. The result like:
EnvFrom:  cm:test1, cm:test2
2020-02-02 00:19:29 -08:00
Roland Huß dfd6defcd1
chore: Update changelog for 0.12.0 release (#627) 2020-01-29 11:36:28 -08:00
dr.max 606de80741 fixes(#598): checks for namespace creation instead of waiting (#611) 2020-01-24 13:44:24 -08:00
Navid Shaikh 4486b36782 Fix link in CHANGELOG (#573) 2019-12-18 04:22:05 -08:00
Roland Huß e793090399 chore(Changelog): Preparation for v0.11.0 (#560)
* chore(Changelog): Preparation for v0.11.0

* Update CHANGELOG.adoc

* Update CHANGELOG.adoc

* Update CHANGELOG.adoc
2019-12-17 12:20:04 -08:00
Ying Chun Guo 5fc8197028 Support multiple NAMEs on service delete (#492)
* Support multiple NAMEs on service delete

* add e2e test
2019-11-12 03:02:23 -08:00
Navid Shaikh 22c65d65ef chore: Prep for v0.10.0 release (#483)
- Update CHANGELOG
2019-11-06 05:24:02 -08:00
Navid Shaikh 44dafbd780 Adds zsh completion (#476)
* Adds zsh completion

 - Adds back zsh completion after vendoring cobra library with a fix
 - Updates the command definition to accept argument either of ['bash', 'zsh']
 - Moves the completion command definition under `pkg/kn/commands/completion`
 - Updates docs
 - Updates CHANGELOG.adoc

* fix(golint): exported function should have comment

* Fixes PR number in CHANGELOG.adoc

* Updates unit tests
2019-11-05 02:42:25 -08:00
Roland Huß 4ab869aecf chore: Final preps for 0.9.0 release (#463)
* chore: Final preps for 0.9.0 release

* chore: Update knative dependency in `kn version`
2019-10-29 11:19:12 -07:00
Roland Huß b871112e1f chore: Update changelog in prep for 0.8.0 (#461)
Added missing PRs with some substantial change, sorted list from newer to older PRs.
2019-10-29 01:22:11 -07:00
Roland Huß a2d1ef7d83 chore(service): Improvements for waiting on service readiness (#431)
* Increased default timeout to 600s. This timeout will be triggered
  only when the Ready condition stays in UNKNOWN for that long. If its
  True or False then the command will return anyway sooner.
  So it makes sense to go for a much longer timeout than 60s
* Enhanced output to indicate the progress

This change needs some updates to the API and introduces a 'MessageCallback'
type which is calle for each intermediate event with the "Ready" condition message.
2019-10-10 06:06:06 -07:00
Roland Huß e67d207d3b chore(build.sh) Add indicator in watch mode after successful compilation (#432)
* chore(build.sh) Add indicator in watch mode after successful compilation

* chore(build): Update changelog
2019-10-08 04:34:38 -07:00
Navid Shaikh 2f7fa6a7c2 feat(annotations): Adds annotation flag for service create and update (#422)
* feat(annotations): Adds annotation flag for service create and update

  - Adds specified annotations to service object meta and revision template meta
  - Adds --annotation / -a flag to service create and update options
  - User can specify '-' at the end of the annotation key to remove an annotation
  - Adds unit and e2e tests
  - Updates docs and changelog accordingly

* Adds example for service create with annotation

* Adds mock unit tests for service update with annotations

* Removes the short hand -a for annotation flag
2019-10-04 06:40:05 -07:00
Ingwon Song 14ec594e56 Add --service-account-name flag (#401)
* Add --service-account-name flag

* Change the flag --service-account-name to --service-account, and change its default value from "-" to an empty string. In addition, CHANGELOG.adoc is changed.

* Update docs with ./hack/build.sh
2019-09-23 04:45:13 -07:00
Navid Shaikh 2985e550cd docs: Adds documentation for traffic splitting support in kn (#331)
- Add summary about operations, their usage and examples
 - Flags precendence explained
 - Summary column explaining if repetition is allowed or not
 - Example of different scenarios
 - Add case where tagOfOneTarget==revisionOfAnotherTarget, prefrence goes to tagOfOneTarget
   as Tags are unique while revions in a traffic block aren't.
 - Updating tag requires using `--untag` flag
 - Update doc to mention the tag update operation and example
 - Add notes about
	- assigning multiple tags for same revision
        - creating a new target in traffic if same revision is tagged with new tag
 - Update CHANGELOG
 - Add an example per sub-section of flag description
2019-09-03 13:40:01 -07:00
Tsubasa Nagasawa d0dc3b75f3 feature(service list): Print NAMESPACE column as the first column when --all-namespaces is specified (#366)
* Make `kn service list --all-namespace` print namespace column

`kn service list` should print NAMESPACE column when specifying `--all-namespace` option, which follows the kubectl convention.

* Put services in default namespace at the top of the list

* Switch output of column definitions by priority field

A priority field is handled as follows:
- priority 0: print namespace column
- priority 1: print default columns
- priority 2: print additional columns for wide option

* Don't use AddFlags to bind all namespaces flag

* Update CHANGELOG

* Remove commented codes

* Fix import path

* Clean up

* Remove unnecessary return

* Swap the order of records
2019-08-21 23:57:33 -07:00
Navid Shaikh dccaf36611 kn version command to list supported serving versions and APIs (#370)
Fixes #369

 - Replace `Dependencies:` with `Support:`
 - Add list of supported Serving versions kn can work with
 - Add list of supported Serving APIs kn can work with

 ```
 ✗ ./kn version
Version:      v20190816-local-e36089f-dirty
Build Date:   2019-08-16 13:08:26
Git Revision: e36089f
Support:
- Serving: v0.8.0  v0.7.1
- API(s):  v1alpha1

 ```
2019-08-19 15:25:59 -07:00
Navid Shaikh 746dacc47c feature(service): Implements traffic splitting and tagging targets (#345)
- Add e2e tests
 - Use '=' for traffic and tag assignment instead of ':'
 - Use --tag and --untag flags for tagging traffic targets
 - Use --traffic flag for setting traffic portions
 - Allow --traffic portion to either take revisionName or tagName
 - Uses @latest identifier for referencing latest revision of service
 - Dont throw error if requested revision=tag pair is same
 - Support having multiple tags for a revision
	 - creates a new target in traffic block if revision present in traffic block with new tag requested
	 - creates N new targets in traffic block if revision absent in traffic block with Nxnew tags requested
 - Ensure updating tag of @latest requires --untag flag
	 - streamline updating tag for latestReadyRevision
	 - adds respective tests
	 - adds tests for ensuring given traffic sum to 100 on CLI and fail fast
 - Add note about preference of order in case where tagOfOneRevision == revisionOfAnother,
   first tags are checked and assigned traffic if any, as tags are supposed to be
   unique in traffic block and should be referenced in such scenario.
 - Remove the examples from flag description, moves it to service update command example section
 - Pass only traffic block to compute trffic, makes it better to consume.
 - Cover more error cases for invalid value format for assignments, covers a=b=c, a=, =b, or variants of them
 - Separate and improves the error messages
 - Add unit tests for traffic computing
 - Add sanity checks in dedicated function verifyInputSanity
 	  - traffic perents should sum to 100
          - individual percent should be in 0-100
          - repetition of @latest or tagName or revisionRef is disallowed
 - Verify traffic percents sum to 100 on client side and fail fast
 - Add e2e tests for traffic splitting
	 - create and update service, assign tags and set traffic to make an existing state
	 - run the scenario on existing state of service
	 - form the desired state traffic block
	 - extract the traffic block and form the traffic block struct actual state
	 - assert.DeepEqual actual and desired traffic blocks
 - Use logic to generate service name in the same way as namespace, use different service name per test case
 - Run e2e test for traffic splitting in parallel
 - Use timeout duration of 30m for e2e tests, use timeout parameter for go_test_e2e library function
 - Use tagName in flag description of --untag, avoiding conflict with --tag flag
 - Update CHANGELOG
2019-08-15 10:56:08 -07:00
Naomi Seyfer ffe80b9f87 Specify names on service update and generate names client-side. (#282)
* Groundwork for naming revisions automatically and deliberately

* Tests for name updates

* Add godoc comments

* Changelog entry for naming flags

* Error when trying to BYO revision name to an old-format service

* fix tests again

* Template the names

* Polsh, remove unused flags, generate helptext, add better helptext

* Decapitalize error msg

* Respond to Roland comments

* Forgot to add test file

* Be a good citizen, add more tests, try to get coverage happy.

* true dat

* Re-add implicit service prefix if one was not added.
2019-08-14 15:31:07 -07:00
Ying Chun Guo 8c362f0363 list services sorted by alphabetical order (#330) 2019-08-09 01:00:04 -07:00
Roland Huß b4b254f64c feature(service describe): Output of service details (#252)
* feature(service describe): Output of service details

`kn service show` mimics `kubectl describe <sth>` as that it output detail information in human readable output.

A future extension should add machine readable output with `-o` to export
a single object in json/yaml (that is missing from `kn service list`)

This command shows information about the service itself, but also a summary about the associated revisions.

It also knows about scaling and concurrency options.

Options:

`--details`    : Print more information. By default only are shorter summary is shown

* chore: Cleanup up and refreshed dependencies

* fix(service describe): Integration test fix (revert "show" to "describe")

* fix: go.sum

* fix go.sum

* feature(service describe): Add printing of resources (requests/limits) + machine readable output with -o

* chore(service describe): Simplified digest handling

* chore(service describe): Sort maps by key when printed

* chore: Adapt mock framework

* chore(service describe): Test fixes

* chore: Added some tests

* more tests

* test: Moar tests

* chore: Even moar tests

* more, more tests

* changelog update

* fix(service describe): golint fixes
2019-08-08 08:23:56 -07:00
Tsubasa Nagasawa 8e5302c741 List revisions sorted by configuration generation (#332)
* List revisions sorted by generation order

We use a configuration generation as a sort key, which is obtained from a label on configuration resource.

* Change column name from order to generation

* Fix revision sorting issue

* Fix revision e2e test

* Just sort by name if invalid type of generation found

* Update CHANGELOG
2019-08-06 03:13:54 -07:00
Roland Huß 875e8da2a5 feature(service): Wait on update for service to become ready. (#271)
* feature(service): Wait on update for service to become ready.

The behaviour is now the same as for `kn service create`. This should also fix some flakiness in the tests again.

* chore: Fixed changelog

* chore(service): Adapt help message for update

* fix(test): Updated renamed method
2019-07-22 10:52:35 -07:00
Roland Huß 26fb47c1d6 fix(service): Show URL (external) instead of Address (internal) when listing service (#247)
* fix(service): Pick up new field Address instead of Domain when listing service

Starting with 0.7.0 old fields are not populated anymore. Let's switch to the new fields then.

This fix should work with 0.6.0, too as the new fields already have been populated back then.

So we can unconditionally pick status.address.url which is accordance with
our policy to support the latest release and the release before.

Fixes #246.

* fix(service list): Use status.URL instead of status.Address in column

* chore: Rebase and update changelog

* chore: Rebase and test fix
2019-07-10 09:23:09 -07:00
Roland Huß d01e715082 chore(changelog): Add a changelog.adoc (#241)
and added features for 0.2.0
2019-07-09 14:58:57 -07:00