orchestrator-core 4.2.0rc2__py3-none-any.whl → 4.2.0rc3__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.
orchestrator/__init__.py CHANGED
@@ -13,7 +13,7 @@
13
13
 
14
14
  """This is the orchestrator workflow engine."""
15
15
 
16
- __version__ = "4.2.0rc2"
16
+ __version__ = "4.2.0rc3"
17
17
 
18
18
  from orchestrator.app import OrchestratorCore
19
19
  from orchestrator.settings import app_settings
@@ -14,7 +14,7 @@
14
14
  from typing import Any, Dict, Type
15
15
 
16
16
  from pydantic import SecretStr as PydanticSecretStr
17
- from pydantic_core import MultiHostUrl
17
+ from pydantic_core import MultiHostUrl, Url
18
18
  from pydantic_settings import BaseSettings
19
19
 
20
20
  from orchestrator.utils.expose_settings import SecretStr as OrchSecretStr
@@ -32,21 +32,9 @@ def expose_settings(settings_name: str, base_settings: Type[BaseSettings]) -> Ty
32
32
 
33
33
  def mask_value(key: str, value: Any) -> Any:
34
34
  key_lower = key.lower()
35
+ is_sensitive_key = "secret" in key_lower or "password" in key_lower
35
36
 
36
- if "secret" in key_lower or "password" in key_lower:
37
- # Mask sensitive information
38
- return MASK
39
-
40
- if isinstance(value, PydanticSecretStr):
41
- # Need to convert SecretStr to str for serialization
42
- return str(value)
43
-
44
- if isinstance(value, OrchSecretStr):
45
- return MASK
46
-
47
- # PostgresDsn is just MultiHostUrl with extra metadata (annotations)
48
- if isinstance(value, MultiHostUrl):
49
- # Convert PostgresDsn to str for serialization
37
+ if is_sensitive_key or isinstance(value, (OrchSecretStr, PydanticSecretStr, MultiHostUrl, Url)):
50
38
  return MASK
51
39
 
52
40
  return value
orchestrator/settings.py CHANGED
@@ -72,7 +72,7 @@ class AppSettings(BaseSettings):
72
72
  TRACING_ENABLED: bool = False
73
73
  TRACE_HOST: str = "http://localhost:4317"
74
74
  TRANSLATIONS_DIR: Path | None = None
75
- WEBSOCKET_BROADCASTER_URL: str = "memory://"
75
+ WEBSOCKET_BROADCASTER_URL: OrchSecretStr = "memory://" # type: ignore
76
76
  ENABLE_WEBSOCKETS: bool = True
77
77
  DISABLE_INSYNC_CHECK: bool = False
78
78
  DEFAULT_PRODUCT_WORKFLOWS: list[str] = ["modify_note"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: orchestrator-core
3
- Version: 4.2.0rc2
3
+ Version: 4.2.0rc3
4
4
  Summary: This is the orchestrator workflow engine.
5
5
  Author-email: SURF <automation-beheer@surf.nl>
6
6
  Requires-Python: >=3.11,<3.14
@@ -1,10 +1,10 @@
1
- orchestrator/__init__.py,sha256=ISi38WvUi9c8FugLGPcfGKKTKIlvD_jMwdA7L1SAGzQ,1066
1
+ orchestrator/__init__.py,sha256=MNhlJ5Q_DEafB6SuZWg0TMOJczWgoj8ZnDFt9FGHqlM,1066
2
2
  orchestrator/app.py,sha256=7UrXKjBKNSEaSSXAd5ww_RdMFhFqE4yvfj8faS2MzAA,12089
3
3
  orchestrator/exception_handlers.py,sha256=UsW3dw8q0QQlNLcV359bIotah8DYjMsj2Ts1LfX4ClY,1268
4
4
  orchestrator/log_config.py,sha256=1tPRX5q65e57a6a_zEii_PFK8SzWT0mnA5w2sKg4hh8,1853
5
5
  orchestrator/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  orchestrator/security.py,sha256=iXFxGxab54aav7oHEKLAVkTgrQMJGHy6IYLojEnD7gI,2422
7
- orchestrator/settings.py,sha256=TFIv09JIKY-lXqd04lH_XEcijEEyheaz3zTcgeG8DEI,4339
7
+ orchestrator/settings.py,sha256=2Kgc6m3qUCcSM3Z_IVUeehfgO0QphMFkLrS0RC3sU-U,4365
8
8
  orchestrator/targets.py,sha256=WizBgnp8hWX9YLFUIju7ewSubiwQqinCvyiYNcXHbHI,802
9
9
  orchestrator/types.py,sha256=qzs7xx5AYRmKbpYRyJJP3wuDb0W0bcAzefCN0RWLAco,15459
10
10
  orchestrator/version.py,sha256=b58e08lxs47wUNXv0jXFO_ykpksmytuzEXD4La4W-NQ,1366
@@ -270,7 +270,7 @@ orchestrator/services/processes.py,sha256=W-MCuGxRXLNIx3zn_jQQWXXFIBUrjJgXyBMsx2
270
270
  orchestrator/services/products.py,sha256=BP4KyE8zO-8z7Trrs5T6zKBOw53S9BfBJnHWI3p6u5Y,1943
271
271
  orchestrator/services/resource_types.py,sha256=_QBy_JOW_X3aSTqH0CuLrq4zBJL0p7Q-UDJUcuK2_qc,884
272
272
  orchestrator/services/settings.py,sha256=HEWfFulgoEDwgfxGEO__QTr5fDiwNBEj1UhAeTAdbLQ,3159
273
- orchestrator/services/settings_env_variables.py,sha256=U2xz0h3bOAE8wWQF2iCp5jf-2v0NUOOCTecNTouB1jY,2496
273
+ orchestrator/services/settings_env_variables.py,sha256=iPErQjqPQCxKs0sPhefB16d8SBBVUi6eiRnFBK5bgqA,2196
274
274
  orchestrator/services/subscription_relations.py,sha256=9C126TUfFvyBe7y4x007kH_dvxJ9pZ1zSnaWeH6HC5k,12261
275
275
  orchestrator/services/subscriptions.py,sha256=nr2HI89nC0lYjzTh2j-lEQ5cPQK43LNZv3gvP6jbepw,27189
276
276
  orchestrator/services/tasks.py,sha256=NjPkuauQoh9UJDcjA7OcKFgPk0i6NoKdDO7HlpGbBJ8,6575
@@ -312,7 +312,7 @@ orchestrator/workflows/tasks/resume_workflows.py,sha256=MzJqlSXUvKStkT7NGzxZyRlf
312
312
  orchestrator/workflows/tasks/validate_product_type.py,sha256=paG-NAY1bdde3Adt8zItkcBKf5Pxw6f5ngGW6an6dYU,3192
313
313
  orchestrator/workflows/tasks/validate_products.py,sha256=GZJBoFF-WMphS7ghMs2-gqvV2iL1F0POhk0uSNt93n0,8510
314
314
  orchestrator/workflows/translations/en-GB.json,sha256=ST53HxkphFLTMjFHonykDBOZ7-P_KxksktZU3GbxLt0,846
315
- orchestrator_core-4.2.0rc2.dist-info/licenses/LICENSE,sha256=b-aA5OZQuuBATmLKo_mln8CQrDPPhg3ghLzjPjLn4Tg,11409
316
- orchestrator_core-4.2.0rc2.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
317
- orchestrator_core-4.2.0rc2.dist-info/METADATA,sha256=0DZbEp0UG3r_U8GA73q2lQqFJS9AQp7Q8UeGDXb0BJ8,5963
318
- orchestrator_core-4.2.0rc2.dist-info/RECORD,,
315
+ orchestrator_core-4.2.0rc3.dist-info/licenses/LICENSE,sha256=b-aA5OZQuuBATmLKo_mln8CQrDPPhg3ghLzjPjLn4Tg,11409
316
+ orchestrator_core-4.2.0rc3.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
317
+ orchestrator_core-4.2.0rc3.dist-info/METADATA,sha256=tZvFy_sZGGGFM85nN9l4jzPoxVjlJa_CwifNtt9bGfo,5963
318
+ orchestrator_core-4.2.0rc3.dist-info/RECORD,,