Class BaseKubeProcessor<P,C extends PlatformConfiguration>

java.lang.Object
io.quarkus.kubernetes.deployment.BaseKubeProcessor<P,C>
Direct Known Subclasses:
BaseVanillaKubernetesProcessor, KnativeProcessor, OpenshiftProcessor

public abstract class BaseKubeProcessor<P,C extends PlatformConfiguration> extends Object
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    protected static final record 
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected Stream<io.dekorate.kubernetes.config.Port>
    asStream(List<io.quarkus.kubernetes.spi.KubernetesPortBuildItem> ports)
     
    protected String
     
    commonDecorators(io.quarkus.deployment.builditem.ApplicationInfoBuildItem applicationInfo, io.quarkus.deployment.pkg.builditem.OutputTargetBuildItem outputTarget, io.quarkus.deployment.pkg.PackageConfig packageConfig, Optional<io.quarkus.deployment.metrics.MetricsCapabilityBuildItem> metricsConfiguration, Optional<io.quarkus.kubernetes.client.spi.KubernetesClientCapabilityBuildItem> kubernetesClientConfiguration, List<io.quarkus.kubernetes.spi.KubernetesNamespaceBuildItem> namespaces, List<io.quarkus.kubernetes.spi.KubernetesAnnotationBuildItem> annotations, List<io.quarkus.kubernetes.spi.KubernetesLabelBuildItem> labels, List<io.quarkus.kubernetes.spi.KubernetesEnvBuildItem> envs, Optional<io.quarkus.container.spi.ContainerImageInfoBuildItem> image, Optional<io.quarkus.kubernetes.spi.KubernetesCommandBuildItem> command, List<io.quarkus.kubernetes.spi.KubernetesPortBuildItem> ports, Optional<io.quarkus.kubernetes.spi.KubernetesHealthLivenessPathBuildItem> livenessPath, Optional<io.quarkus.kubernetes.spi.KubernetesHealthReadinessPathBuildItem> readinessPath, Optional<io.quarkus.kubernetes.spi.KubernetesHealthStartupPathBuildItem> startupPath, List<io.quarkus.kubernetes.spi.KubernetesRoleBuildItem> roles, List<io.quarkus.kubernetes.spi.KubernetesClusterRoleBuildItem> clusterRoles, List<io.quarkus.kubernetes.spi.KubernetesEffectiveServiceAccountBuildItem> serviceAccounts, List<io.quarkus.kubernetes.spi.KubernetesRoleBindingBuildItem> roleBindings, List<io.quarkus.kubernetes.spi.KubernetesClusterRoleBindingBuildItem> clusterRoleBindings, Optional<io.quarkus.kubernetes.spi.CustomProjectRootBuildItem> customProjectRoot, List<io.quarkus.kubernetes.spi.KubernetesDeploymentTargetBuildItem> targets)
     
    protected io.quarkus.kubernetes.spi.KubernetesEffectiveServiceAccountBuildItem
    computeEffectiveServiceAccounts(io.quarkus.deployment.builditem.ApplicationInfoBuildItem applicationInfo, List<io.quarkus.kubernetes.spi.KubernetesServiceAccountBuildItem> serviceAccountsFromExtensions, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.kubernetes.spi.DecoratorBuildItem> decorators)
     
    protected abstract C
     
    protected void
    createAnnotations(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.kubernetes.spi.KubernetesAnnotationBuildItem> annotations)
     
    protected List<io.quarkus.kubernetes.spi.ConfiguratorBuildItem>
    createConfigurators(List<io.quarkus.kubernetes.spi.KubernetesPortBuildItem> ports)
     
    protected void
    createLabels(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.kubernetes.spi.KubernetesLabelBuildItem> labels, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.container.spi.ContainerImageLabelBuildItem> imageLabels)
     
    protected void
    createNamespace(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.kubernetes.spi.KubernetesNamespaceBuildItem> namespace)
     
    deploymentResourceKind(io.quarkus.deployment.Capabilities capabilities)
     
    protected abstract String
     
    protected boolean
     
    protected void
    externalizeInitTasks(io.quarkus.deployment.builditem.ApplicationInfoBuildItem applicationInfo, io.quarkus.container.spi.ContainerImageInfoBuildItem image, List<io.quarkus.deployment.builditem.InitTaskBuildItem> initTasks, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.kubernetes.spi.KubernetesJobBuildItem> jobs, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.kubernetes.spi.KubernetesInitContainerBuildItem> initContainers, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.kubernetes.spi.KubernetesEnvBuildItem> env, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.kubernetes.spi.KubernetesRoleBuildItem> roles, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.kubernetes.spi.KubernetesRoleBindingBuildItem> roleBindings, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.kubernetes.spi.KubernetesServiceAccountBuildItem> serviceAccount, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.kubernetes.spi.DecoratorBuildItem> decorators)
     
    protected void
    initTasks(BaseKubeProcessor.DecoratorsContext context, List<io.quarkus.kubernetes.spi.KubernetesInitContainerBuildItem> initContainers, List<io.quarkus.kubernetes.spi.KubernetesJobBuildItem> jobs)
     
    protected boolean
    isDeploymentTargetDisabled(List<io.quarkus.kubernetes.spi.KubernetesDeploymentTargetBuildItem> targets)
     
    protected abstract Optional<io.dekorate.kubernetes.config.Port>
    optionalPort(List<io.quarkus.kubernetes.spi.KubernetesPortBuildItem> ports)
     
    protected abstract P
    portConfigurator(io.dekorate.kubernetes.config.Port port)
     
    protected abstract int
     
    protected void
    probes(BaseKubeProcessor.DecoratorsContext context, List<io.quarkus.kubernetes.spi.KubernetesPortBuildItem> ports, Optional<io.quarkus.kubernetes.spi.KubernetesProbePortNameBuildItem> portName)
     
    protected void
    produceDeploymentBuildItem(io.quarkus.deployment.builditem.ApplicationInfoBuildItem applicationInfo, io.quarkus.deployment.Capabilities capabilities, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.kubernetes.spi.KubernetesDeploymentTargetBuildItem> deploymentTargets, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.kubernetes.spi.KubernetesResourceMetadataBuildItem> resourceMeta)
     
    protected io.dekorate.kubernetes.annotation.ImagePullPolicy
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • BaseKubeProcessor

      public BaseKubeProcessor()
  • Method Details

    • priority

      protected abstract int priority()
    • deploymentTarget

      protected abstract String deploymentTarget()
    • portConfigurator

      protected abstract P portConfigurator(io.dekorate.kubernetes.config.Port port)
    • config

      protected abstract C config()
    • optionalPort

      protected abstract Optional<io.dekorate.kubernetes.config.Port> optionalPort(List<io.quarkus.kubernetes.spi.KubernetesPortBuildItem> ports)
    • clusterType

      protected String clusterType()
    • enabled

      protected boolean enabled()
    • deploymentResourceKind

      protected DeploymentResourceKind deploymentResourceKind(io.quarkus.deployment.Capabilities capabilities)
    • produceDeploymentBuildItem

      protected void produceDeploymentBuildItem(io.quarkus.deployment.builditem.ApplicationInfoBuildItem applicationInfo, io.quarkus.deployment.Capabilities capabilities, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.kubernetes.spi.KubernetesDeploymentTargetBuildItem> deploymentTargets, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.kubernetes.spi.KubernetesResourceMetadataBuildItem> resourceMeta)
    • createAnnotations

      protected void createAnnotations(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.kubernetes.spi.KubernetesAnnotationBuildItem> annotations)
    • createLabels

      protected void createLabels(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.kubernetes.spi.KubernetesLabelBuildItem> labels, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.container.spi.ContainerImageLabelBuildItem> imageLabels)
    • asStream

      protected Stream<io.dekorate.kubernetes.config.Port> asStream(List<io.quarkus.kubernetes.spi.KubernetesPortBuildItem> ports)
    • createConfigurators

      protected List<io.quarkus.kubernetes.spi.ConfiguratorBuildItem> createConfigurators(List<io.quarkus.kubernetes.spi.KubernetesPortBuildItem> ports)
    • computeEffectiveServiceAccounts

      protected io.quarkus.kubernetes.spi.KubernetesEffectiveServiceAccountBuildItem computeEffectiveServiceAccounts(io.quarkus.deployment.builditem.ApplicationInfoBuildItem applicationInfo, List<io.quarkus.kubernetes.spi.KubernetesServiceAccountBuildItem> serviceAccountsFromExtensions, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.kubernetes.spi.DecoratorBuildItem> decorators)
    • createNamespace

      protected void createNamespace(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.kubernetes.spi.KubernetesNamespaceBuildItem> namespace)
    • isDeploymentTargetDisabled

      protected boolean isDeploymentTargetDisabled(List<io.quarkus.kubernetes.spi.KubernetesDeploymentTargetBuildItem> targets)
    • externalizeInitTasks

      protected void externalizeInitTasks(io.quarkus.deployment.builditem.ApplicationInfoBuildItem applicationInfo, io.quarkus.container.spi.ContainerImageInfoBuildItem image, List<io.quarkus.deployment.builditem.InitTaskBuildItem> initTasks, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.kubernetes.spi.KubernetesJobBuildItem> jobs, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.kubernetes.spi.KubernetesInitContainerBuildItem> initContainers, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.kubernetes.spi.KubernetesEnvBuildItem> env, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.kubernetes.spi.KubernetesRoleBuildItem> roles, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.kubernetes.spi.KubernetesRoleBindingBuildItem> roleBindings, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.kubernetes.spi.KubernetesServiceAccountBuildItem> serviceAccount, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.kubernetes.spi.DecoratorBuildItem> decorators)
    • commonDecorators

      protected BaseKubeProcessor.DecoratorsContext commonDecorators(io.quarkus.deployment.builditem.ApplicationInfoBuildItem applicationInfo, io.quarkus.deployment.pkg.builditem.OutputTargetBuildItem outputTarget, io.quarkus.deployment.pkg.PackageConfig packageConfig, Optional<io.quarkus.deployment.metrics.MetricsCapabilityBuildItem> metricsConfiguration, Optional<io.quarkus.kubernetes.client.spi.KubernetesClientCapabilityBuildItem> kubernetesClientConfiguration, List<io.quarkus.kubernetes.spi.KubernetesNamespaceBuildItem> namespaces, List<io.quarkus.kubernetes.spi.KubernetesAnnotationBuildItem> annotations, List<io.quarkus.kubernetes.spi.KubernetesLabelBuildItem> labels, List<io.quarkus.kubernetes.spi.KubernetesEnvBuildItem> envs, Optional<io.quarkus.container.spi.ContainerImageInfoBuildItem> image, Optional<io.quarkus.kubernetes.spi.KubernetesCommandBuildItem> command, List<io.quarkus.kubernetes.spi.KubernetesPortBuildItem> ports, Optional<io.quarkus.kubernetes.spi.KubernetesHealthLivenessPathBuildItem> livenessPath, Optional<io.quarkus.kubernetes.spi.KubernetesHealthReadinessPathBuildItem> readinessPath, Optional<io.quarkus.kubernetes.spi.KubernetesHealthStartupPathBuildItem> startupPath, List<io.quarkus.kubernetes.spi.KubernetesRoleBuildItem> roles, List<io.quarkus.kubernetes.spi.KubernetesClusterRoleBuildItem> clusterRoles, List<io.quarkus.kubernetes.spi.KubernetesEffectiveServiceAccountBuildItem> serviceAccounts, List<io.quarkus.kubernetes.spi.KubernetesRoleBindingBuildItem> roleBindings, List<io.quarkus.kubernetes.spi.KubernetesClusterRoleBindingBuildItem> clusterRoleBindings, Optional<io.quarkus.kubernetes.spi.CustomProjectRootBuildItem> customProjectRoot, List<io.quarkus.kubernetes.spi.KubernetesDeploymentTargetBuildItem> targets)
    • initTasks

      protected void initTasks(BaseKubeProcessor.DecoratorsContext context, List<io.quarkus.kubernetes.spi.KubernetesInitContainerBuildItem> initContainers, List<io.quarkus.kubernetes.spi.KubernetesJobBuildItem> jobs)
    • probes

      protected void probes(BaseKubeProcessor.DecoratorsContext context, List<io.quarkus.kubernetes.spi.KubernetesPortBuildItem> ports, Optional<io.quarkus.kubernetes.spi.KubernetesProbePortNameBuildItem> portName)
    • pullPolicy

      protected io.dekorate.kubernetes.annotation.ImagePullPolicy pullPolicy()