sovereign 0.24.4__tar.gz → 0.24.6__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 (54) hide show
  1. {sovereign-0.24.4 → sovereign-0.24.6}/PKG-INFO +1 -1
  2. {sovereign-0.24.4 → sovereign-0.24.6}/pyproject.toml +1 -1
  3. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/utils/eds.py +35 -19
  4. {sovereign-0.24.4 → sovereign-0.24.6}/LICENSE.txt +0 -0
  5. {sovereign-0.24.4 → sovereign-0.24.6}/README.md +0 -0
  6. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/__init__.py +0 -0
  7. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/app.py +0 -0
  8. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/config_loader.py +0 -0
  9. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/configuration.py +0 -0
  10. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/constants.py +0 -0
  11. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/context.py +0 -0
  12. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/discovery.py +0 -0
  13. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/error_info.py +0 -0
  14. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/logging/access_logger.py +0 -0
  15. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/logging/application_logger.py +0 -0
  16. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/logging/base_logger.py +0 -0
  17. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/logging/bootstrapper.py +0 -0
  18. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/logging/types.py +0 -0
  19. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/middlewares.py +0 -0
  20. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/modifiers/__init__.py +0 -0
  21. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/modifiers/lib.py +0 -0
  22. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/modifiers/test.py +0 -0
  23. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/response_class.py +0 -0
  24. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/schemas.py +0 -0
  25. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/server.py +0 -0
  26. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/sources/__init__.py +0 -0
  27. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/sources/file.py +0 -0
  28. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/sources/inline.py +0 -0
  29. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/sources/lib.py +0 -0
  30. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/sources/poller.py +0 -0
  31. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/static/sass/style.scss +0 -0
  32. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/static/style.css +0 -0
  33. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/statistics.py +0 -0
  34. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/templates/base.html +0 -0
  35. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/templates/err.html +0 -0
  36. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/templates/resources.html +0 -0
  37. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/templates/ul_filter.html +0 -0
  38. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/utils/__init__.py +0 -0
  39. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/utils/auth.py +0 -0
  40. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/utils/crypto.py +0 -0
  41. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/utils/dictupdate.py +0 -0
  42. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/utils/entry_point_loader.py +0 -0
  43. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/utils/mock.py +0 -0
  44. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/utils/resources.py +0 -0
  45. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/utils/templates.py +0 -0
  46. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/utils/timer.py +0 -0
  47. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/utils/version_info.py +0 -0
  48. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/utils/weighted_clusters.py +0 -0
  49. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/views/__init__.py +0 -0
  50. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/views/admin.py +0 -0
  51. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/views/crypto.py +0 -0
  52. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/views/discovery.py +0 -0
  53. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/views/healthchecks.py +0 -0
  54. {sovereign-0.24.4 → sovereign-0.24.6}/src/sovereign/views/interface.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sovereign
3
- Version: 0.24.4
3
+ Version: 0.24.6
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 = "0.24.4"
3
+ version = "0.24.6"
4
4
  description = "Envoy Proxy control-plane written in Python"
5
5
  license = "Apache-2.0"
6
6
  packages = [
@@ -26,12 +26,16 @@ def _upstream_kwargs(
26
26
  if hard_fail:
27
27
  raise
28
28
  ip_addresses = [upstream["address"]]
29
- return {
29
+ ret = {
30
30
  "addrs": ip_addresses,
31
31
  "port": upstream["port"],
32
32
  "region": default_region or upstream.get("region", "unknown"),
33
33
  "zone": proxy_region,
34
34
  }
35
+ if "health_check_config" in upstream:
36
+ ret["health_check_config"] = upstream["health_check_config"]
37
+
38
+ return ret
35
39
 
36
40
 
37
41
  def total_zones(endpoints: List[Dict[str, Dict[str, Any]]]) -> int:
@@ -84,14 +88,21 @@ def locality_lb_endpoints(
84
88
  return ret
85
89
 
86
90
 
87
- def lb_endpoints(addrs: List[str], port: int, region: str, zone: str) -> Dict[str, Any]:
91
+ def lb_endpoints(
92
+ addrs: List[str],
93
+ port: int,
94
+ region: str,
95
+ zone: str,
96
+ health_check_config: Optional[Dict[str, Any]] = None,
97
+ ) -> Dict[str, Any]:
88
98
  """
89
99
  Creates an envoy endpoint.LbEndpoints proto
90
100
 
91
- :param addrs: The IP addresses or hostname(s) of the upstream.
92
- :param port: The port that the upstream should be accessed on.
93
- :param region: The region of the upstream.
94
- :param zone: The region of the proxy asking for the endpoint configuration.
101
+ :param addrs: The IP addresses or hostname(s) of the upstream.
102
+ :param port: The port that the upstream should be accessed on.
103
+ :param region: The region of the upstream.
104
+ :param zone: The region of the proxy asking for the endpoint configuration.
105
+ :param health_check_config: Optional health check config for the upstream.
95
106
  """
96
107
  if PRIORITY_MAPPING is None:
97
108
  raise RuntimeError(
@@ -100,20 +111,25 @@ def lb_endpoints(addrs: List[str], port: int, region: str, zone: str) -> Dict[st
100
111
  )
101
112
  node_priorities = PRIORITY_MAPPING.get(zone, {})
102
113
  priority = node_priorities.get(region, 10)
114
+
115
+ endpoints = []
116
+ for addr in addrs:
117
+ endpoint = {
118
+ "endpoint": {
119
+ "address": {
120
+ "socket_address": {
121
+ "address": addr,
122
+ "port_value": port,
123
+ }
124
+ },
125
+ }
126
+ }
127
+ if health_check_config:
128
+ endpoint["endpoint"]["health_check_config"] = health_check_config
129
+ endpoints.append(endpoint)
130
+
103
131
  return {
104
132
  "priority": priority,
105
133
  "locality": {"zone": region},
106
- "lb_endpoints": [
107
- {
108
- "endpoint": {
109
- "address": {
110
- "socket_address": {
111
- "address": addr,
112
- "port_value": port,
113
- }
114
- }
115
- }
116
- }
117
- for addr in addrs
118
- ],
134
+ "lb_endpoints": endpoints,
119
135
  }
File without changes
File without changes