clue-api 1.0.1.dev61__tar.gz → 1.0.1.dev63__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.
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/PKG-INFO +1 -1
- clue_api-1.0.1.dev63/clue/plugin/files/gunicorn_config.py +29 -0
- clue_api-1.0.1.dev63/clue/plugin/files/patched.py +5 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/pyproject.toml +1 -1
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/LICENSE +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/README.md +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/.gitignore +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/__init__.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/api/__init__.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/api/base.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/api/v1/__init__.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/api/v1/actions.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/api/v1/auth.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/api/v1/configs.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/api/v1/fetchers.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/api/v1/lookup.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/api/v1/registration.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/api/v1/static.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/app.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/cache/__init__.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/common/__init__.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/common/classification.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/common/classification.yml +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/common/dict_utils.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/common/exceptions.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/common/forge.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/common/json_utils.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/common/list_utils.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/common/logging/__init__.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/common/logging/audit.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/common/logging/format.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/common/regex.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/common/str_utils.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/common/swagger.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/common/uid.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/config.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/constants/__init__.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/constants/supported_types.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/cronjobs/__init__.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/cronjobs/plugins.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/error.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/extensions/__init__.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/extensions/config.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/gunicorn_config.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/healthz.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/helper/discover.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/helper/headers.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/helper/oauth.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/models/__init__.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/models/actions.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/models/config.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/models/fetchers.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/models/graph.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/models/model_list.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/models/network.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/models/results/__init__.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/models/results/base.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/models/results/graph.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/models/results/image.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/models/results/status.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/models/results/validation.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/models/selector.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/models/validators.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/patched.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/plugin/__init__.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/plugin/helpers/__init__.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/plugin/helpers/central_server.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/plugin/helpers/email_render.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/plugin/helpers/token.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/plugin/helpers/trino.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/plugin/interactive.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/plugin/models.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/plugin/utils.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/py.typed +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/remote/__init__.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/remote/datatypes/__init__.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/remote/datatypes/cache.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/remote/datatypes/events.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/remote/datatypes/hash.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/remote/datatypes/queues/__init__.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/remote/datatypes/queues/comms.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/remote/datatypes/set.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/remote/datatypes/user_quota_tracker.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/security/__init__.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/security/obo.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/security/utils.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/services/action_service.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/services/auth_service.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/services/config_service.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/services/fetcher_service.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/services/jwt_service.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/services/lookup_service.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/services/type_service.py +0 -0
- {clue_api-1.0.1.dev61 → clue_api-1.0.1.dev63}/clue/services/user_service.py +0 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import multiprocessing
|
|
2
|
+
from os import environ as env
|
|
3
|
+
|
|
4
|
+
# Port to bind to
|
|
5
|
+
bind = f"{env.get('HOST')}:{int(env.get('PORT', 8000))}"
|
|
6
|
+
|
|
7
|
+
# Number of processes to launch
|
|
8
|
+
workers = int(env.get("WORKERS", multiprocessing.cpu_count()))
|
|
9
|
+
|
|
10
|
+
# Number of concurrent handled connections
|
|
11
|
+
threads = int(env.get("THREADS", 4))
|
|
12
|
+
worker_connections = int(env.get("WORKER_CONNECTIONS", "1000"))
|
|
13
|
+
|
|
14
|
+
# Recycle the process after X request randomized by the jitter
|
|
15
|
+
max_requests = int(env.get("MAX_REQUESTS", "1000"))
|
|
16
|
+
max_requests_jitter = int(env.get("MAX_REQUESTS_JITTER", "100"))
|
|
17
|
+
|
|
18
|
+
# Connection timeouts
|
|
19
|
+
graceful_timeout = int(env.get("GRACEFUL_TIMEOUT", "30"))
|
|
20
|
+
timeout = int(env.get("TIMEOUT", "30"))
|
|
21
|
+
|
|
22
|
+
# TLS/SSL Configuration
|
|
23
|
+
certfile = env.get("CERTFILE")
|
|
24
|
+
keyfile = env.get("KEYFILE")
|
|
25
|
+
|
|
26
|
+
# Request Max Size Configuration
|
|
27
|
+
limit_request_line = int(env.get("LIMIT_REQUEST_LINE", "4094"))
|
|
28
|
+
limit_request_fields = int(env.get("LIMIT_REQUEST_FIELDS", "100"))
|
|
29
|
+
limit_request_field_size = int(env.get("LIMIT_REQUEST_FIELD_SIZE", "8190"))
|
|
@@ -147,7 +147,7 @@ log_cli_level = "WARN"
|
|
|
147
147
|
[tool.poetry]
|
|
148
148
|
package-mode = true
|
|
149
149
|
name = "clue-api"
|
|
150
|
-
version = "1.0.1.
|
|
150
|
+
version = "1.0.1.dev63"
|
|
151
151
|
description = "Clue distributed enrichment service"
|
|
152
152
|
authors = ["Canadian Centre for Cyber Security <contact@cyber.gc.ca>"]
|
|
153
153
|
license = "MIT"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|