This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch aws2-sqs-secr-source in repository https://gitbox.apache.org/repos/asf/camel-kafka-connector-examples.git
commit 2e2cd707e4c6957ae72278e76d092bd2430db830 Author: Andrea Cosentino <anco...@gmail.com> AuthorDate: Tue Sep 22 07:11:42 2020 +0200 AWS2 SQS Source example: Added steps for Openshift secret creds --- aws2-sqs/aws2-sqs-source/README.adoc | 35 ++++++++++++++++++++++ .../config/openshift/aws2-sqs-cred.properties | 3 ++ .../openshift/aws2-sqs-source-connector.yaml | 19 ++++++++++++ 3 files changed, 57 insertions(+) diff --git a/aws2-sqs/aws2-sqs-source/README.adoc b/aws2-sqs/aws2-sqs-source/README.adoc index c8518a5..ffee4fc 100644 --- a/aws2-sqs/aws2-sqs-source/README.adoc +++ b/aws2-sqs/aws2-sqs-source/README.adoc @@ -169,6 +169,34 @@ You should see something like this: [{"class":"org.apache.camel.kafkaconnector.CamelSinkConnector","type":"sink","version":"0.5.0"},{"class":"org.apache.camel.kafkaconnector.CamelSourceConnector","type":"source","version":"0.5.0"},{"class":"org.apache.camel.kafkaconnector.aws2sqs.CamelAws2sqsSinkConnector","type":"sink","version":"0.5.0"},{"class":"org.apache.camel.kafkaconnector.aws2sqs.CamelAws2sqsSourceConnector","type":"source","version":"0.5.0"},{"class":"org.apache.kafka.connect.file.FileStreamSinkConnector","type":" [...] ---- +### Set the AWS credential as secret (optional) + +You can also set the aws creds option as secret, you'll need to edit the file config/aws-s3-cred.properties with the correct credentials and then execute the following command + +[source,bash,options="nowrap"] +---- +oc create secret generic aws2-sqs --from-file=config/openshift/aws2-sqs-cred.properties +---- + +Now we need to edit KafkaConnectS2I custom resource to reference the secret. For example: + +[source,bash,options="nowrap"] +---- +spec: + # ... + config: + config.providers: file + config.providers.file.class: org.apache.kafka.common.config.provider.FileConfigProvider + #... + externalConfiguration: + volumes: + - name: aws-credentials + secret: + secretName: aws2-sqs +---- + +In this way the secret aws2-sqs will be mounted as volume with path /opt/kafka/external-configuration/aws-credentials/ + ### Create connector instance Now we can create some instance of the AWS2 SQS source connector: @@ -224,6 +252,13 @@ spec: EOF ---- +If you followed the optional step for secret credentials you can run the following command: + +[source,bash,options="nowrap"] +---- +oc apply -f config/openshift/aws2-sqs-source-connector.yaml +---- + You can check the status of the connector using [source,bash,options="nowrap"] diff --git a/aws2-sqs/aws2-sqs-source/config/openshift/aws2-sqs-cred.properties b/aws2-sqs/aws2-sqs-source/config/openshift/aws2-sqs-cred.properties new file mode 100644 index 0000000..d1596a1 --- /dev/null +++ b/aws2-sqs/aws2-sqs-source/config/openshift/aws2-sqs-cred.properties @@ -0,0 +1,3 @@ +accessKey=xxxx +secretKey=yyyy +region=region diff --git a/aws2-sqs/aws2-sqs-source/config/openshift/aws2-sqs-source-connector.yaml b/aws2-sqs/aws2-sqs-source/config/openshift/aws2-sqs-source-connector.yaml new file mode 100644 index 0000000..ffb3b60 --- /dev/null +++ b/aws2-sqs/aws2-sqs-source/config/openshift/aws2-sqs-source-connector.yaml @@ -0,0 +1,19 @@ +apiVersion: kafka.strimzi.io/v1alpha1 +kind: KafkaConnector +metadata: + name: s3-source-connector + namespace: myproject + labels: + strimzi.io/cluster: my-connect-cluster +spec: + class: org.apache.camel.kafkaconnector.aws2s3.CamelAws2s3SourceConnector + tasksMax: 1 + config: + key.converter: org.apache.kafka.connect.storage.StringConverter + value.converter: org.apache.kafka.connect.storage.StringConverter + topics: s3-topic + camel.source.path.bucketNameOrArn: camel-kafka-connector + camel.source.maxPollDuration: 10000 + camel.component.aws2-s3.accessKey: ${file:/opt/kafka/external-configuration/aws-credentials/aws2-sqs-cred.properties:accessKey} + camel.component.aws2-s3.secretKey: ${file:/opt/kafka/external-configuration/aws-credentials/aws2-sqs-cred.properties:secretKey} + camel.component.aws2-s3.region: ${file:/opt/kafka/external-configuration/aws-credentials/aws2-sqs-cred.properties:region}