Project reference ↗

This kube-janitor helped remove completed Kubernetes Jobs and the Pods left behind after their work finished. It was useful when a cluster accumulated short-lived tasks but operators still needed a configurable period to inspect the results before cleanup. This entry identifies themagicalkarp's project, not other tools with the same name. Kubernetes now offers a native finished-Job retention mechanism, which may cover that narrower requirement without another controller.

Current guidance

The incubator/kube-janitor chart explicitly names themagicalkarp/kube-janitor. The recovered description concerns cleanup of completed Kubernetes Jobs. Keep that identity separate from other namespace or TTL controllers with the same name; their annotations, deletion policies and ownership are not interchangeable.

The central incubator chart is deprecated, while this review does not establish a current support commitment for its exact application image. Kubernetes now provides ttlSecondsAfterFinished for completed Jobs, so the old claim that Kubernetes never removes finished Jobs is no longer a complete description. Native TTL is a focused alternative when the required policy can be expressed on each Job.

Before migration, inventory successful and failed Job retention, protected labels or namespaces, and dependencies on job logs or status. Choose a retention period that leaves enough diagnostic evidence and confirm logs are exported before their pods disappear. Test finalizers, dependent pod deletion and Jobs created by CronJobs in an isolated namespace. Do not install a differently named janitor merely because it appears newer; compare the exact selection and deletion semantics first.

Historical upstream link check · 2026-10-09

The recorded upstream address responded successfully (HTTP 200) on 2026-10-09. GitHub confirms that helm/charts is archived: this is a historical chart distribution, not evidence that the application itself is retired. Link availability does not certify the historical installation instructions or current security support.

Source for this check ↗

Website availability is separate from project, chart and image support. Use the current guidance and primary sources on this page to assess the distribution.

The original record

Historical Kubedex content

Original publication: 2018-11-17T14:17:04+00:00. Preserved for context. Commands, versions, prices and results below reflect the original research.

Kube-janitor is a automation tool to clean up finished jobs in Kubernetes. It is designed to be highly configurable and deployable via helm.

Why

As of v1.11 Kubernetes does not clean up failed or successful jobs automatically.

When a Job completes, no more Pods are created, but the Pods are not deleted either. Keeping them around allows you to still view the logs of completed pods to check for errors, warnings, or other diagnostic output. The job object also remains after it is completed so that you can view its status. It is up to the user to delete old jobs after noting their status.

Although Kubernetes does provide an activeDeadlineSeconds on job configurations.

The activeDeadlineSeconds applies to the duration of the job, no matter how many Pods are created. Once a Job reaches activeDeadlineSeconds, the Job and all of its Pods are terminated. The result is that the job has a status with reason: DeadlineExceeded.

However this option has the potential to kill your job even before it’s finished. Kube-janitor aims to cleanup only after your job has finished regardless of failure or success.

The post kube-janitor appeared first on kubedex.com.

Sources & further reading

  1. Historical chart exact project identity
  2. Original Job janitor
  3. Native finished Job TTL
  4. Recovered historical source

Spotted something that needs another look?

Help improve this page →