Class KubernetesRuntimeFactory

  • All Implemented Interfaces:
    java.lang.AutoCloseable, RuntimeFactory

    public class KubernetesRuntimeFactory
    extends java.lang.Object
    implements RuntimeFactory
    Kubernetes based function container factory implementation.
    • Constructor Detail

      • KubernetesRuntimeFactory

        public KubernetesRuntimeFactory()
    • Method Detail

      • initialize

        public void initialize​(WorkerConfig workerConfig,
                               org.apache.pulsar.functions.instance.AuthenticationConfig authenticationConfig,
                               org.apache.pulsar.functions.secretsproviderconfigurator.SecretsProviderConfigurator secretsProviderConfigurator,
                               ConnectorsManager connectorsManager,
                               java.util.Optional<FunctionAuthProvider> functionAuthProvider,
                               java.util.Optional<RuntimeCustomizer> runtimeCustomizer)
        Specified by:
        initialize in interface RuntimeFactory
      • createContainer

        public KubernetesRuntime createContainer​(org.apache.pulsar.functions.instance.InstanceConfig instanceConfig,
                                                 java.lang.String codePkgUrl,
                                                 java.lang.String originalCodeFileName,
                                                 java.lang.Long expectedHealthCheckInterval)
                                          throws java.lang.Exception
        Description copied from interface: RuntimeFactory
        Create a function container to execute a java instance.
        Specified by:
        createContainer in interface RuntimeFactory
        Parameters:
        instanceConfig - java instance config
        codePkgUrl - code file
        expectedHealthCheckInterval - expected health check interval in seconds
        Returns:
        function container to start/stop instance
        Throws:
        java.lang.Exception
      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface RuntimeFactory
      • doAdmissionChecks

        public void doAdmissionChecks​(org.apache.pulsar.functions.proto.Function.FunctionDetails functionDetails)
        Specified by:
        doAdmissionChecks in interface RuntimeFactory
      • setupClient

        public void setupClient()
                         throws java.lang.Exception
        Throws:
        java.lang.Exception