java.lang.Object
hudson.model.AbstractDescribableImpl<PodRetention>
org.csanchez.jenkins.plugins.kubernetes.pod.retention.PodRetention
All Implemented Interfaces:
ExtensionPoint, Describable<PodRetention>
Direct Known Subclasses:
Always, Default, Never, OnFailure

public abstract class PodRetention extends AbstractDescribableImpl<PodRetention> implements ExtensionPoint
PodRetention instances determine if the Kubernetes pod running a Jenkins agent should be deleted after Jenkins terminates the agent.

Custom pod retention behavior can be added by extending this class, including a descriptor that extends PodRetentionDescriptor

  • Constructor Details

    • PodRetention

      public PodRetention()
  • Method Details

    • getKubernetesCloudDefault

      public static PodRetention getKubernetesCloudDefault()
      Returns the default PodRetention for a KubernetesCloud instance.
      Returns:
      the Never PodRetention strategy.
    • getPodTemplateDefault

      public static PodRetention getPodTemplateDefault()
      Returns the default PodRetention for a PodTemplate instance.
      Returns:
      the Default PodRetention strategy.
    • shouldDeletePod

      public abstract boolean shouldDeletePod(KubernetesCloud cloud, Supplier<io.fabric8.kubernetes.api.model.Pod> pod)
      Determines if a agent pod should be deleted after the Jenkins build completes.
      Parameters:
      cloud - - the KubernetesCloud the agent pod belongs to.
      pod - - the Pod running the Jenkins build.
      Returns:
      true if the agent pod should be deleted.
    • toString

      public String toString()
      Overrides:
      toString in class Object