* Deprecate `lookup-path` option and updated relevant documentation
Lookup in path is now the default for all plugins.
This option will be removed eventually in a future version,
when path lookup is enabled uncoditinally and can't be turned of.
* Update versions for 0.26.0
* Tekton test - ClusterRoleBinding v1
* make it compatible with Kubernetes 1.22
* TMP: Test Tekton in presubmits
* Revert "TMP: Test Tekton in presubmits"
This reverts commit 8996ac7692.
* TestServiceExport works with images specified by digest
* Do not expect image name in TestSourceContainer test
* it might not be available if the test image is passed as image digest
* Adding --tls option to domain create command
* Adding client test for builder
* Update CHANGELOG.adoc
Co-authored-by: David Simansky <dsimansk@redhat.com>
* Edited domain create usage message
* Update docs/cmd/kn_domain_create.md
Co-authored-by: Roland Huß <rhuss@redhat.com>
* Update pkg/serving/v1alpha1/client.go
Co-authored-by: Roland Huß <rhuss@redhat.com>
* Update docs and usage message
* Changing test domain name in e2e for tls test
* fix e2e domain create test case
Co-authored-by: David Simansky <dsimansk@redhat.com>
Co-authored-by: Roland Huß <rhuss@redhat.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>
* Add a update timestamp anytime a new revision should be triggered. Previously client side revision names was this trigger but since we switched to server-side revision naming by default that didn't work anymore (and hasn't worked with server-side revision naming before, too).
Fixes#1318.
* fix e2e test
* add some unit tests
* Update error handling + added some tests
* fixed compile error in test
* lint fixes
* Create Broker explicitly rather than by labeling namespace
* creating explicity is allowed for users with project admin permissions
in the given project
* Use Role instead of ClusterRole to work with Sources
* this allows for running the tests as project admin users and don't
require cluster-admin permissions
* Separate SourceList test for cluster admin and regular user
* Instructions for running E2E as project admin
* Fix imports
* Define output as a new variable in source_list_crd_test
* Fix golint
* Reference an issue created for source list-types
* Cleanup Tekton tests only on success
* TMP: Run in presubmits
* Skip Istio addon in Tekton tests
* Revert "TMP: Run in presubmits"
This reverts commit d050971465.
* Use fully qualified image references in helloworld Dockerfile
* TMP: Run tekton tests in pre-submit
* remove this when the tekton tests pass
* TMP: Use mgencurs fork so that buildah uses the updated Dockerfile
* TMP: Fix running in pre-submit
* Revert "TMP: Fix running in pre-submit"
This reverts commit 35694f067e.
* Revert "TMP: Use mgencurs fork so that buildah uses the updated Dockerfile"
This reverts commit b7ad15e4d8.
* Revert "TMP: Run tekton tests in pre-submit"
This reverts commit 36d3a95c1b.
* Update Eventing Sources API to v1
* Update vendor dir
* Fix imports formatting
* Move PingSource client to v1beta2
* Fix sink resolve
* Fix serving version string
* Use Eventing version 0.22.1 in e2e tests
* Pass revision to git-clone Tekton task
* the branch main branch has been renamed from "master" and the default
value for the git-clone task is no longer valid
* TMP: Test Tekton in-presubmit
* Revert "TMP: Test Tekton in-presubmit"
This reverts commit 23649c9a71.
* # This is a combination of 9 commits.
# This is the 1st commit message:
adding BUILT-IN SOURCE column for kn source list-types
# The commit message #2 will be skipped:
# changing list test to check for BUILT-IN SOURCE column
# The commit message #3 will be skipped:
# changing e2e source list test to check for BUILT-IN SOURCE column
# The commit message #4 will be skipped:
# adding CHANGELOG entry
# The commit message #5 will be skipped:
# kn source list-types: changing BUILT-IN SOURCE to BUILT-IN and moving DESCRIPTION column to the end
# The commit message #6 will be skipped:
# changing BUILT-IN SOURCE to BUILT-IN in changelog
# The commit message #7 will be skipped:
# Update CHANGELOG.adoc
#
# Co-authored-by: David Simansky <dsimansk@redhat.com>
# The commit message #8 will be skipped:
# kn source list-types: changing column header to S, values to X, and moving to second column
# The commit message #9 will be skipped:
# fixing CHANGELOG merge conflict
* adding BUILT-IN SOURCE column for kn source list-types
* kn export defect to honor mode
* add test for export mode without revisions
* change default to export
* add export as default
* change tests for export mode change
* 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
* update to k8s 0.19.7, go v1.15, fix gnostic
* oops, did not run ./hack/build.sh
* Fix unit tests that broke because of k8s 1.19 update
* Update asserting in test to adapt to new jsonpath output behaviour
Looks like that strings are quoted now in arrays.
* fix one more assert
Co-authored-by: Roland Huß <roland@ro14nd.de>
* Ignore serviceUID and configUID labels in service export result
While exporting the service using `service export` command, ignore
the service labels with keys 'configUID' and `configUID`
see https://github.com/knative/serving/pull/10539 for further details.
* Fix the var names per golint recommendation
* Ignore the serviceUID and configUID labels from revision labels
* Add e2e for verifying configUID and serviceUID labels are absent
* Add CHANGELOG
* Update deps for release v0.20.0
* Update version command
* Update CHANGELOG
* Run tests against serving and eventing v0.20.0
* Run tests against serving and eventing v0.20.0
* feat: "kn service apply"
This commit introduces a client-side apply with a plain JsonPatchMerge. This is more limited than a StrategicPatchMerg as it does not allow to merge lists (they are just overwritten). Also is not a real 3-way merger that would lead to a conflict when both the, the server-side and the provide update overlapp in fields that updated, compared to the shared original configuration. This is a problem of JsonThreeWayMerger itself, as pointed out in https://github.com/kubernetes/kubernetes/pull/40666#pullrequestreview-502804243.
This limitation is shared with kubectl, which suffers from the same issue if using `kubectl apply` with a custom resource (i.e. with everything that has schema that is not registered within kubectl).
Tests are missing, too, but will come soon
* chore: Add tests for 'kn apply'
* refactor: Removed PatchService from pulic API interface
* fix: Display of service URL at the end, when no changes apply
* chore: Add initial E2E test
* chore: Implemented review suggestions
* More tests
* Example for kn service apply
* Remove commented-out code
* lint fixes
* fix formatting of kn service apply doc
* fixing go.sum
* chore: Update deps
* updating to use the hack repo
* eof
* you need to run update deps after codegen to pick up any new deps.
* do not reinvent update-deps.
* must be winter
* fix(tekton e2e): Fix CONTAINER_REGISTRY name generation
var `E2E_BASE_NAME` is no longer available
* debug: Run tekton tests
* Revert "debug: Run tekton tests"
This reverts commit dbe125ee04.
Dont expect mentioned key on the revision labels in service
expect tests now. The test is skipped for serving v0.18 release
and configured to only against current serving master.
see #https://github.com/knative/serving/pull/9710
* feat: Add subscription CRUD
- Add kn subscription command group and CRUDL sub-commands
- create/update uses following flag names for better alignment:
- --sink for subscriber
- --sink-reply for reply
- --sink-dead-letter for dead-letter-sink
- Add 'subscriptions' and 'sub' aliases
- Introduce shared library `knative.dev/client/lib/printing`
to print Sink object in describe output
* Set default channel type messaging.knative.dev/v1beta1:Channel
i.e. if no prefix is given to `--channel`, consider it of `Channel` type
* Update e2e tests
* Update channel flag description
* Pin pkg to release-0.18 version
* ./hack/update-deps.sh --upgrade && ./hack/update-codegen.sh
* bump k8s version to 1.18.8
* Fix the brokerage of importing latest serving
* exclude script/test-infra md from md check
The go.mod file was removed in
4ea31c444a
, and breaks building using Tekton.
The error is as follows:
STEP 3: COPY ./test/test_images/helloworld/ .
STEP 4: RUN CGO_ENABLED=0 GOOS=linux go build -mod=readonly -v -o server
build flag -mod=readonly only valid when using modules
subprocess exited with status 1
subprocess exited with status 1
error building at STEP "RUN CGO_ENABLED=0 GOOS=linux go build
-mod=readonly -v -o server": exit status 1
* 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
* feat(channel): Manage knative eventing channels
- Support specifying the type of channel to create using --type.
- Default is to use messaging layer configuration for channels
- Channel type aliases via kn config and alias for InMemoryChannel
- User can now configure channel type aliases in kn config and specify
alias to GVK mappings for easy reference on CLI and refer with `--type` flag
- User can also use inbuilt alias 'imc' for InMemoryChannel
* Let channel reconcile, sleep for 5 secs after creation
* Add imcv1 and imcv1beta1 aliases
* Rename imcv1 alias to imc
* build test images before e2e
* build test images before e2e
* build test images for e2e
* build test images for e2e
* build test images for e2e
* build test images for e2e
* use built test image in smoke test
* use built test image in smoke test
* change tests to use built test image
* change tests to use built test image
* change tests to use built test image
* change tests to use built test image
* add common base image for all purpose
* build images for e2e
* rebase with master
* add non root base image
* add non root base image
* Fix exit code 0 upon service delete
* Mentioned bug fix in CHANGELOG.adoc
* Add error check test for service not found
* Fix for kn revision delete failure exit code and add test cases
* Testing changes in test cases for failure in intergration tests
* Fix test case error causing integration test failure
* 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
* 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
* 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
* 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
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.
* 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>
* 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>
* 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
* 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
* prevent plugins that shadow commands of exsiting groups, e.g., kn-service-create is NOT OK
* list plugins that extend existing groups
* warn plugins that shadow command of existing groups
* add UTs for above
* 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