From 4ee3ff18884def9d125f0402c4b3b0bac9a9b842 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matev=C5=BE=20Er=C5=BEen?= <matevz.erzen@xlab.si> Date: Fri, 1 Apr 2022 12:31:15 +0000 Subject: [PATCH] Custom Cron job interval --- .env | 4 +++- MANIFEST | 2 +- Makefile | 4 ++-- README.md | 1 + kubernetes/wazuh-vat-evidence-collector-configmap.yaml | 4 +++- scheduler/scheduler.py | 10 ++++------ 6 files changed, 14 insertions(+), 11 deletions(-) diff --git a/.env b/.env index 908aec1..988071e 100644 --- a/.env +++ b/.env @@ -18,4 +18,6 @@ clouditor_host=192.168.33.14 clouditor_port=9090 clouditor_oauth2_port=8080 clouditor_client_id=clouditor -clouditor_client_secret=clouditor \ No newline at end of file +clouditor_client_secret=clouditor + +wazuh_check_interval=300 \ No newline at end of file diff --git a/MANIFEST b/MANIFEST index ab96834..cfffdec 100644 --- a/MANIFEST +++ b/MANIFEST @@ -1,2 +1,2 @@ -VERSION=v0.0.13 +VERSION=v0.0.14 SERVICE=evidence-collector diff --git a/Makefile b/Makefile index c4e391d..d9784ed 100644 --- a/Makefile +++ b/Makefile @@ -5,6 +5,6 @@ run: docker run --env-file .env -v ${PWD}/resource_id_map.json:/evidence-collector/resource_id_map.json --name evidence-collector evidence-collector stop-and-clean: - docker stop evidence-collector || \ - docker rm evidence-collector || \ + docker stop evidence-collector + docker container rm evidence-collector docker volume rm resource_id_map.json \ No newline at end of file diff --git a/README.md b/README.md index 4d61a10..64ca894 100644 --- a/README.md +++ b/README.md @@ -103,6 +103,7 @@ All of the following environment variables have to be set (or passed to containe | `clouditor_oauth2_port` | Clouditor port used for authentication services. Default value `8080`. | | `clouditor_client_id` | Clouditor OAuth2 default id. Default value `clouditor`. | | `clouditor_client_secret` | Clouditor OAuth2 default secret. Default value `clouditor`. | +| `wazuh_check_interval` | Interval in seconds; how often should evidence be created and forwarded. Should be the same as the check interval set on Wazuh manager. | ### Medina resource ID mapping diff --git a/kubernetes/wazuh-vat-evidence-collector-configmap.yaml b/kubernetes/wazuh-vat-evidence-collector-configmap.yaml index faaf1b7..4814a24 100644 --- a/kubernetes/wazuh-vat-evidence-collector-configmap.yaml +++ b/kubernetes/wazuh-vat-evidence-collector-configmap.yaml @@ -20,4 +20,6 @@ data: redis_queue: 'low' clouditor_host: 'security-assessment-svc' - clouditor_port: '9090' \ No newline at end of file + clouditor_port: '9090' + + wazuh_check_interval: '300' \ No newline at end of file diff --git a/scheduler/scheduler.py b/scheduler/scheduler.py index 6d78c89..f057809 100644 --- a/scheduler/scheduler.py +++ b/scheduler/scheduler.py @@ -9,6 +9,8 @@ REDIS_HOST = os.environ.get("redis_host") REDIS_PORT = int(os.environ.get("redis_port")) REDIS_QUEUE = os.environ.get("redis_queue") +WAZUH_CHECK_INTERVAL = int(os.environ.get("wazuh_check_interval")) + def remove_jobs(scheduler): jobs = scheduler.get_jobs() for job in jobs: @@ -23,13 +25,10 @@ redis = Redis(REDIS_HOST, REDIS_PORT) q = Queue(REDIS_QUEUE, connection=redis) scheduler = Scheduler(connection=redis) -# TODO: Remove if needed remove_jobs(scheduler) -# TODO: Change cron expression and repeat value for production verion. -# Should probably be "0 0 * * * ". scheduler.cron( - '* * * * * ', + '*/' + str(int(WAZUH_CHECK_INTERVAL / 60)) + ' * * * * ', func=wazuh_evidence_collector.main, args=[], repeat=None, @@ -37,5 +36,4 @@ scheduler.cron( use_local_timezone=False ) -# TODO: Remove if needed -print_jobs(scheduler) +print_jobs(scheduler) \ No newline at end of file -- GitLab