Class KubernetesCustomAccountConfigurationProvider

java.lang.Object
com.netflix.spinnaker.clouddriver.config.AbstractBootstrapCredentialsConfigurationProvider<KubernetesAccountProperties>
com.netflix.spinnaker.clouddriver.kubernetes.config.KubernetesCustomAccountConfigurationProvider
All Implemented Interfaces:
com.netflix.spinnaker.clouddriver.config.ConfigurationProvider<KubernetesAccountProperties>

public class KubernetesCustomAccountConfigurationProvider extends com.netflix.spinnaker.clouddriver.config.AbstractBootstrapCredentialsConfigurationProvider<KubernetesAccountProperties>
If a configuration properties file has a large number of kubernetes accounts, as-is SpringBoot implementation of properties binding is inefficient. Hence, a custom logic for binding just the KubernetesAccountProperties is written but it still uses SpringBoot's Binder class. KubernetesCustomAccountConfigurationProvider class fetches the flattened kubernetes properties from Spring Cloud Config's BootstrapPropertySource and creates an KubernetesAccountProperties object.
  • Constructor Details

    • KubernetesCustomAccountConfigurationProvider

      public KubernetesCustomAccountConfigurationProvider(org.springframework.context.ConfigurableApplicationContext applicationContext, com.netflix.spinnaker.kork.configserver.CloudConfigResourceService configResourceService, com.netflix.spinnaker.kork.secrets.SecretManager secretManager)
  • Method Details

    • getConfigurationProperties

      public KubernetesAccountProperties getConfigurationProperties()
      Specified by:
      getConfigurationProperties in interface com.netflix.spinnaker.clouddriver.config.ConfigurationProvider<KubernetesAccountProperties>
      Specified by:
      getConfigurationProperties in class com.netflix.spinnaker.clouddriver.config.AbstractBootstrapCredentialsConfigurationProvider<KubernetesAccountProperties>