* List inbuilt sources if CRD access is restricted
Fixes#947
- Identify restricted access error
- If server returns restricted access error, fallback to listing
only eventing inbuilt sources using their GVKs.
- List any inbuilt source (ApiServerSource) object and read the error
to know if eventing is installed for `kn source list-types`.
* Fix golint warnings
* Remove unused imports
* Verify each built in source before listing source types
* Improve the check if sources are not installed in the cluster
* Update finding forbidden error
* Update finding errors
* Add unit tests for IsForbiddenError util
* Add unit tests
* Add tests for dynamic pkg library
* Add unit tests for case when no sources are installed
* Update test name
* 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
* Find sink and ready conditions for untyped source
Fixes#909
- Look up spec.sink field in untyped source unstructured object and
try to convert it to duck Destination object
- Look up status.conditions field in untyped source unstructured object and
try to convert it to duck Conditions object
- Upon not finding the data at expected fields, return "<unknown>"
* Add unit tests
* Update LICENSE header
* chore: Update to Knative serving/eventing 0.14.0
and also move ApiServerSource to v1alpha2, adapting the option
(from "controller" to "labelSelector")
* fix go.sum
* chore: Update and fix tests
* chore: fix go.sum
* feat(source): Add 'kn source list'
Fixes#480
- Add 'kn source list' listing the available sources COs
- Use dynamic client to
- find out available source types
- find the COs in given namespace for each source type
- Add --type flag to filter source list based on source type
- Add unit tests
- Add e2e tests
- Add CHANGELOG entry
* Update group for ApiServerSource in tests
* Add kn duck source type for holding common eventing source fileds
- Common infromation from sources are extracted into a struct
for source list command output
- Printer function picks the information from this struct object
and doesn't know the details about extracting this info from multiple
types of sources received
- Group and Version for list is set to empty string and Kind to 'List',
if printed a source list with multiple types of sources in machine readable
format
- Group, Version and Kind for list are kept intact if printed a source list
with same type of source objects in machine readable format
* Update go.sum
* Add WithType builder for listing source
- Separate the flags definition
- WithType builder can be re-used to filter the source types
- Add unit tests
* Update ApiServer source group to apiserversources.sources.knative.dev
* Fix typos and align
Co-authored-by: Roland Huß <roland@ro14nd.de>