qontract-reconcile 0.10.1rc462__py3-none-any.whl → 0.10.1rc464__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.
- {qontract_reconcile-0.10.1rc462.dist-info → qontract_reconcile-0.10.1rc464.dist-info}/METADATA +1 -1
- {qontract_reconcile-0.10.1rc462.dist-info → qontract_reconcile-0.10.1rc464.dist-info}/RECORD +7 -7
- reconcile/glitchtip_project_alerts/integration.py +17 -0
- reconcile/utils/terrascript_aws_client.py +6 -0
- {qontract_reconcile-0.10.1rc462.dist-info → qontract_reconcile-0.10.1rc464.dist-info}/WHEEL +0 -0
- {qontract_reconcile-0.10.1rc462.dist-info → qontract_reconcile-0.10.1rc464.dist-info}/entry_points.txt +0 -0
- {qontract_reconcile-0.10.1rc462.dist-info → qontract_reconcile-0.10.1rc464.dist-info}/top_level.txt +0 -0
{qontract_reconcile-0.10.1rc462.dist-info → qontract_reconcile-0.10.1rc464.dist-info}/METADATA
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: qontract-reconcile
|
3
|
-
Version: 0.10.
|
3
|
+
Version: 0.10.1rc464
|
4
4
|
Summary: Collection of tools to reconcile services with their desired state as defined in the app-interface DB.
|
5
5
|
Home-page: https://github.com/app-sre/qontract-reconcile
|
6
6
|
Author: Red Hat App-SRE Team
|
{qontract_reconcile-0.10.1rc462.dist-info → qontract_reconcile-0.10.1rc464.dist-info}/RECORD
RENAMED
@@ -159,7 +159,7 @@ reconcile/glitchtip/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
|
|
159
159
|
reconcile/glitchtip/integration.py,sha256=FB1dmwrDs8z6MHfO5Za83fcPkxsVvcaw6sFymIx4C_Q,8116
|
160
160
|
reconcile/glitchtip/reconciler.py,sha256=XybVNqXFnrPbNEX_B1B7esqExWdWNsUPXaORMPRUbfk,12333
|
161
161
|
reconcile/glitchtip_project_alerts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
162
|
-
reconcile/glitchtip_project_alerts/integration.py,sha256=
|
162
|
+
reconcile/glitchtip_project_alerts/integration.py,sha256=Bb4X-oEeBxLQtVJM4TZSerQKgDTknAWO_f-7LZRVGnI,11778
|
163
163
|
reconcile/glitchtip_project_dsn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
164
164
|
reconcile/glitchtip_project_dsn/integration.py,sha256=NSHW3qVwkeSMv7Anl6fb-UFKRLUh_dh7JfvPQVvg1cA,7946
|
165
165
|
reconcile/gql_definitions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -563,7 +563,7 @@ reconcile/utils/state.py,sha256=-a3fOnGZnDRcTXw9Hg3QtGdKePGtnmoCkPeCt-5HgbE,1367
|
|
563
563
|
reconcile/utils/structs.py,sha256=LcbLEg8WxfRqM6nW7NhcWN0YeqF7SQzxOgntmLs1SgY,352
|
564
564
|
reconcile/utils/template.py,sha256=wTvRU4AnAV_o042tD4Mwls2dwWMuk7MKnde3MaCjaYg,331
|
565
565
|
reconcile/utils/terraform_client.py,sha256=V7AMQOEU4tvUOT-LQN2cXLqcphD5L93PMGMfurQQyPY,31753
|
566
|
-
reconcile/utils/terrascript_aws_client.py,sha256=
|
566
|
+
reconcile/utils/terrascript_aws_client.py,sha256=8A-pVZop3uwdKV6FsnppBkBmhyutmKR2_FBYo8PLhoU,261163
|
567
567
|
reconcile/utils/three_way_diff_strategy.py,sha256=nyqeQsLCoPI6e16k2CF3b9KNgQLU-rPf5RtfdUfVMwE,4468
|
568
568
|
reconcile/utils/throughput.py,sha256=iP4UWAe2LVhDo69mPPmgo9nQ7RxHD6_GS8MZe-aSiuM,344
|
569
569
|
reconcile/utils/unleash.py,sha256=1D56CsZfE3ShDtN3IErE1T2eeIwNmxhK-yYbCotJ99E,3601
|
@@ -646,8 +646,8 @@ tools/test/test_app_interface_metrics_exporter.py,sha256=SX7qL3D1SIRKFo95FoQztvf
|
|
646
646
|
tools/test/test_qontract_cli.py,sha256=awwTHEc2DWlykuqGIYM0WOBoSL0KRnOraCLk3C7izis,1401
|
647
647
|
tools/test/test_sd_app_sre_alert_report.py,sha256=v363r9zM7__0kR5K6mvJoGFcM9BvE33fWAayrqkpojA,2116
|
648
648
|
tools/test/test_sre_checkpoints.py,sha256=SKqPPTl9ua0RFdSSofnoQX-JZE6dFLO3LRhfQzqtfh8,2607
|
649
|
-
qontract_reconcile-0.10.
|
650
|
-
qontract_reconcile-0.10.
|
651
|
-
qontract_reconcile-0.10.
|
652
|
-
qontract_reconcile-0.10.
|
653
|
-
qontract_reconcile-0.10.
|
649
|
+
qontract_reconcile-0.10.1rc464.dist-info/METADATA,sha256=_spKRy37Hm4dn6vMeiwg6fNOmNbAbhcp4ZeWeeU7Go4,2348
|
650
|
+
qontract_reconcile-0.10.1rc464.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
651
|
+
qontract_reconcile-0.10.1rc464.dist-info/entry_points.txt,sha256=rTjAv28I_CHLM8ID3OPqMI_suoQ9s7tFbim4aYjn9kk,376
|
652
|
+
qontract_reconcile-0.10.1rc464.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
|
653
|
+
qontract_reconcile-0.10.1rc464.dist-info/RECORD,,
|
@@ -46,6 +46,18 @@ class GlitchtipProjectAlertsIntegrationParams(PydanticRunParams):
|
|
46
46
|
instance: Optional[str] = None
|
47
47
|
|
48
48
|
|
49
|
+
def webhook_urls_are_unique(alerts: Iterable[ProjectAlert]) -> bool:
|
50
|
+
"""Check that webhook URLs are unique across a project."""
|
51
|
+
urls = []
|
52
|
+
for alert in alerts:
|
53
|
+
for recipient in alert.recipients:
|
54
|
+
if recipient.recipient_type == RecipientType.WEBHOOK:
|
55
|
+
if recipient.url in urls:
|
56
|
+
return False
|
57
|
+
urls.append(recipient.url)
|
58
|
+
return True
|
59
|
+
|
60
|
+
|
49
61
|
class GlitchtipProjectAlertsIntegration(
|
50
62
|
QontractReconcileIntegration[GlitchtipProjectAlertsIntegrationParams]
|
51
63
|
):
|
@@ -137,6 +149,11 @@ class GlitchtipProjectAlertsIntegration(
|
|
137
149
|
],
|
138
150
|
)
|
139
151
|
)
|
152
|
+
# check for duplicates
|
153
|
+
if not webhook_urls_are_unique(alerts):
|
154
|
+
raise ValueError(
|
155
|
+
"Glitchtip project alert webhook URLs must be unique across a project. Do not trigger the same webhook twice."
|
156
|
+
)
|
140
157
|
project = Project(
|
141
158
|
name=glitchtip_project.name,
|
142
159
|
platform=None,
|
@@ -6179,6 +6179,12 @@ class TerrascriptClient: # pylint: disable=too-many-public-methods
|
|
6179
6179
|
user["name"]: self.secret_reader.read_all(user["secret"])
|
6180
6180
|
for user in spec.resource["users"]
|
6181
6181
|
}
|
6182
|
+
# validate user objects
|
6183
|
+
for user, secret in scram_users.items():
|
6184
|
+
if secret.keys() != {"password", "username"}:
|
6185
|
+
raise ValueError(
|
6186
|
+
f"MSK user '{user}' secret must contain only 'username' and 'password' keys!"
|
6187
|
+
)
|
6182
6188
|
|
6183
6189
|
# resource - msk config
|
6184
6190
|
msk_config = aws_msk_configuration(
|
File without changes
|
File without changes
|
{qontract_reconcile-0.10.1rc462.dist-info → qontract_reconcile-0.10.1rc464.dist-info}/top_level.txt
RENAMED
File without changes
|