mirror of https://github.com/knative/client.git
This version contains the following: 1. wraps the main root Kn command to support plugin 2. plugins are any executable in kn's config new pluginDir variable which defaults to $PATH 3. plugins must have name kn-* 4. 'kn plugin list' sub-command to list found kn plugins 5. skips any kn plugins found with name that match core commands, e.g., kn-service would be ignored 6. can execute any valid kn plugins found, e.g., `kn valid` where the plugin file `kn-valid` is in path specified in 2. 7. unit tests (using gotest.tools) And is missing: 1. integration tests 2. plugin install command 3. plugin repository command 4. plugin / Knative server version negotiation 5. anything else we agree on in plugin req doc I plan to create issues for the things missing so we don't end up with an even bigger PR. It's already big as is but is a good MVP as per plugins requirement doc. |
||
|---|---|---|
| .github | ||
| cmd/kn | ||
| config | ||
| conventions | ||
| docs | ||
| hack | ||
| pkg | ||
| test | ||
| vendor | ||
| .gitignore | ||
| CHANGELOG.adoc | ||
| DEVELOPMENT.md | ||
| LICENSE | ||
| OWNERS | ||
| README.md | ||
| go.mod | ||
| go.sum | ||
README.md
Knative Client
This section outlines best practices for the Knative developer experience, is a reference for Knative CLI implementation, and a reference for Knative client libraries.
The goals of the Knative Client are to:
- Follow the Knative serving and eventing APIs
- Be scriptable to allow users to create different Knative workflows
- Expose useful Golang packages to allow integration into other programs or CLIs or plugins
- Use consistent verbs, nouns, and flags for various commands
- Be easily extended via a plugin mechanism (similar to
kubectl) to allow for experimentation and customization
Docs
Start with the user's guide to learn more. You can read about common use cases, get detailed documentation on each command, and learn how to extend the kn CLI. For more information, access the following links:
- User's guide
- Basic workflows (use cases)
- Generated documentation
Bash auto completion:
Run the following command to enable BASH auto-completion:
$ source <(kn completion)
Use TAB to list available sub-commands:
$ kn <TAB>
completion revision service version
$ kn revision <TAB>
describe get
Developers
If you would like to contribute, please see CONTRIBUTING for more information.
To build kn, see our Development guide.