assemblyline-core 4.5.1.dev218__tar.gz → 4.5.1.dev220__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.

Potentially problematic release.


This version of assemblyline-core might be problematic. Click here for more details.

Files changed (88) hide show
  1. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/PKG-INFO +1 -1
  2. assemblyline-core-4.5.1.dev220/assemblyline_core/VERSION +1 -0
  3. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/scaler/scaler_server.py +18 -11
  4. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core.egg-info/PKG-INFO +1 -1
  5. assemblyline-core-4.5.1.dev218/assemblyline_core/VERSION +0 -1
  6. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/LICENCE.md +0 -0
  7. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/README.md +0 -0
  8. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/__init__.py +0 -0
  9. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/alerter/__init__.py +0 -0
  10. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/alerter/processing.py +0 -0
  11. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/alerter/run_alerter.py +0 -0
  12. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/archiver/__init__.py +0 -0
  13. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/archiver/run_archiver.py +0 -0
  14. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/badlist_client.py +0 -0
  15. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/dispatching/__init__.py +0 -0
  16. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/dispatching/__main__.py +0 -0
  17. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/dispatching/client.py +0 -0
  18. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/dispatching/dispatcher.py +0 -0
  19. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/dispatching/schedules.py +0 -0
  20. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/dispatching/timeout.py +0 -0
  21. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/expiry/__init__.py +0 -0
  22. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/expiry/run_expiry.py +0 -0
  23. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/ingester/__init__.py +0 -0
  24. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/ingester/__main__.py +0 -0
  25. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/ingester/constants.py +0 -0
  26. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/ingester/ingester.py +0 -0
  27. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/metrics/__init__.py +0 -0
  28. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/metrics/es_metrics.py +0 -0
  29. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/metrics/heartbeat_formatter.py +0 -0
  30. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/metrics/helper.py +0 -0
  31. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/metrics/metrics_server.py +0 -0
  32. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/metrics/run_heartbeat_manager.py +0 -0
  33. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/metrics/run_metrics_aggregator.py +0 -0
  34. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/metrics/run_statistics_aggregator.py +0 -0
  35. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/plumber/__init__.py +0 -0
  36. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/plumber/run_plumber.py +0 -0
  37. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/replay/__init__.py +0 -0
  38. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/replay/client.py +0 -0
  39. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/replay/creator/__init__.py +0 -0
  40. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/replay/creator/run.py +0 -0
  41. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/replay/creator/run_worker.py +0 -0
  42. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/replay/loader/__init__.py +0 -0
  43. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/replay/loader/run.py +0 -0
  44. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/replay/loader/run_worker.py +0 -0
  45. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/replay/replay.py +0 -0
  46. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/safelist_client.py +0 -0
  47. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/scaler/__init__.py +0 -0
  48. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/scaler/collection.py +0 -0
  49. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/scaler/controllers/__init__.py +0 -0
  50. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/scaler/controllers/docker_ctl.py +0 -0
  51. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/scaler/controllers/interface.py +0 -0
  52. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/scaler/controllers/kubernetes_ctl.py +0 -0
  53. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/scaler/run_scaler.py +0 -0
  54. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/server_base.py +0 -0
  55. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/signature_client.py +0 -0
  56. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/submission_client.py +0 -0
  57. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/tasking_client.py +0 -0
  58. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/updater/__init__.py +0 -0
  59. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/updater/helper.py +0 -0
  60. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/updater/run_updater.py +0 -0
  61. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/vacuum/__init__.py +0 -0
  62. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/vacuum/crawler.py +0 -0
  63. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/vacuum/department_map.py +0 -0
  64. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/vacuum/safelist.py +0 -0
  65. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/vacuum/stream_map.py +0 -0
  66. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/vacuum/worker.py +0 -0
  67. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/workflow/__init__.py +0 -0
  68. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core/workflow/run_workflow.py +0 -0
  69. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core.egg-info/SOURCES.txt +0 -0
  70. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core.egg-info/dependency_links.txt +0 -0
  71. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core.egg-info/requires.txt +0 -0
  72. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/assemblyline_core.egg-info/top_level.txt +0 -0
  73. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/setup.cfg +0 -0
  74. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/setup.py +0 -0
  75. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/test/test_alerter.py +0 -0
  76. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/test/test_badlist_client.py +0 -0
  77. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/test/test_dispatcher.py +0 -0
  78. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/test/test_expiry.py +0 -0
  79. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/test/test_plumber.py +0 -0
  80. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/test/test_replay.py +0 -0
  81. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/test/test_safelist_client.py +0 -0
  82. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/test/test_scaler.py +0 -0
  83. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/test/test_scheduler.py +0 -0
  84. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/test/test_signature_client.py +0 -0
  85. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/test/test_simulation.py +0 -0
  86. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/test/test_vacuum.py +0 -0
  87. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/test/test_worker_ingest.py +0 -0
  88. {assemblyline-core-4.5.1.dev218 → assemblyline-core-4.5.1.dev220}/test/test_worker_submit.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: assemblyline-core
3
- Version: 4.5.1.dev218
3
+ Version: 4.5.1.dev220
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.5.1.dev220
@@ -6,7 +6,7 @@ import functools
6
6
  import threading
7
7
  from collections import defaultdict
8
8
  from string import Template
9
- from typing import Optional, Any
9
+ from typing import Dict, Optional, Any
10
10
  import os
11
11
  import re
12
12
  import math
@@ -31,7 +31,7 @@ from assemblyline.odm.models.error import Error
31
31
  from assemblyline.odm.messages.scaler_heartbeat import Metrics
32
32
  from assemblyline.odm.messages.scaler_status_heartbeat import Status
33
33
  from assemblyline.odm.messages.changes import ServiceChange, Operation
34
- from assemblyline.common.dict_utils import get_recursive_sorted_tuples
34
+ from assemblyline.common.dict_utils import get_recursive_sorted_tuples, flatten
35
35
  from assemblyline.common.uid import get_id_from_data, get_random_id
36
36
  from assemblyline.common.forge import get_classification, get_service_queue, get_apm_client
37
37
  from assemblyline.common.constants import SCALER_TIMEOUT_QUEUE, SERVICE_STATE_HASH, ServiceStatus
@@ -273,17 +273,24 @@ class ScalerServer(ThreadedCoreBase):
273
273
  self.service_change_watcher.register('changes.services.*', self._handle_service_change_event)
274
274
 
275
275
  core_env: dict[str, str] = {}
276
+
276
277
  # If we have privileged services, we must be able to pass the necessary environment variables for them to
277
278
  # function properly.
278
- for secret in re.findall(r'\${\w+}', open('/etc/assemblyline/config.yml', 'r').read()):
279
- env_name = secret.strip("${}")
280
- try:
281
- core_env[env_name] = os.environ[env_name]
282
- except KeyError:
283
- # Don't pass through variables that scaler doesn't have
284
- # they are likely specific to other components and shouldn't
285
- # be shared with privileged services.
286
- pass
279
+ with open('/etc/assemblyline/config.yml') as fh:
280
+ flattened_config: Dict[str, Any] = flatten(yaml.safe_load(fh.read()))
281
+
282
+ # Limit secrets to be shared to very specific configurations
283
+ for cfg in ["datastore.hosts", "filestore.archive", "filestore.cache", "filestore.storage"]:
284
+ for conn_str in flattened_config.get(cfg, []):
285
+ # Look for any secrets that need to passed onto services via env
286
+ for secret in Template(conn_str).get_identifiers():
287
+ try:
288
+ core_env[secret] = os.environ[secret]
289
+ except KeyError:
290
+ # Don't pass through variables that scaler doesn't have
291
+ # they are likely specific to other components and shouldn't
292
+ # be shared with privileged services.
293
+ pass
287
294
 
288
295
  labels = {
289
296
  'app': 'assemblyline',
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: assemblyline-core
3
- Version: 4.5.1.dev218
3
+ Version: 4.5.1.dev220
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.5.1.dev218