Commit Graph

172 Commits

Author SHA1 Message Date
dr.max 47a10c079d Remove fmt.Printf of error since creates double error print to user (#96)
Fixes issue #89
2019-05-10 11:54:38 -07:00
Navid Shaikh ba59ad8b9a Fix returning the namespace for listing resources (#88)
* Fix returning the namespace for listing resources

 Fixes #86

* Adds license to pkg/kn/commands/namespaced.go

* Adds tests for namespace flags and retrieval

* Renames test function
2019-05-09 15:55:38 -07:00
dr.max 5dcc0f8641 added tests to `$kn service update ...` and removed required --image (#81)
* added tests for service update with variations of --requests/limits-cpu --requests/limits-memory
* made image optional on service update since that was not the case and image should be optional
2019-05-01 15:36:33 -07:00
dr.max dd4e2a917b Added support for limits and requests of CPU and memory (#78)
* Added support for limits and requests of CPU and memory. Examples:
1. kn service create mysvc --image dev.local/ns/image:latest --request-cpu 100m --requests-memory 64Mi
2. kn service create mysvc --image dev.local/ns/image:latest --limits-cpu 1000m --limits-memory 1024Mi

You can also include and/or omit the requests and limits. So the following should also work:
kn service create mysvc --image dev.local/ns/image:latest  --request-cpu 1000m --limits-memory 1024Mi

* Addressed comments about maintaining existing requests and limits and added more tests
* TestServiceCreateWithRequests
* TestServiceCreateWithLimits
* TestServiceCreateRequestsLimitsCPU
* TestServiceCreateRequestsLimitsMemory
* TestServiceCreateRequestsLimitsCPUMemory

* updating dependencies and formatting tests code
2019-04-25 20:20:29 -07:00
Roland Huß 1cbd7138b6 chore(version): Add buildtime and git revision to version command (#76)
* chore(version): Add buildtime and git revision to version command

For that, also updated `hack/build.sh` and `hack/build-binaries.sh` to
set the values from the outside.

The file `hack/NEXT_VERSION` contains the version number of the next
release. A regular build will create version numbers in the format
"0.1.0-20190417" which according to semver.org is a version less
than 0.1.0 (i.e. a pre-release).

A release script should pick up NEXT_VERSION, make the release with
the number found there and then update to the next release, possibly
a minor a release.

* chore(build.sh): Minor cosmetic fixes

* Aligned variable name
* Streamlined console output of build scripts
* Use "2019-04-18 07:40:10" as format for build time as it used as information only

* chore(build.sh): Add GO111MODULE=on

So that the script can be used also when running from within GOPATH

* chore(build.sh): Changed shasum --> sha256sum

... as shasum is not part of coreutils, and sha256sum should be more
generally available. Made the shasum output optional, too.

* chore(build.sh): Changed from BuildTime to BuildDate

... as this better reflects the value, the date when the client was built.

* chore(build.sh): Typo fix
2019-04-18 15:53:26 -07:00
Naomi Seyfer a09bb5201a Basic service update & a test for it. (#74)
* Service update implementation.

* add test

* Update to match new namespace flag handling.
2019-04-15 17:33:00 -07:00
dr.max 7c4f05aa6b adding hack/build* to make life easy and added version command. Getting my feet wet (#69) 2019-04-15 15:51:01 -07:00
Kenjiro Nakayama 871eaadd62 Call GetNamespace to get namespace (#73)
This patch uses GetNamespace() utils in service delete command.

Fixes https://github.com/knative/client/issues/72
2019-04-15 10:56:00 -07:00
Navid Shaikh 9c21b8df24 Adds service delete command (#63)
* Adds service delete command

 This chageset adds `service delete` command, able to delete a service
 at a time.

 Fixes #49

```
kn service delete --help
Delete a service

Usage:
  kn service delete <SERVICE_NAME> [flags]

Aliases:
  delete, del, d

Examples:

  # Delete a service 'svc1' in default namespace
  kn service delete svc1

  # Delete a service 'svc2' in 'ns1' namespace
  kn service delete svc2 -n ns1
```

* Removes aliases, PreRunE and addresses review comments
2019-04-11 16:53:58 -07:00
Kenjiro Nakayama 6b2b7f2cc0 Support --all-namespaces option for service and revision list (#32)
* Support --all-namespaces option for service and revision list

`kn {service, revision} list` does not have the all-namespaces
options. Although it is possible to list them by `kn service list -n
""`(empty string), it is difficult to find such secret trick.

Hence, This patch adds `--all-namespaces` option.

* Add all-namespace option to KnParams

* Add AddNamespaceFlags function

* Add GetNamespace func

* Update help message

* Use GetNamespace util in service create cmmand
2019-04-09 09:09:58 -07:00
Navid Shaikh 8736395bcc Adds example usage in service create command (#62)
* Adds example usage in service create command

 Fixes #61
 Adds two examples to service create command as below

```
Examples:

kn service create mysvc --image dev.local/ns/image:latest

kn service create mysvc --env KEY1=VALUE1 --env KEY2=VALUE2 --image dev.local/ns/image:latest

```

* Adds double spaces in the example text

 Adding double spaces to properly aligns the example
 text while displaying help.
2019-04-08 10:51:03 -07:00
Kenjiro Nakayama 58e478bba4 Make image flag mandatory for service create command (#60)
`service create` command always requires and specify `--image` to run.

This patch changes:
- Add validation check if image is empty or not.
- Add image to `MarkFlagRequired()`.
- to add `--image IMAGE` in help message
2019-04-08 10:39:58 -07:00
Naomi Seyfer c3772a02ab `service create` beginning implementation (#47)
* Intermediate.

* Basic creation working

* Simplify

* Simple test passes

* Tests for env var updater, fix to bug found where wasnt getting a pointer

* Add some comments

* Fix env var quoting issues

* More comments from cppforlife

* Fix a couple copyrights
2019-04-03 22:33:56 -07:00
Kenjiro Nakayama e8ec699d2c Add SilenceUsage option to cobra command (#43)
* Add SilenceUsage option to cobra command

This patch adds `cmd.SilenceUsage` to command to stop usage output
after command validation.

Fixes https://github.com/knative/client/issues/38

* Set cmd.SilenceUsage to global cmd
2019-03-29 12:07:53 -07:00
Kenjiro Nakayama 72ec64390b Fix flag parse error by calling flag.Parse first (#42)
* Fix flag parse error by calling flag.Parse

Fixes https://github.com/knative/client/issues/37

* Fix workaround for parse error
2019-03-29 04:34:53 -07:00
Kenjiro Nakayama c07254c46d Support generating bash completion (#31)
* Support generating bash completion

This patch adds subcommand to generate completion script for bash.

As an knative user, we would like to complete subcommands and
options rather than typing them.

* Adds docs about bash auto completion in README.md

This changeset adds auto-completion section in existing README.md

Suggested-by: Navid Shaikh <nshaikh@redhat.com>
2019-03-18 22:31:05 -07:00
Timur Zununbekov be50567b38 Pickup config path from env (#27) 2019-03-14 13:47:08 -07:00
Navid Shaikh 139db6c4f9 Fixes typo in the kn help command (#24)
s/blokcs/blocks

 and removes few unneeded dots (.)
2019-02-25 14:49:19 -08:00
Tara Gu e6699b9b54 Add service describe (#18) 2019-02-08 14:43:44 -08:00
Nima Kaviani ad636ad789 add revision describe (#15) (#16)
* put the auth libraries in the root command

* add revision describe (#15)

* print the yaml formatted revision by default
* allow for custom formatting to be passed in
2019-02-01 15:23:13 -08:00
Naomi Seyfer 7cc59481bb
Refactor to allow testing; write first tests. (#10)
* Refactor commands to allow insertion of fakes for testing

* Pin client-go to version that matches signatures other libs use

* Add tests for service list

* actually add test file

* Review comments: Fatal instead of Error/return, Split instead of read to newline
2019-01-29 12:40:22 -08:00
Naomi Seyfer 38932b1d61
Get revision and service listing skeletons in. (#2)
* Get revision and service listing skeletons in.

This adds the kn program, with basic commands for service and revision listing
in.

kn service list
kn revision list

They use the genericclioptions library from kubernetes to support jsonpath,
yaml, and json output. The default is to just list the names of the objects, for
now, until we add in some of the kubectl-based libraries for creating tables in
another commit.

This is deliberately bare-bones; I am looking to get the basic skeletons of how
this repository is laid out down.

No tests yet. Soon.

* Move commands to pkg, so cmd only contains minimalist main.go

* RunE instead of Run. The defaults on Cobra command generation are weird.

* Oops forgot to change types of stuff

* Do not panic on bad config file

* Make commands no longer global

* Make configuration initialization not static in the module, but rather triggered by main.go init
2019-01-22 09:03:58 -08:00