Chapter 22. Ceph Source
Receive data from an Ceph Bucket, managed by a Object Storage Gateway.
22.1. Configuration Options
The following table summarizes the configuration options available for the ceph-source
Kamelet:
Property | Name | Description | Type | Default | Example |
---|---|---|---|---|---|
accessKey * | Access Key | The access key. | string | ||
bucketName * | Bucket Name | The Ceph Bucket name. | string | ||
cephUrl * | Ceph Url Address | Set the Ceph Object Storage Address Url. | string |
| |
secretKey * | Secret Key | The secret key. | string | ||
zoneGroup * | Bucket Zone Group | The bucket zone group. | string | ||
autoCreateBucket | Autocreate Bucket | Specifies to automatically create the bucket. | boolean |
| |
delay | Delay | The number of milliseconds before the next poll of the selected bucket. | integer |
| |
deleteAfterRead | Auto-delete Objects | Specifies to delete objects after consuming them. | boolean |
| |
ignoreBody | Ignore Body |
If true, the Object body is ignored. Setting this to true overrides any behavior defined by the | boolean |
| |
includeBody | Include Body | If true, the exchange is consumed and put into the body and closed. If false, the Object stream is put raw into the body and the headers are set with the object metadata. | boolean |
| |
prefix | Prefix | The bucket prefix to consider while searching. | string |
|
Fields marked with an asterisk (*) are mandatory.
22.2. Dependencies
At runtime, the ceph-source
Kamelet relies upon the presence of the following dependencies:
- camel:aws2-s3
- camel:kamelet
22.3. Usage
This section describes how you can use the ceph-source
.
22.3.1. Knative Source
You can use the ceph-source
Kamelet as a Knative source by binding it to a Knative object.
ceph-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: ceph-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: ceph-source properties: accessKey: "The Access Key" bucketName: "The Bucket Name" cephUrl: "http://ceph-storage-address.com" secretKey: "The Secret Key" zoneGroup: "The Bucket Zone Group" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
22.3.1.1. Prerequisite
Make sure you have "Red Hat Integration - Camel K" installed into the OpenShift cluster you’re connected to.
22.3.1.2. Procedure for using the cluster CLI
-
Save the
ceph-source-binding.yaml
file to your local drive, and then edit it as needed for your configuration. Run the source by using the following command:
oc apply -f ceph-source-binding.yaml
22.3.1.3. Procedure for using the Kamel CLI
Configure and run the source by using the following command:
kamel bind ceph-source -p "source.accessKey=The Access Key" -p "source.bucketName=The Bucket Name" -p "source.cephUrl=http://ceph-storage-address.com" -p "source.secretKey=The Secret Key" -p "source.zoneGroup=The Bucket Zone Group" channel:mychannel
This command creates the KameletBinding in the current namespace on the cluster.
22.3.2. Kafka Source
You can use the ceph-source
Kamelet as a Kafka source by binding it to a Kafka topic.
ceph-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: ceph-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: ceph-source properties: accessKey: "The Access Key" bucketName: "The Bucket Name" cephUrl: "http://ceph-storage-address.com" secretKey: "The Secret Key" zoneGroup: "The Bucket Zone Group" sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
22.3.2.1. Prerequisites
Ensure that you’ve installed the AMQ Streams operator in your OpenShift cluster and created a topic named my-topic
in the current namespace. Make also sure you have "Red Hat Integration - Camel K" installed into the OpenShift cluster you’re connected to.
22.3.2.2. Procedure for using the cluster CLI
-
Save the
ceph-source-binding.yaml
file to your local drive, and then edit it as needed for your configuration. Run the source by using the following command:
oc apply -f ceph-source-binding.yaml
22.3.2.3. Procedure for using the Kamel CLI
Configure and run the source by using the following command:
kamel bind ceph-source -p "source.accessKey=The Access Key" -p "source.bucketName=The Bucket Name" -p "source.cephUrl=http://ceph-storage-address.com" -p "source.secretKey=The Secret Key" -p "source.zoneGroup=The Bucket Zone Group" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
This command creates the KameletBinding in the current namespace on the cluster.
22.4. Kamelet source file
https://github.com/openshift-integration/kamelet-catalog/ceph-source.kamelet.yaml