nicolaferraro commented on a change in pull request #1: URL: https://github.com/apache/camel-kamelets/pull/1#discussion_r571967885
########## File path: README.md ########## @@ -1,6 +1,126 @@ -# Apache Camel - Kamelet Repository +# Apache Camel - Kamelet Catalog -This repository contains the default catalog of Kamelet definitions that can be used with Apache Camel and its sub-projects. +This repository contains the default Kamelet catalog used by Apache Camel and its sub-projects. -More information about Kamelets can be found in the [Apache Camel K documentation](https://camel.apache.org/camel-k/latest/kamelets/kamelets.html). +Kamelets in this repository can be used natively in [Apache Camel K](https://github.com/apache/camel-k) integrations, without additional configuration steps: +users just need to reference the Kamelets by name in the URI (e.g. `kamelet:timer-source?message=Hello`), or use them in a `KameletBinding`. +**NOTE**: Camel K (and other sub-projects) will only use a specific version of this Kamelet catalog. Refer to the release notes of the sub-project for more information. + +Documents and guides about Kamelets can be found in the [Apache Camel K documentation](https://camel.apache.org/camel-k/latest/kamelets/kamelets.html). + +## Guidelines for contributions + +Kamelets in this repository are intended to be generic connectors that any external platform can embed in order to leverage the Apache Camel integration capabilities. + +All Kamelets posted here will be subject to the scrutiny of the Apache Camel PMC to assess their compliance with the ecosystem and, in any case, they **MUST** be in line with the general [Apache Code of Conduct](https://www.apache.org/foundation/policies/conduct.html). + +### General Format + +Kamelets **MUST** be provided in the *Kubernetes YAML* format, i.e. they **MUST** be resources that can be applied on a cluster using the Kubernetes `kubectl` CLI. + +The file name of each Kamelet **MUST** follow this specific pattern: `<kamelet-name>.kamelet.yaml`. The `<kamelet-name>` **MUST** match field `metadata` -> `name` inside the Kamelet YAML. + +For the time being, we'll accept only two kind of Kamelets: + +- **Sources**: Kamelets producing data that can be forwarded to any chosen destination. In the Camel jargon, a source can be used consumer-side. +Kamelets belonging to this category **MUST** be marked with label: `camel.apache.org/kamelet.type=source`. +- **Sinks**: Kamelets that accept data with a specific datashape and forward it to an external system. In the Camel jargon, a sink can be used producer-side. +Kamelets belonging to this category **MUST** be marked with label: `camel.apache.org/kamelet.type=sink`. + +All Kamelets **MUST** provide a value for label `camel.apache.org/kamelet.type`. + +All Kamelets **MUST** declare an icon in the `camel.apache.org/kamelet.icon` annotation using the embedded URL `data:image` format. An icon annotation **CANNOT** contain a link to an external location. A Kamelet **SHOULD** use the specific `data:image/svg+xml;base64` format whenever it's possible. Review comment: Yeah, I see your concerns... I thought it would make sense to have a web module generated for the kamelets in this repo and previewed by Netlify on each PR. This way we can either check the icon (but also the schema) in the browser and also include the Kamelet catalog in the main Camel website. Could it work? ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
