Add schema registry's setting for keystore and truststore.
What does this PR do?
This commit mainly exposes locationpassword and type settings for schema registry's secret and key stores.
It brings those configuration options, if available, and directly forward down to the Kafka's SerDes library and Manticore client.
Introduces a script named setup_keystore_and_truststore.sh to setup keystore and truststore used in integration tests.
Furthermore it reworks a little bit the bash scripts to setup Kafka and Schema Registry in integration test to avoid download of artifacts if they are already locally downloaded.
Why is it important/What is the impact to the user?
With this PR the user is able to configure trust and key stores to be used to connect and interact specifically with Schema Registry.
These stores are different from the one configured for the Kafka client.
Checklist
[x] My code follows the style guidelines of this project
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[ ] I have made corresponding change to the default configuration files (and/or docker env variables)
[x] I have added tests that prove my fix is effective or that my feature works
Author's Checklist
[x] setup schema registry with separate keystore, import the certificate into client's truststore and verify that it can the plugin can connect to it running a pipeline.
How to test this PR locally
To test this PR a couple of security settings has to be done. The best way to setup Kafka and Schema registry with key store is to launch the kafka_test_setup.sh and ./start_schema_registry.sh. The script has the job to create keystore for schema registry, export it certificate and install on a truststore used by the client pipeline. All this security artifacts are available under the./tls_repository directory in plugin's clone.
5. verify no errors happen in log
## Related issues
<!-- Recommended
Link related issues below. Insert the issue link or reference after the word "Closes" if merging this should automatically close it.
- Closes #123
- Relates #123
- Requires #123
- Superseeds #123
-->
- Closes #101
- Relates https://github.com/confluentinc/schema-registry/pull/957
<!-- Recommended
Explain here the different behaviors that this PR introduces or modifies in this project, user roles, environment configuration, etc.
If you are familiar with Gherkin test scenarios, we recommend its usage: https://cucumber.io/docs/gherkin/reference/
-->
## Screenshots
<!-- Optional
Add here screenshots about how the project will be changed after the PR is applied. They could be related to web pages, terminal, etc, or any other image you consider important to be shared with the team.
-->
## Logs
<!-- Recommended
Paste here output logs discovered while creating this PR, such as stack traces or integration logs, or any other output you consider important to be shared with the team.
-->
Release notes
Add schema registry's setting for keystore and truststore.
What does this PR do?
This commit mainly exposes
location
password
andtype
settings for schema registry's secret and key stores. It brings those configuration options, if available, and directly forward down to the Kafka's SerDes library and Manticore client. Introduces a script namedsetup_keystore_and_truststore.sh
to setup keystore and truststore used in integration tests. Furthermore it reworks a little bit the bash scripts to setup Kafka and Schema Registry in integration test to avoid download of artifacts if they are already locally downloaded.Why is it important/What is the impact to the user?
With this PR the user is able to configure trust and key stores to be used to connect and interact specifically with Schema Registry. These stores are different from the one configured for the Kafka client.
Checklist
[ ] I have made corresponding change to the default configuration files (and/or docker env variables)Author's Checklist
How to test this PR locally
To test this PR a couple of security settings has to be done. The best way to setup Kafka and Schema registry with key store is to launch the
kafka_test_setup.sh
and./start_schema_registry.sh
. The script has the job to create keystore for schema registry, export it certificate and install on a truststore used by the client pipeline. All this security artifacts are available under the./tls_repository
directory in plugin's clone.curl
8083
and switch protocol tohttps
Gemfile
output { stdout { codec => rubydebug } }