in cassandra-analytics-integration-framework/src/main/java/org/apache/cassandra/sidecar/testing/SharedClusterIntegrationTestBase.java [578:634]
public SidecarConfiguration sidecarConfiguration()
{
// claim lease fast for testing
PeriodicTaskConfiguration clusterClaimTaskConfig = new PeriodicTaskConfigurationImpl(true,
MillisecondBoundConfiguration.parse("1s"),
MillisecondBoundConfiguration.parse("1s"));
ServiceConfiguration conf = ServiceConfigurationImpl.builder()
.host("0.0.0.0") // binds to all interfaces, potential security issue if left running for long
.port(0) // let the test find an available port
.schemaKeyspaceConfiguration(SchemaKeyspaceConfigurationImpl.builder()
.isEnabled(true)
.build())
.coordinationConfiguration(new CoordinationConfigurationImpl(clusterClaimTaskConfig))
.build();
SslConfiguration sslConfiguration = null;
if (mtlsTestHelper.isEnabled())
{
LOGGER.info("Enabling test mTLS certificate/keystore.");
KeyStoreConfiguration truststoreConfiguration =
new KeyStoreConfigurationImpl(mtlsTestHelper.trustStorePath(),
mtlsTestHelper.trustStorePassword(),
mtlsTestHelper.trustStoreType(),
SecondBoundConfiguration.ZERO);
KeyStoreConfiguration keyStoreConfiguration =
new KeyStoreConfigurationImpl(mtlsTestHelper.serverKeyStorePath(),
mtlsTestHelper.serverKeyStorePassword(),
mtlsTestHelper.serverKeyStoreType(),
SecondBoundConfiguration.ZERO);
sslConfiguration = SslConfigurationImpl.builder()
.enabled(true)
.keystore(keyStoreConfiguration)
.truststore(truststoreConfiguration)
.build();
}
else
{
LOGGER.info("Not enabling mTLS for testing purposes. Set '{}' to 'true' if you would " +
"like mTLS enabled.", CASSANDRA_INTEGRATION_TEST_ENABLE_MTLS);
}
S3ClientConfiguration s3ClientConfig = new S3ClientConfigurationImpl("s3-client", 4, DEFAULT_THREAD_KEEP_ALIVE,
5242880, DEFAULT_API_CALL_TIMEOUT,
buildTestS3ProxyConfig());
SidecarConfigurationImpl.Builder builder = SidecarConfigurationImpl.builder()
.serviceConfiguration(conf)
.sslConfiguration(sslConfiguration)
.s3ClientConfiguration(s3ClientConfig);
if (configurationOverrides != null)
{
builder = configurationOverrides.apply(builder);
}
return builder.build();
}