Class KubernetesRemoteConfigurationSource

java.lang.Object
io.confluent.telemetry.config.remote.polling.PollingRemoteConfigurationSource
io.confluent.telemetry.config.remote.polling.kubernetes.KubernetesRemoteConfigurationSource
All Implemented Interfaces:
RemoteConfigurationSource

public class KubernetesRemoteConfigurationSource extends PollingRemoteConfigurationSource

This RemoteConfigurationSource will continuously poll the Kubernetes API for ConfigMap and Secret containing the RemoteConfiguration objects. It will merge the objects into a single RemoteConfiguration object. It is forbidden to define the same high-level configs in both ConfigMap and Secret (e.g., if "clients" is defined in Secret, it should not be defined in ConfigMap, and vice versa).

First, this source will query for ConfigMap and Secret with the same name as the cluster. If that ConfigMap and Secret do not exist, then it will use the one configured by CONFIG_MAP_NAME_CONFIG.

ConfigMap and Secret with the same name as the cluster are used when particular configs have to be applied for particular clusters (overrides) or in break glass scenarios (incident remediation) where we need to remotely configure a single cluster.