Interface SecretsProviderConfigurator

All Known Implementing Classes:
DefaultSecretsProviderConfigurator, KubernetesSecretsProviderConfigurator, NameAndConfigBasedSecretsProviderConfigurator

public interface SecretsProviderConfigurator
This file defines the SecretsProviderConfigurator interface. This interface is used by the function_workers to choose the SecretProvider class name(if any) and its associated config at the time of starting the function instances.
  • Method Details

    • init

      default void init(Map<String,String> config)
      Initialize the SecretsProviderConfigurator.
    • getSecretsProviderClassName

      String getSecretsProviderClassName(Function.FunctionDetails functionDetails)
      Return the Secrets Provider Classname. This will be passed to the cmdline of the instance and should contain the logic of connecting with the secrets provider and obtaining secrets.
    • getSecretsProviderConfig

      Map<String,String> getSecretsProviderConfig(Function.FunctionDetails functionDetails)
      Return the secrets provider config.
    • configureKubernetesRuntimeSecretsProvider

      void configureKubernetesRuntimeSecretsProvider(io.kubernetes.client.openapi.models.V1PodSpec podSpec, String functionsContainerName, Function.FunctionDetails functionDetails)
      Attaches any secrets specific stuff to the k8 container for kubernetes runtime.
    • configureProcessRuntimeSecretsProvider

      void configureProcessRuntimeSecretsProvider(ProcessBuilder processBuilder, Function.FunctionDetails functionDetails)
      Attaches any secrets specific stuff to the ProcessBuilder for process runtime.
    • getSecretObjectType

      Type getSecretObjectType()
      What is the type of the object that should be in the user secret config.
      Returns:
    • doAdmissionChecks

      default void doAdmissionChecks(io.kubernetes.client.openapi.apis.AppsV1Api appsV1Api, io.kubernetes.client.openapi.apis.CoreV1Api coreV1Api, String jobNamespace, String jobName, Function.FunctionDetails functionDetails)
      Do config checks to see whether the secrets provided are conforming.