sovereign 1.0.0b104__tar.gz → 1.0.0b106__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 sovereign might be problematic. Click here for more details.

Files changed (66) hide show
  1. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/PKG-INFO +1 -1
  2. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/pyproject.toml +1 -1
  3. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/schemas.py +17 -1
  4. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/server.py +7 -3
  5. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/sources/poller.py +3 -3
  6. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/LICENSE.txt +0 -0
  7. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/README.md +0 -0
  8. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/__init__.py +0 -0
  9. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/app.py +0 -0
  10. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/cache.py +0 -0
  11. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/constants.py +0 -0
  12. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/context.py +0 -0
  13. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/dynamic_config/__init__.py +0 -0
  14. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/dynamic_config/deser.py +0 -0
  15. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/dynamic_config/loaders.py +0 -0
  16. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/error_info.py +0 -0
  17. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/logging/access_logger.py +0 -0
  18. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/logging/application_logger.py +0 -0
  19. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/logging/base_logger.py +0 -0
  20. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/logging/bootstrapper.py +0 -0
  21. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/logging/types.py +0 -0
  22. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/middlewares.py +0 -0
  23. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/modifiers/__init__.py +0 -0
  24. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/modifiers/lib.py +0 -0
  25. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/rendering.py +0 -0
  26. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/response_class.py +0 -0
  27. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/sources/__init__.py +0 -0
  28. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/sources/file.py +0 -0
  29. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/sources/inline.py +0 -0
  30. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/sources/lib.py +0 -0
  31. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/static/node_expression.js +0 -0
  32. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/static/panel.js +0 -0
  33. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/static/sass/style.scss +0 -0
  34. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/static/style.css +0 -0
  35. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/statistics.py +0 -0
  36. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/templates/base.html +0 -0
  37. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/templates/err.html +0 -0
  38. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/templates/resources.html +0 -0
  39. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/testing/loaders.py +0 -0
  40. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/testing/modifiers.py +0 -0
  41. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/tracing.py +0 -0
  42. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/utils/__init__.py +0 -0
  43. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/utils/auth.py +0 -0
  44. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/utils/crypto/__init__.py +0 -0
  45. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/utils/crypto/crypto.py +0 -0
  46. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/utils/crypto/suites/__init__.py +0 -0
  47. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/utils/crypto/suites/aes_gcm_cipher.py +0 -0
  48. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/utils/crypto/suites/base_cipher.py +0 -0
  49. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/utils/crypto/suites/disabled_cipher.py +0 -0
  50. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/utils/crypto/suites/fernet_cipher.py +0 -0
  51. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/utils/dictupdate.py +0 -0
  52. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/utils/eds.py +0 -0
  53. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/utils/entry_point_loader.py +0 -0
  54. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/utils/mock.py +0 -0
  55. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/utils/resources.py +0 -0
  56. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/utils/templates.py +0 -0
  57. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/utils/timer.py +0 -0
  58. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/utils/version_info.py +0 -0
  59. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/utils/weighted_clusters.py +0 -0
  60. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/views/__init__.py +0 -0
  61. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/views/api.py +0 -0
  62. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/views/crypto.py +0 -0
  63. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/views/discovery.py +0 -0
  64. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/views/healthchecks.py +0 -0
  65. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/views/interface.py +0 -0
  66. {sovereign-1.0.0b104 → sovereign-1.0.0b106}/src/sovereign/worker.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sovereign
3
- Version: 1.0.0b104
3
+ Version: 1.0.0b106
4
4
  Summary: Envoy Proxy control-plane written in Python
5
5
  Home-page: https://pypi.org/project/sovereign/
6
6
  License: Apache-2.0
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "sovereign"
3
- version = "1.0.0b104"
3
+ version = "1.0.0b106"
4
4
  description = "Envoy Proxy control-plane written in Python"
5
5
  license = "Apache-2.0"
6
6
  packages = [
@@ -6,7 +6,6 @@ from pathlib import Path
6
6
  from enum import Enum
7
7
  from os import getenv
8
8
  from types import ModuleType
9
- from collections import defaultdict
10
9
  from dataclasses import dataclass
11
10
  from functools import cached_property
12
11
  from typing import Any, Dict, List, Mapping, Optional, Self, Tuple, Union, Callable
@@ -767,6 +766,20 @@ class TracingConfig(BaseSettings):
767
766
  return values
768
767
 
769
768
 
769
+ class SupervisordConfig(BaseSettings):
770
+ nodaemon: bool = Field(True, alias="SOVEREIGN_SUPERVISORD_NODAEMON")
771
+ loglevel: str = Field("error", alias="SOVEREIGN_SUPERVISORD_LOGLEVEL")
772
+ pidfile: str = Field("/tmp/supervisord.pid", alias="SOVEREIGN_SUPERVISORD_PIDFILE")
773
+ logfile: str = Field("/tmp/supervisord.log", alias="SOVEREIGN_SUPERVISORD_LOGFILE")
774
+ directory: str = Field("%(here)s", alias="SOVEREIGN_SUPERVISORD_DIRECTORY")
775
+ model_config = SettingsConfigDict(
776
+ env_file=".env",
777
+ extra="ignore",
778
+ env_file_encoding="utf-8",
779
+ populate_by_name=True,
780
+ )
781
+
782
+
770
783
  class LegacyConfig(BaseSettings):
771
784
  regions: Optional[List[str]] = None
772
785
  eds_priority_matrix: Optional[Dict[str, Dict[str, int]]] = None
@@ -858,6 +871,9 @@ class SovereignConfigv2(BaseSettings):
858
871
  tracing: Optional[TracingConfig] = Field(default_factory=TracingConfig)
859
872
  debug: bool = Field(False, alias="SOVEREIGN_DEBUG")
860
873
 
874
+ # Supervisord settings
875
+ supervisord: SupervisordConfig = SupervisordConfig()
876
+
861
877
  # Deprecated in 0.30
862
878
  sources: Optional[List[ConfiguredSource]] = Field(None, deprecated=True)
863
879
  source_config: SourcesConfiguration = Field(
@@ -8,10 +8,11 @@ import uvicorn
8
8
  from sovereign import application_logger as log
9
9
  from sovereign.app import app
10
10
  from sovereign.worker import worker as worker_app
11
- from sovereign.schemas import SovereignAsgiConfig
11
+ from sovereign.schemas import SovereignAsgiConfig, SupervisordConfig
12
12
 
13
13
 
14
14
  asgi_config = SovereignAsgiConfig()
15
+ supervisord_config = SupervisordConfig()
15
16
 
16
17
 
17
18
  def web() -> None:
@@ -59,8 +60,11 @@ def write_supervisor_conf() -> Path:
59
60
 
60
61
  conf = configparser.RawConfigParser()
61
62
  conf["supervisord"] = supervisord = {
62
- "nodaemon": "true",
63
- "loglevel": "error",
63
+ "nodaemon": str(supervisord_config.nodaemon).lower(),
64
+ "loglevel": supervisord_config.loglevel,
65
+ "pidfile": supervisord_config.pidfile,
66
+ "logfile": supervisord_config.logfile,
67
+ "directory": supervisord_config.directory,
64
68
  }
65
69
 
66
70
  conf["fcgi-program:web"] = web = {
@@ -35,7 +35,7 @@ GMods = Dict[str, Type[GlobalModifier]]
35
35
 
36
36
 
37
37
  def _deep_diff(old, new, path="") -> list[dict[str, Any]]:
38
- changes = []
38
+ changes: list[dict[str, Any]] = []
39
39
 
40
40
  # handle add/remove
41
41
  if (old, new) == (None, None):
@@ -148,7 +148,7 @@ def source_diff_summary(prev, curr) -> dict[str, Any]:
148
148
  n_old = len(old)
149
149
  n_new = len(new)
150
150
 
151
- scope_changes = {}
151
+ scope_changes: dict[str, Any] = {}
152
152
 
153
153
  if n_old == 0 and n_new > 0:
154
154
  scope_changes["added"] = n_new
@@ -161,7 +161,7 @@ def source_diff_summary(prev, curr) -> dict[str, Any]:
161
161
  scope_changes["count_change"] = n_new - n_old
162
162
 
163
163
  if scope_changes:
164
- summary["scopes"][scope] = scope_changes
164
+ summary["scopes"][scope] = scope_changes # type: ignore
165
165
 
166
166
  if not summary["scopes"]:
167
167
  summary = {"type": "no_changes"}
File without changes
File without changes