0

I am having issues trying to use a localstack Kinesis stream with Flink Statefun. I am getting the following error

flink-compose-kinesis-master-1 | org.apache.flink.kinesis.shaded.com.amazonaws.SdkClientException: Unable to execute HTTP request: Certificate for doesn't match any of the subject alternative names: [*.amplifyapp.localhost.localstack.cloud, *.cloudfront.localhost.localstack.cloud, *.execute-api.localhost.localstack.cloud, *.localhost.localstack.cloud, *.opensearch.localhost.localstack.cloud, *.s3.localhost.localstack.cloud, *.scm.localhost.localstack.cloud, localhost.localstack.cloud]

If I try to use HTTP I get:

Caused by: java.lang.IllegalArgumentException: Invalid service endpoint url: http://localstack:4566; Only custom service endpoints using HTTPS are supported

Is there any way to allow HTTP for testing purposes whilst I develop locally? I can see that in the Apache Flink library they can disable the cert checking when running tests against local stack:

https://github.com/apache/flink/blob/master/flink-end-to-end-tests/flink-end-to-end-tests-aws-kinesis-streams/pom.xml#L121

https://github.com/apache/flink/blob/master/flink-end-to-end-tests/flink-end-to-end-tests-aws-kinesis-streams/src/test/java/org/apache/flink/connector/kinesis/table/test/KinesisStreamsTableApiIT.java#L104

Here is my Docker image, I'm wondering if I can use the flink-conf.yaml to disable cert checking.

FROM apache/flink-statefun:3.2.0
RUN mkdir -p /opt/statefun/modules/remote
COPY module.yaml /opt/statefun/modules/remote/module.yaml
COPY flink-conf.yaml $FLINK_HOME/conf/flink-conf.yaml
COPY log4j-cli.properties $FLINK_HOME/conf/log4j-cli.properites
COPY log4j-console.properties $FLINK_HOME/conf/log4j-console.properties
Olaf Kock
  • 46,930
  • 8
  • 59
  • 90
pocockn
  • 1,965
  • 5
  • 21
  • 36

0 Answers0