in src/main/java/org/apache/cassandra/sidecar/YAMLSidecarConfiguration.java [250:280]
private static InstancesConfig instancesConfig(YAMLConfiguration yamlConf,
CassandraVersionProvider versionProvider,
int healthCheckFrequencyMillis,
String sidecarVersion,
DnsResolver dnsResolver)
{
/* Since we are supporting handling multiple instances in Sidecar optionally, we prefer reading single instance
* data over reading multiple instances section
*/
org.apache.commons.configuration2.Configuration singleInstanceConf = yamlConf.subset(CASSANDRA_INSTANCE);
if (singleInstanceConf != null && !singleInstanceConf.isEmpty())
{
InstanceMetadata instanceMetadata = buildInstanceMetadata(singleInstanceConf,
versionProvider,
healthCheckFrequencyMillis,
sidecarVersion);
return new InstancesConfigImpl(instanceMetadata, dnsResolver);
}
List<HierarchicalConfiguration<ImmutableNode>> instances = yamlConf.configurationsAt(CASSANDRA_INSTANCES);
final List<InstanceMetadata> instanceMetas = new ArrayList<>();
for (HierarchicalConfiguration<ImmutableNode> instance : instances)
{
InstanceMetadata instanceMetadata = buildInstanceMetadata(instance,
versionProvider,
healthCheckFrequencyMillis,
sidecarVersion);
instanceMetas.add(instanceMetadata);
}
return new InstancesConfigImpl(instanceMetas, dnsResolver);
}