Manages multiple CronJobs with same image, but different commands and workdirs. Supports mounting of persistent volume to save results somewhere, ENV variables configmaps, concurrency and restart policy.
## Planning
- global and local SecurityContext
- global SubPath for volume mounts
- global node selector
- global resources limits
- global tolerations
- global affinity
- global imagePullPolicy
## Build sources
- You definitly need a Golang installed ([easy install for Ubuntu](http://deb.blindage.org/readme.txt))
- You definitly need a Golang installed
- Clone repository https://git.blindage.org/21h/cron-operator.git to your computer
- Open `Makefile` and change images registry to yours, then run `make && make push`
Or run `docker build -t cron-operator .` to make image and push to your repo later
- Upload image to your registry
- Open `Makefile` and change images registry to yours, then run `make && make push`
- Or run `docker build -t cron-operator .` to make image and push to your repo later
## Prebuilt images
You can find images here https://hub.docker.com/r/iam21h/cron-operator. Pin version number in `operator.yaml` if you do not want automaticaly get new features and bugs.
You can find images here https://hub.docker.com/r/iam21h/cron-operator
## Deploy operator
@ -40,34 +29,13 @@ Change `operator.yaml` if you want operator watch only specified namespace. Chec
## Settings
In your `CronOp` resource you can set image, parameters and tasks. CronJobs is a result of reconciling tasks section, some parameters can be global and overrided in each task. Remember, CronJob, Pod and Job is a different things.
This parameters can be set in global section or each task:
Also you can save intermediate results in mounted persistent volume. You can set PVC name with `PersistentVolumeName` and mount point with `PersistentVolumePath`. It's easy.
Look into `pkg/apis/blindage/v1alpha1/cronop_types.go` to find more interesting parameters!
## Your first CronOp deployment
Good sample you can find in `deploy/test-cron.yaml`, see it in case of questions.
Good samples you can find in `deploy/test-cron.yaml`.