Skip to content

Commit 8a1d8ba

Browse files
committed
Notify on updates
1 parent 8ff7f2b commit 8a1d8ba

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

assemblyline_core/updater/run_updater.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,10 @@
1717
V1ConfigMapVolumeSource, V1Secret, V1LocalObjectReference
1818
from kubernetes import client, config
1919
from kubernetes.client.rest import ApiException
20+
from assemblyline.odm.messages.changes import Operation
2021

2122
from assemblyline.odm.models.service import DockerConfig
23+
from assemblyline.remote.datatypes.events import EventSender
2224
from assemblyline.remote.datatypes.hash import Hash
2325
from assemblyline_core.scaler.controllers.kubernetes_ctl import create_docker_auth_config
2426
from assemblyline_core.server_base import CoreBase
@@ -370,6 +372,7 @@ def __init__(self, redis_persist=None, redis=None, logger=None, datastore=None):
370372

371373
self.container_update: Hash[dict[str, Any]] = Hash('container-update', self.redis_persist)
372374
self.latest_service_tags: Hash[dict[str, str]] = Hash('service-tags', self.redis_persist)
375+
self.service_events = EventSender('changes.services', host=self.redis)
373376

374377
# Prepare a single threaded scheduler
375378
self.scheduler = sched.scheduler()
@@ -431,6 +434,10 @@ def container_updates(self):
431434
operations = [(self.datastore.service_delta.UPDATE_SET, 'version', latest_tag)]
432435
if self.datastore.service_delta.update(service_name, operations):
433436
# Update completed, cleanup
437+
self.service_events.send(service_name, {
438+
'operation': Operation.Modified,
439+
'name': service_name
440+
})
434441
self.log.info(f"Service {service_name} update successful!")
435442
else:
436443
self.log.error(f"Service {service_name} has failed to update because it cannot set "

0 commit comments

Comments
 (0)