karrio-server 2025.5.2__py3-none-any.whl → 2025.5.3__py3-none-any.whl
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.
- karrio/server/VERSION +1 -1
- karrio/server/settings/apm.py +19 -0
- karrio/server/settings/base.py +7 -0
- karrio/server/settings/cache.py +3 -0
- karrio/server/settings/constance.py +9 -0
- {karrio_server-2025.5.2.dist-info → karrio_server-2025.5.3.dist-info}/METADATA +1 -1
- {karrio_server-2025.5.2.dist-info → karrio_server-2025.5.3.dist-info}/RECORD +10 -10
- {karrio_server-2025.5.2.dist-info → karrio_server-2025.5.3.dist-info}/WHEEL +0 -0
- {karrio_server-2025.5.2.dist-info → karrio_server-2025.5.3.dist-info}/entry_points.txt +0 -0
- {karrio_server-2025.5.2.dist-info → karrio_server-2025.5.3.dist-info}/top_level.txt +0 -0
karrio/server/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2025.5.
|
|
1
|
+
2025.5.3
|
karrio/server/settings/apm.py
CHANGED
|
@@ -57,6 +57,7 @@ if POSTHOG_KEY:
|
|
|
57
57
|
# SENTRY_PROFILES_SAMPLE_RATE - Profile sampling rate 0.0-1.0 (default: 1.0)
|
|
58
58
|
# SENTRY_SEND_PII - Send personally identifiable information (default: true)
|
|
59
59
|
# SENTRY_DEBUG - Enable Sentry debug mode (default: false)
|
|
60
|
+
# SENTRY_TRACE_PROPAGATION_TARGETS - Regex patterns for distributed tracing (default: localhost)
|
|
60
61
|
#
|
|
61
62
|
# =============================================================================
|
|
62
63
|
|
|
@@ -69,6 +70,13 @@ SENTRY_TRACES_SAMPLE_RATE = config("SENTRY_TRACES_SAMPLE_RATE", default=0.1, cas
|
|
|
69
70
|
SENTRY_PROFILES_SAMPLE_RATE = config("SENTRY_PROFILES_SAMPLE_RATE", default=0.0, cast=float) # Disabled by default
|
|
70
71
|
SENTRY_SEND_PII = config("SENTRY_SEND_PII", default=True, cast=bool)
|
|
71
72
|
SENTRY_DEBUG = config("SENTRY_DEBUG", default=False, cast=bool)
|
|
73
|
+
# Trace propagation targets for distributed tracing (internal services only)
|
|
74
|
+
# Comma-separated list of regex patterns; headers are NOT sent to carrier APIs
|
|
75
|
+
# Configure via env var for your domains (e.g., ".*\.yourdomain\.com,localhost")
|
|
76
|
+
SENTRY_TRACE_PROPAGATION_TARGETS = config(
|
|
77
|
+
"SENTRY_TRACE_PROPAGATION_TARGETS",
|
|
78
|
+
default=r"localhost",
|
|
79
|
+
)
|
|
72
80
|
|
|
73
81
|
|
|
74
82
|
def _sentry_before_send(event, hint):
|
|
@@ -175,6 +183,13 @@ if SENTRY_DSN:
|
|
|
175
183
|
except Exception:
|
|
176
184
|
pass # strawberry integration may not be available
|
|
177
185
|
|
|
186
|
+
# Parse trace propagation targets (comma-separated regex patterns)
|
|
187
|
+
trace_targets = [
|
|
188
|
+
pattern.strip()
|
|
189
|
+
for pattern in SENTRY_TRACE_PROPAGATION_TARGETS.split(",")
|
|
190
|
+
if pattern.strip()
|
|
191
|
+
]
|
|
192
|
+
|
|
178
193
|
sentry_sdk.init(
|
|
179
194
|
dsn=SENTRY_DSN,
|
|
180
195
|
integrations=integrations,
|
|
@@ -188,6 +203,10 @@ if SENTRY_DSN:
|
|
|
188
203
|
# Only enable profiling if explicitly configured (disabled by default)
|
|
189
204
|
**({"profile_session_sample_rate": SENTRY_PROFILES_SAMPLE_RATE, "profile_lifecycle": "trace"} if SENTRY_PROFILES_SAMPLE_RATE > 0 else {}),
|
|
190
205
|
|
|
206
|
+
# Distributed tracing - propagate trace headers to internal services
|
|
207
|
+
# Note: Headers are NOT sent to carrier APIs (they wouldn't understand them)
|
|
208
|
+
trace_propagation_targets=trace_targets,
|
|
209
|
+
|
|
191
210
|
# Privacy settings
|
|
192
211
|
send_default_pii=SENTRY_SEND_PII,
|
|
193
212
|
|
karrio/server/settings/base.py
CHANGED
|
@@ -62,6 +62,9 @@ CORS_ALLOW_HEADERS = list(default_headers) + [
|
|
|
62
62
|
"x-org-id",
|
|
63
63
|
"x-tenant-id",
|
|
64
64
|
"x-request-id",
|
|
65
|
+
# Sentry distributed tracing headers
|
|
66
|
+
"sentry-trace",
|
|
67
|
+
"baggage",
|
|
65
68
|
]
|
|
66
69
|
|
|
67
70
|
# HTTPS configuration
|
|
@@ -203,6 +206,9 @@ WORKFLOW_MANAGEMENT = (
|
|
|
203
206
|
SHIPPING_RULES = (
|
|
204
207
|
importlib.util.find_spec("karrio.server.automation") is not None # type:ignore
|
|
205
208
|
)
|
|
209
|
+
SHIPPING_METHODS = (
|
|
210
|
+
importlib.util.find_spec("karrio.server.shipping") is not None # type:ignore
|
|
211
|
+
)
|
|
206
212
|
ADVANCED_ANALYTICS = (
|
|
207
213
|
importlib.util.find_spec("karrio.server.analytics") is not None # type:ignore
|
|
208
214
|
) and config("ADVANCED_ANALYTICS", default=(True if DEBUG else False), cast=bool)
|
|
@@ -223,6 +229,7 @@ FEATURE_FLAGS = [
|
|
|
223
229
|
("PERSIST_SDK_TRACING", bool),
|
|
224
230
|
("WORKFLOW_MANAGEMENT", bool),
|
|
225
231
|
("SHIPPING_RULES", bool),
|
|
232
|
+
("SHIPPING_METHODS", bool),
|
|
226
233
|
("ADVANCED_ANALYTICS", bool),
|
|
227
234
|
]
|
|
228
235
|
|
karrio/server/settings/cache.py
CHANGED
|
@@ -87,6 +87,9 @@ if REDIS_HOST is not None and not SKIP_DEFAULT_CACHE:
|
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
+
# Cache constance values to avoid N+1 queries on each config access
|
|
91
|
+
CONSTANCE_DATABASE_CACHE_BACKEND = "default"
|
|
92
|
+
|
|
90
93
|
# Django cache health check uses the cache backend directly
|
|
91
94
|
# Only add Redis health check if REDIS_URL environment variable is set
|
|
92
95
|
# When using granular params, the cache check is sufficient
|
|
@@ -132,6 +132,15 @@ FEATURE_FLAGS_CONFIG = {
|
|
|
132
132
|
if importlib.util.find_spec("karrio.server.automation") is not None
|
|
133
133
|
else None
|
|
134
134
|
),
|
|
135
|
+
"SHIPPING_METHODS": (
|
|
136
|
+
(
|
|
137
|
+
base.SHIPPING_METHODS,
|
|
138
|
+
"Shipping methods",
|
|
139
|
+
bool,
|
|
140
|
+
)
|
|
141
|
+
if importlib.util.find_spec("karrio.server.shipping") is not None
|
|
142
|
+
else None
|
|
143
|
+
),
|
|
135
144
|
"ADVANCED_ANALYTICS": (
|
|
136
145
|
(
|
|
137
146
|
base.ADVANCED_ANALYTICS,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
karrio/server/VERSION,sha256=
|
|
1
|
+
karrio/server/VERSION,sha256=95u0gDTVKbokfjKQBKsWdkx29sqtIic0o5yUkPSSQSk,8
|
|
2
2
|
karrio/server/__init__.py,sha256=iOEMwnlORWezdO8-2vxBIPSR37D7JGjluZ8f55vzxls,81
|
|
3
3
|
karrio/server/__main__.py,sha256=hy2-Zb2wSVe_Pu6zWZ-BhiM4rBaGZ3D16HSuhudygqg,632
|
|
4
4
|
karrio/server/asgi.py,sha256=LsZYMWo8U9zURVPdHnvUsziOhMjdCdQoD2-gMJbS2U0,462
|
|
@@ -6,10 +6,10 @@ karrio/server/workers.py,sha256=wOlWmXC7zRJV86IfbQnfUZsnCIvvWtXzFHH_EIkg1J0,179
|
|
|
6
6
|
karrio/server/wsgi.py,sha256=SpWqkEYlMsj89_znZ8p8IjH3EgTVRWRq_9eS8t64dMw,403
|
|
7
7
|
karrio/server/lib/otel_huey.py,sha256=6MP6vX6b6x6RPF2K1m8B8L8S9GK1Q3vANmLidsxh65k,5428
|
|
8
8
|
karrio/server/settings/__init__.py,sha256=iw-NBcReOnDYpnvSEBdYDfV7jC0040jYdupnmSdElec,866
|
|
9
|
-
karrio/server/settings/apm.py,sha256=
|
|
10
|
-
karrio/server/settings/base.py,sha256=
|
|
11
|
-
karrio/server/settings/cache.py,sha256=
|
|
12
|
-
karrio/server/settings/constance.py,sha256=
|
|
9
|
+
karrio/server/settings/apm.py,sha256=Zt8dP2y8DjPa_iNyv3ZywXTbHlULWc06SLPJhlTTA-A,19983
|
|
10
|
+
karrio/server/settings/base.py,sha256=9Rfe24fieBtwyU8FjBAC2tDMrUPl8Unz-1_zpjZ5Oj4,23144
|
|
11
|
+
karrio/server/settings/cache.py,sha256=UYBd6pG-5pWSUlu4d3PuWGWYCiiDBL2oc1hYzq131zY,4045
|
|
12
|
+
karrio/server/settings/constance.py,sha256=84Ldmwr_o_5WBy5awf-k5AWpYmpMt2dzO3xh6MoqEXU,8013
|
|
13
13
|
karrio/server/settings/debug.py,sha256=fFyK2XX47UGeK0eRNSV-9ZLaComay5QvJW0692vaH98,527
|
|
14
14
|
karrio/server/settings/email.py,sha256=bHBLKM_v3HTkmjrz_Msdj_Z7_kMzAb7i6pvJCZuzu1E,1403
|
|
15
15
|
karrio/server/settings/workers.py,sha256=-pe9u1J5HCF1ZMHIYnHYJfdgJXd0Ix6vCLTr94kmsJs,5672
|
|
@@ -75,8 +75,8 @@ karrio/server/templates/openapi/openapi.html,sha256=3ApCZ5pE6Wjv7CJllVbqD2WiDQuL
|
|
|
75
75
|
karrio/server/urls/__init__.py,sha256=SHmmXmVn9Hbf7eZ2wcL10hG84yQPBrcVaCsvi5cdrrA,2062
|
|
76
76
|
karrio/server/urls/jwt.py,sha256=QN2L-EpUEQCF2UGYPu_VVlA49Fc0BtcY7Ov3-xpp7_U,6772
|
|
77
77
|
karrio/server/urls/tokens.py,sha256=5slk9F0HPgV3dRnR9UipAl-R8837eiGqKJ31QnCdLnU,8215
|
|
78
|
-
karrio_server-2025.5.
|
|
79
|
-
karrio_server-2025.5.
|
|
80
|
-
karrio_server-2025.5.
|
|
81
|
-
karrio_server-2025.5.
|
|
82
|
-
karrio_server-2025.5.
|
|
78
|
+
karrio_server-2025.5.3.dist-info/METADATA,sha256=BpBTx3dl7Jr1jJvaWXXfw6FPkCCs9R8XTAIv-BokEC0,4303
|
|
79
|
+
karrio_server-2025.5.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
80
|
+
karrio_server-2025.5.3.dist-info/entry_points.txt,sha256=c2eftt6MpJjyp0OFv1OmO9nUYSDemt9fGq_RDdvpGLw,55
|
|
81
|
+
karrio_server-2025.5.3.dist-info/top_level.txt,sha256=D1D7x8R3cTfjF_15mfiO7wCQ5QMtuM4x8GaPr7z5i78,12
|
|
82
|
+
karrio_server-2025.5.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|