assemblyline-core 4.7.0.dev62__tar.gz → 4.7.0.dev65__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.0.dev62 → assemblyline_core-4.7.0.dev65}/PKG-INFO +1 -1
  2. assemblyline_core-4.7.0.dev65/assemblyline_core/VERSION +1 -0
  3. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/updater/helper.py +37 -1
  4. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core.egg-info/PKG-INFO +1 -1
  5. assemblyline_core-4.7.0.dev62/assemblyline_core/VERSION +0 -1
  6. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/LICENCE.md +0 -0
  7. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/README.md +0 -0
  8. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/__init__.py +0 -0
  9. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/alerter/__init__.py +0 -0
  10. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/alerter/processing.py +0 -0
  11. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/alerter/run_alerter.py +0 -0
  12. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/archiver/__init__.py +0 -0
  13. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/archiver/run_archiver.py +0 -0
  14. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/badlist_client.py +0 -0
  15. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/dispatching/__init__.py +0 -0
  16. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/dispatching/client.py +0 -0
  17. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/dispatching/dispatcher.py +0 -0
  18. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/dispatching/schedules.py +0 -0
  19. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/expiry/__init__.py +0 -0
  20. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/expiry/run_expiry.py +0 -0
  21. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/ingester/__init__.py +0 -0
  22. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/ingester/constants.py +0 -0
  23. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/ingester/ingester.py +0 -0
  24. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/metrics/__init__.py +0 -0
  25. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/metrics/es_metrics.py +0 -0
  26. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/metrics/heartbeat_formatter.py +0 -0
  27. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/metrics/helper.py +0 -0
  28. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/metrics/metrics_server.py +0 -0
  29. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/metrics/run_heartbeat_manager.py +0 -0
  30. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/metrics/run_metrics_aggregator.py +0 -0
  31. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/metrics/run_statistics_aggregator.py +0 -0
  32. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/replay/__init__.py +0 -0
  33. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/replay/client.py +0 -0
  34. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/replay/creator/__init__.py +0 -0
  35. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/replay/creator/run.py +0 -0
  36. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/replay/creator/run_worker.py +0 -0
  37. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/replay/loader/__init__.py +0 -0
  38. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/replay/loader/run.py +0 -0
  39. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/replay/loader/run_worker.py +0 -0
  40. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/replay/replay.py +0 -0
  41. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/safelist_client.py +0 -0
  42. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/scaler/__init__.py +0 -0
  43. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/scaler/collection.py +0 -0
  44. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/scaler/controllers/__init__.py +0 -0
  45. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/scaler/controllers/docker_ctl.py +0 -0
  46. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/scaler/controllers/interface.py +0 -0
  47. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/scaler/controllers/kubernetes_ctl.py +0 -0
  48. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/scaler/run_scaler.py +0 -0
  49. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/scaler/scaler_server.py +0 -0
  50. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/server_base.py +0 -0
  51. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/signature_client.py +0 -0
  52. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/submission_client.py +0 -0
  53. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/tasking_client.py +0 -0
  54. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/updater/__init__.py +0 -0
  55. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/updater/run_updater.py +0 -0
  56. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/vacuum/__init__.py +0 -0
  57. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/vacuum/crawler.py +0 -0
  58. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/vacuum/department_map.py +0 -0
  59. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/vacuum/safelist.py +0 -0
  60. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/vacuum/stream_map.py +0 -0
  61. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/vacuum/worker.py +0 -0
  62. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/workflow/__init__.py +0 -0
  63. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core/workflow/run_workflow.py +0 -0
  64. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core.egg-info/SOURCES.txt +0 -0
  65. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core.egg-info/dependency_links.txt +0 -0
  66. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core.egg-info/requires.txt +0 -0
  67. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/assemblyline_core.egg-info/top_level.txt +0 -0
  68. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/setup.cfg +0 -0
  69. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/setup.py +0 -0
  70. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/test/test_alerter.py +0 -0
  71. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/test/test_badlist_client.py +0 -0
  72. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/test/test_expiry.py +0 -0
  73. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/test/test_replay.py +0 -0
  74. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/test/test_safelist_client.py +0 -0
  75. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/test/test_scaler.py +0 -0
  76. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/test/test_scheduler.py +0 -0
  77. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/test/test_signature_client.py +0 -0
  78. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/test/test_tasking_client.py +0 -0
  79. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/test/test_vacuum.py +0 -0
  80. {assemblyline_core-4.7.0.dev62 → assemblyline_core-4.7.0.dev65}/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.0.dev62
3
+ Version: 4.7.0.dev65
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.0.dev65
@@ -80,7 +80,7 @@ class AzureContainerRegistry(ContainerRegistry):
80
80
  # Attempt request with provided credentials alone
81
81
  resp = self._perform_request(url, headers, verify, proxies)
82
82
 
83
- if not resp:
83
+ if not resp or not resp.ok:
84
84
  # Authentication with just credentials failed, moving over to generating a bearer token
85
85
 
86
86
  # Retrieve token for authentication: https://azure.github.io/acr/Token-BasicAuth.html#using-the-token-api
@@ -101,6 +101,40 @@ class AzureContainerRegistry(ContainerRegistry):
101
101
 
102
102
  return []
103
103
 
104
+ class GitHubContainerRegistry(ContainerRegistry):
105
+ def _get_proprietary_registry_tags(self, server, image_name, auth, verify, proxies=None, token_server=None):
106
+ # Find latest tag for each types
107
+ url = f"https://{server}/v2/{image_name}/tags/list"
108
+
109
+ # Get tag list
110
+ headers = {}
111
+ if auth:
112
+ headers["Authorization"] = auth
113
+
114
+ # Attempt request with provided credentials alone
115
+ resp = self._perform_request(url, headers, verify, proxies)
116
+
117
+ if not resp or not resp.ok:
118
+ # Authentication with just credentials failed, moving over to generating a bearer token
119
+
120
+ # Retrieve token for authentication:
121
+ token_url = f"https://{server}/token?service=ghcr.io&scope=repository:{image_name}:pull"
122
+ resp = self._perform_request(token_url, headers, verify, proxies)
123
+ if resp and resp.ok:
124
+ # Request to obtain token was successful, set Authorization header for registry API
125
+ token = resp.json().get('token')
126
+ headers["Authorization"] = f"Bearer {token}"
127
+
128
+ resp = self._perform_request(url, headers, verify, proxies)
129
+
130
+ # At this point, we should have a response from the API
131
+ if resp and resp.ok:
132
+ # Test for positive list of tags
133
+ resp_data = resp.json()
134
+ return resp_data['tags'] or []
135
+
136
+ return []
137
+
104
138
  class HarborRegistry(ContainerRegistry):
105
139
  def _get_proprietary_registry_tags(self, server, image_name, auth, verify, proxies=None, token_server=None):
106
140
  # Determine project/repo IDs from image name
@@ -255,6 +289,8 @@ def get_latest_tag_for_service(service_config: ServiceConfig, system_config: Sys
255
289
 
256
290
  # This is an Azure Container Registry based on the server name
257
291
  registry = AzureContainerRegistry()
292
+ elif server == "ghcr.io":
293
+ registry = GitHubContainerRegistry()
258
294
  else:
259
295
  registry = REGISTRY_TYPE_MAPPING[registry_type]
260
296
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: assemblyline-core
3
- Version: 4.7.0.dev62
3
+ Version: 4.7.0.dev65
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.0.dev62