* Added test case for Profiles
* changed config profiles to be a map, added an accessor method for getting a certain configuration profile
* Added test cases for profile check
* added profile feature
* Fix generated files
* Fix go.mod deps
* Added support for labels and added test cases
---------
Co-authored-by: Roland Huß <rhuss@redhat.com>
Co-authored-by: David Simansky <dsimansk@redhat.com>
* cli options to enable kubernetes user and group impersonation
Signed-off-by: Amir Alavi <amiralavi7@gmail.com>
* cli option to enable uid impersonation
Signed-off-by: Amir Alavi <amiralavi7@gmail.com>
* Add --scale-activation flag to match new Serving option
* Add scale activation tests
* Docs gen
* moved the scale activation test to service_options_test.go
* Added emptyDir support for volume mount
* Moved detailed emptyDir configuration spec to --volume
* Added unit tests
* Added readonly false for emptyDir volume
* Added flag to configure wait-window between intermediate errors during service create
* Added waitconfig struct
* Moved --wait-window flag to shared flags
* Add timeout option to service create
* Changed unit tests to reflect the default timeout value
* Fixed timeout help message
* Added unit test for --timeout flag
* Moved --timeout flag to shared flags
* Added pull-policy flag to service
* Added unit tests
* Added test to increase coverage
* Added unit test and made --pull-policy case insensitive
* Added config_changes test cases to increase coverage
* Improve help message for pull-policy flag
* Move image pull policy processing to podspec.go
* Add negative test case for pull policy
* update status of commands
* update status of commands
* update status of commands
* update status of commands
* update status of commands
* update status of commands
* update status of commands
* Rename --concurrency-target and --concurrency-utilization
The new option names are --scale-target and --scale-limit, respectively
Both options are still available but deprecated. Reasoning is that both
options really belong to the 'scale' option group as they influencen
the scaling behaviour.
* rebased and added changelog
* Move `--autoscale-window` to `--scale-window`
and deprecate `--autoscale-window`
* regenerate docs
* fix issue that --scale-window was not picked up
* add some test
* add some additional test
* Add `GetEnvsFromFile` to `util`
* Add to `podspec` flags `--env-file` and `EnvFile` to `PodSpec`.
* If `env-file` is specified load env vars from file to memory,
convert them into ordered map and pass them to UpdateEnvVars function
by setting custom args for each one of them instead of using command line args.
Signed-off-by: Boaz <boaz.shuster.github@gmail.com>
* Add support for multi-containers
* Update examples
* Fix UpdateContainers to match by name
* Add experimental note & tests
* Rename flag to --extra-containers
* Fix formatting
* Fix flag renaming leftovers
* Update pkg/kn/flags/podspec_test.go
Co-authored-by: Roland Huß <rhuss@redhat.com>
Co-authored-by: Roland Huß <rhuss@redhat.com>
* make command as array instead of string
* make command as array instead of string
* make command as array instead of string
* make command as array instead of string
* make command as array instead of string
* make command as array instead of string
* update: Change default to server-side generated revision names
Fixes#1144
* update: Fix wait loop for synthetic events for which the generations are already in sync
* fix assertion as a service label change does not create a new revision
* fix: --cluster-local does not create a new revision but just changes a service's label
* chore: Fixed formatting
* update: Check generation in update already before doing a watch
* fixed lint issue
* fix test assertions
* add git ops options
* add git ops options
* add unit tests
* add unit tests
* add unit tests
* add unit test
* add unit test
* add unit test
* review comments
* review comments
* add single file mode
* add single file mode
* add single file mode
* add single file mode
* review comments
* Add changes for --scale-init support
* Added test cases
* Add test case in e2e tests
* minor fix
* Test case failure fix
* Incorporated review comments
* Add service update test cases
* Incorporate review comments
* 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
* 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
* 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>
* 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>
* 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
* Add --requests and --limits resource flags
Fixes#490
- Add deprecation message for --requests-cpu, --requests-memory,
--limits-cpu and --limits-memory flag usage.
- Add error message if new and deprecated, requests and limits flags
are used together.
* Add resources requests and limits example for service create
* Add mock style unit tests
* Update existing unit tests for deprecated flags
* Add integration tests
* Add CHANGELOG entry
* Fix lint warnings
* Add unit tests for resource flags
* Fix typo for service name in e2e tests
* Refactor resource validation utility into test lib
* Remove commented out code
* Add references about managing resources and GPU in example
* Update image references in examples
* Make wait, no-wait and async flags per bool var CLI convention
Fixes#800
- Deprecated bool vars can be supported for CLI convention
- Bind --async flag value to --no-wait
- Only one flag among [wait, no-wait, async] can be provided, else raise an error
* Simplify conditionals
* Add unit tests for deprecated flag async
* Fix a typo