public SidecarConfiguration sidecarConfiguration()

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();
        }