assemblyline-core 4.7.3.dev23__tar.gz → 4.7.3.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/PKG-INFO +1 -1
  2. assemblyline_core-4.7.3.1/assemblyline_core/VERSION +1 -0
  3. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/scaler/scaler_server.py +2 -2
  4. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/updater/run_updater.py +5 -34
  5. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core.egg-info/PKG-INFO +1 -1
  6. assemblyline_core-4.7.3.dev23/assemblyline_core/VERSION +0 -1
  7. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/LICENCE.md +0 -0
  8. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/README.md +0 -0
  9. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/__init__.py +0 -0
  10. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/alerter/__init__.py +0 -0
  11. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/alerter/processing.py +0 -0
  12. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/alerter/run_alerter.py +0 -0
  13. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/archiver/__init__.py +0 -0
  14. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/archiver/run_archiver.py +0 -0
  15. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/badlist_client.py +0 -0
  16. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/dispatching/__init__.py +0 -0
  17. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/dispatching/client.py +0 -0
  18. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/dispatching/dispatcher.py +0 -0
  19. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/dispatching/schedules.py +0 -0
  20. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/expiry/__init__.py +0 -0
  21. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/expiry/run_expiry.py +0 -0
  22. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/ingester/__init__.py +0 -0
  23. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/ingester/constants.py +0 -0
  24. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/ingester/ingester.py +0 -0
  25. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/metrics/__init__.py +0 -0
  26. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/metrics/es_metrics.py +0 -0
  27. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/metrics/heartbeat_formatter.py +0 -0
  28. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/metrics/helper.py +0 -0
  29. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/metrics/metrics_server.py +0 -0
  30. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/metrics/run_heartbeat_manager.py +0 -0
  31. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/metrics/run_metrics_aggregator.py +0 -0
  32. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/metrics/run_statistics_aggregator.py +0 -0
  33. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/replay/__init__.py +0 -0
  34. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/replay/client.py +0 -0
  35. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/replay/creator/__init__.py +0 -0
  36. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/replay/creator/run.py +0 -0
  37. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/replay/creator/run_worker.py +0 -0
  38. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/replay/loader/__init__.py +0 -0
  39. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/replay/loader/run.py +0 -0
  40. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/replay/loader/run_worker.py +0 -0
  41. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/replay/replay.py +0 -0
  42. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/safelist_client.py +0 -0
  43. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/scaler/__init__.py +0 -0
  44. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/scaler/collection.py +0 -0
  45. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/scaler/controllers/__init__.py +0 -0
  46. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/scaler/controllers/docker_ctl.py +0 -0
  47. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/scaler/controllers/interface.py +0 -0
  48. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/scaler/controllers/kubernetes_ctl.py +0 -0
  49. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/scaler/run_scaler.py +0 -0
  50. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/server_base.py +0 -0
  51. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/signature_client.py +0 -0
  52. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/submission_client.py +0 -0
  53. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/tasking_client.py +0 -0
  54. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/updater/__init__.py +0 -0
  55. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/updater/helper.py +0 -0
  56. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/vacuum/__init__.py +0 -0
  57. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/vacuum/crawler.py +0 -0
  58. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/vacuum/department_map.py +0 -0
  59. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/vacuum/safelist.py +0 -0
  60. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/vacuum/stream_map.py +0 -0
  61. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/vacuum/worker.py +0 -0
  62. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/workflow/__init__.py +0 -0
  63. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core/workflow/run_workflow.py +0 -0
  64. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core.egg-info/SOURCES.txt +0 -0
  65. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core.egg-info/dependency_links.txt +0 -0
  66. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core.egg-info/requires.txt +0 -0
  67. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/assemblyline_core.egg-info/top_level.txt +0 -0
  68. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/setup.cfg +0 -0
  69. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/setup.py +0 -0
  70. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/test/test_alerter.py +0 -0
  71. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/test/test_badlist_client.py +0 -0
  72. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/test/test_expiry.py +0 -0
  73. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/test/test_replay.py +0 -0
  74. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/test/test_safelist_client.py +0 -0
  75. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/test/test_scaler.py +0 -0
  76. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/test/test_scheduler.py +0 -0
  77. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/test/test_signature_client.py +0 -0
  78. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/test/test_tasking_client.py +0 -0
  79. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/test/test_vacuum.py +0 -0
  80. {assemblyline_core-4.7.3.dev23 → assemblyline_core-4.7.3.1}/test/test_workflow.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: assemblyline-core
3
- Version: 4.7.3.dev23
3
+ Version: 4.7.3.1
4
4
  Summary: Assemblyline 4 - Core components
5
5
  Home-page: https://github.com/CybercentreCanada/assemblyline-core/
6
6
  Author: CCCS Assemblyline development team
@@ -0,0 +1 @@
1
+ 4.7.3.1
@@ -743,7 +743,7 @@ class ScalerServer(ThreadedCoreBase):
743
743
  return 1
744
744
  return self.config.core.scaler.memory_overallocation
745
745
 
746
- def update_scaling(self) -> None:
746
+ def update_scaling(self):
747
747
  """Check if we need to scale any services up or down."""
748
748
  pool = Pool()
749
749
  while self.sleep(SCALE_INTERVAL):
@@ -811,7 +811,7 @@ class ScalerServer(ThreadedCoreBase):
811
811
  drop = [_p for _p in prof if _p.cpu > free_cpu or _p.ram > free_memory]
812
812
  if drop:
813
813
  summary = {_p.name: (_p.cpu, _p.ram) for _p in drop}
814
- self.log.debug("Can't make more because not enough resources %s", summary)
814
+ self.log.debug(f"Can't make more because not enough resources {summary}")
815
815
  prof = [_p for _p in prof if _p.cpu <= free_cpu and _p.ram <= free_memory]
816
816
  return prof
817
817
 
@@ -12,7 +12,6 @@ from typing import Any, Dict, List, Optional
12
12
 
13
13
  import docker
14
14
  from assemblyline.common import isotime
15
- from assemblyline.common.constants import SERVICE_API_KEY_HASH
16
15
  from assemblyline.common.version import FRAMEWORK_VERSION, SYSTEM_VERSION
17
16
  from assemblyline.odm.messages.changes import Operation, ServiceChange
18
17
  from assemblyline.odm.models.config import Mount, Selector
@@ -58,13 +57,13 @@ CONTAINER_CHECK_INTERVAL = int(os.getenv("CONTAINER_CHECK_INTERVAL", "300"))
58
57
  API_TIMEOUT = 90
59
58
  NAMESPACE = os.getenv('NAMESPACE', None)
60
59
  INHERITED_VARIABLES: list[str] = ['HTTP_PROXY', 'HTTPS_PROXY', 'NO_PROXY', 'http_proxy',
61
- 'https_proxy', 'no_proxy', 'SERVICE_API_HOST']
60
+ 'https_proxy', 'no_proxy', 'SERVICE_API_HOST', 'SERVICE_API_KEY']
62
61
 
63
62
  AL_REGISTRATION_NETWORK = os.environ.get("AL_REGISTRATION_NETWORK", 'al_registration')
64
63
  CONFIGURATION_HOST_PATH = os.getenv('CONFIGURATION_HOST_PATH', 'service_config')
65
64
  CONFIGURATION_CONFIGMAP = os.getenv('KUBERNETES_AL_CONFIG', None)
66
65
  SERVICE_API_HOST = os.environ.get('SERVICE_API_HOST', "http://service_server:5003")
67
- API_KEY_TIMEOUT = 60 * 60
66
+ SERVICE_API_KEY = os.environ.get('SERVICE_API_KEY', 'ThisIsARandomAuthKey...ChangeMe!')
68
67
 
69
68
  RESTRICTED_POD_SECUTITY_CONTEXT = V1SecurityContext(
70
69
  run_as_user=1000,
@@ -441,7 +440,7 @@ class KubernetesUpdateInterface:
441
440
 
442
441
 
443
442
  class ServiceUpdater(ThreadedCoreBase):
444
- def __init__(self, redis_persist=None, redis=None, logger=None, datastore=None) -> None:
443
+ def __init__(self, redis_persist=None, redis=None, logger=None, datastore=None):
445
444
  super().__init__('assemblyline.service.updater', logger=logger, datastore=datastore,
446
445
  redis_persist=redis_persist, redis=redis)
447
446
 
@@ -449,7 +448,6 @@ class ServiceUpdater(ThreadedCoreBase):
449
448
  self.container_install: Hash[dict[str, Any]] = Hash('container-install', self.redis_persist)
450
449
  self.latest_service_tags: Hash[dict[str, str]] = Hash('service-tags', self.redis_persist)
451
450
  self.service_events = EventSender('changes.services', host=self.redis)
452
- self.container_keys: Hash[dict[str, Any]] = Hash(SERVICE_API_KEY_HASH, self.redis_persist)
453
451
 
454
452
  self.incompatible_services = set()
455
453
  self.service_change_watcher = EventWatcher(self.redis, deserializer=ServiceChange.deserialize)
@@ -505,9 +503,6 @@ class ServiceUpdater(ThreadedCoreBase):
505
503
  tag = f'{FRAMEWORK_VERSION}.{SYSTEM_VERSION}.stable'
506
504
  else:
507
505
  tag = f'{FRAMEWORK_VERSION}.{SYSTEM_VERSION}.latest'
508
-
509
- api_key = uuid.uuid4().hex + uuid.uuid4().hex
510
-
511
506
  try:
512
507
  service = Service(
513
508
  {'name': service_name,
@@ -525,13 +520,6 @@ class ServiceUpdater(ThreadedCoreBase):
525
520
  f"Defaulting to '{tag}' tag...")
526
521
  tag_name = tag
527
522
 
528
- # Install the api key
529
- self.container_keys.add(api_key, {
530
- 'key': api_key,
531
- 'allow_registry_writing': True,
532
- 'expiry': isotime.now_as_iso(API_KEY_TIMEOUT)
533
- })
534
-
535
523
  docker_config = dict(image=f"{image_name}:{tag_name}")
536
524
  if auth:
537
525
  docker_config.update(dict(registry_username=auth['username'],
@@ -546,7 +534,6 @@ class ServiceUpdater(ThreadedCoreBase):
546
534
  env = {
547
535
  "SERVICE_TAG": tag_name,
548
536
  "REGISTER_ONLY": 'true',
549
- "SERVICE_API_KEY": api_key,
550
537
  }
551
538
 
552
539
  # Update environment with service defaults
@@ -563,9 +550,6 @@ class ServiceUpdater(ThreadedCoreBase):
563
550
  except Exception as e:
564
551
  self.log.error(
565
552
  f"[CI] Service {service_name} has failed to install. Install procedure cancelled... [{str(e)}]")
566
- finally:
567
- self.container_keys.pop(api_key)
568
-
569
553
  return f"{service_name}_{str(tag_name).replace('stable', '')}"
570
554
 
571
555
  # Start up installs for services in parallel
@@ -628,18 +612,8 @@ class ServiceUpdater(ThreadedCoreBase):
628
612
 
629
613
  # Update function for services
630
614
  def update_service(service_name: str, update_data: dict) -> str:
631
- self.log.info("[CU] Service %s is being updated to version %s...",
632
- service_name, update_data['latest_tag'])
633
-
634
- # Create an api key
635
- api_key = uuid.uuid4().hex + uuid.uuid4().hex
636
- self.container_keys.add(api_key, {
637
- 'key': api_key,
638
- 'allow_registry_writing': True,
639
- 'expiry': isotime.now_as_iso(API_KEY_TIMEOUT)
640
- })
641
-
642
- # Initailize the conatiner configuration
615
+ self.log.info(f"[CU] Service {service_name} is being updated to version {update_data['latest_tag']}...")
616
+
643
617
  docker_config = dict(image=update_data['image'])
644
618
 
645
619
  # Load authentication params
@@ -658,7 +632,6 @@ class ServiceUpdater(ThreadedCoreBase):
658
632
  env = {
659
633
  "SERVICE_TAG": update_data['latest_tag'],
660
634
  "REGISTER_ONLY": 'true',
661
- "SERVICE_API_KEY": api_key,
662
635
  }
663
636
 
664
637
  # Update environment with service defaults
@@ -675,8 +648,6 @@ class ServiceUpdater(ThreadedCoreBase):
675
648
  except Exception as e:
676
649
  self.log.error(
677
650
  f"[CU] Service {service_name} has failed to update. Update procedure cancelled... [{str(e)}]")
678
- finally:
679
- self.container_keys.pop(api_key)
680
651
  return service_key
681
652
 
682
653
  # Start up updates for services in parallel
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: assemblyline-core
3
- Version: 4.7.3.dev23
3
+ Version: 4.7.3.1
4
4
  Summary: Assemblyline 4 - Core components
5
5
  Home-page: https://github.com/CybercentreCanada/assemblyline-core/
6
6
  Author: CCCS Assemblyline development team
@@ -1 +0,0 @@
1
- 4.7.3.dev23