1
0
mirror of https://github.com/zokradonh/kopano-docker.git synced 2026-08-11 16:32:59 +00:00

wip: Implement a scheduler to run recurring tasks (such as z-push-gabsync) (#123)

* add scheduler container for gabsync
Adds a general scheduler container to trigger tasks within containers.
Also adds gabsync to zpush image
* make scheduler dynamic
execute each cron job once at startup to see if they would succeed
* remove services scripts from core container (now is part of the scheduler)
* add "CRONDELAY" for tasks that should not be executed at startup
* add documentation
* clear out crontab at startup
This commit is contained in:
Felix Bartels
2019-03-24 17:33:41 +01:00
committed by GitHub
parent 830ac3c838
commit caac8a5c03
12 changed files with 114 additions and 22 deletions
+12 -1
View File
@@ -28,7 +28,7 @@ export
# convert lowercase componentname to uppercase
COMPONENT = $(shell echo $(component) | tr a-z A-Z)
build-all: build-base build-core build-kdav build-konnect build-kwmserver build-ldap-demo build-meet build-playground build-ssl build-utils build-web build-webapp build-zpush
build-all: build-base build-core build-kdav build-konnect build-kwmserver build-ldap-demo build-meet build-playground build-scheduler build-ssl build-utils build-web build-webapp build-zpush
.PHONY: build
build: component ?= base
@@ -79,6 +79,9 @@ build-playground:
build-kdav:
component=kdav make build
build-scheduler:
component=scheduler make build-simple
build-ssl:
component=ssl make build-simple
@@ -128,6 +131,11 @@ tag-meet:
$(shell docker run --rm $(docker_repo)/kopano_meet cat /kopano/buildversion | grep meet | cut -d- -f2 | cut -d+ -f1))
component=meet make tag-container
tag-scheduler:
$(eval scheduler_version := \
$(shell docker run --rm $(docker_repo)/kopano_scheduler env | grep SUPERCRONIC_VERSION | cut -d'=' -f2))
component=scheduler make tag-container
tag-utils:
$(eval utils_version := \
$(shell docker run --rm $(docker_repo)/kopano_utils cat /kopano/buildversion | cut -d- -f2))
@@ -182,6 +190,9 @@ publish-kdav: build-kdav #tag-kdav
#component=zpush make publish-container
docker push $(docker_repo)/kopano_kdav:latest
publish-scheduler: build-scheduler tag-scheduler
component=scheduler make publish-container
publish-ssl: build-ssl
docker push $(docker_repo)/kopano_ssl:latest