
The simple Kubernetes CronJob admin UI.
Kronic is in early alpha. It may eat your cronjobs, pods, or even your job.
See CronJobs across namespaces:

View, suspend, trigger, clone, or delete CrobJobs at a glance:

Drill down into details to see the status of jobs and pods:

Get your hands dirty with the raw YAML to edit a CronJob:

CronJobs are a powerful tool, but I have found that developers and stakeholders often need an easy way to inspect the status of jobs, trigger them ad-hoc, or create a new one-off job based on existing CronJob definitions.
Kronic aims to be a simple admin UI / dashboard / manager to view, suspend, trigger, edit, and delete CronJobs in a Kubernetes cluster.
A helm chart is provided at ./chart/kronic. By default the Kronic helm chart will provide only a ClusterIP service. See the values.yaml for some tweakable settings, most notably ingress definition.
Warning Avoid exposing Kronic publicly! The ingress configuration allows for basic authentication, but this is only minimal protection. Ensure you change
ingress.auth.passwordfrom the default. Best practice would be to use a privately routed ingress class or other network-level protections. You may also provide your own basic auth secret usingingress.auth.secretName. See Ingress docs on creation.
To install Kronic, clone this repository and run:
helm install -n kronic --create-namespace kronic ./chart/kronic
Kronic can use a KUBECONFIG file to run locally against a cluster. To do so:
docker run -i --name kronic \
-v $HOME/.kube:/home/kronic/.kube \
-p 8000:8000 \
ghcr.io/mshade/kronic
Note You may need to ensure permissions on the kubeconfig file are readable to the
kronicuser (uid 3000). You may also mount a specific kubeconfig file into place, ie:-v $HOME/.kube/kronic.yaml:/home/kronic/.kube/config
Kronic is a small Flask app built with: