You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2020/09/22 05:15:21 UTC

[camel-kafka-connector-examples] 01/01: AWS2 SQS Source example: Added steps for Openshift secret creds

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 <an...@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}