qontract-reconcile 0.10.2.dev304__py3-none-any.whl → 0.10.2.dev306__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.2.dev304.dist-info → qontract_reconcile-0.10.2.dev306.dist-info}/METADATA +1 -1
- {qontract_reconcile-0.10.2.dev304.dist-info → qontract_reconcile-0.10.2.dev306.dist-info}/RECORD +10 -10
- reconcile/rhidp/common.py +2 -0
- reconcile/utils/ocm/base.py +10 -0
- reconcile/utils/structs.py +3 -3
- reconcile/utils/throughput.py +1 -1
- reconcile/vpc_peerings_validator.py +2 -2
- tools/sre_checkpoints/util.py +5 -3
- {qontract_reconcile-0.10.2.dev304.dist-info → qontract_reconcile-0.10.2.dev306.dist-info}/WHEEL +0 -0
- {qontract_reconcile-0.10.2.dev304.dist-info → qontract_reconcile-0.10.2.dev306.dist-info}/entry_points.txt +0 -0
{qontract_reconcile-0.10.2.dev304.dist-info → qontract_reconcile-0.10.2.dev306.dist-info}/METADATA
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: qontract-reconcile
|
3
|
-
Version: 0.10.2.
|
3
|
+
Version: 0.10.2.dev306
|
4
4
|
Summary: Collection of tools to reconcile services with their desired state as defined in the app-interface DB.
|
5
5
|
Project-URL: homepage, https://github.com/app-sre/qontract-reconcile
|
6
6
|
Project-URL: repository, https://github.com/app-sre/qontract-reconcile
|
{qontract_reconcile-0.10.2.dev304.dist-info → qontract_reconcile-0.10.2.dev306.dist-info}/RECORD
RENAMED
@@ -113,7 +113,7 @@ reconcile/terraform_tgw_attachments.py,sha256=uls0GlTVeSMTZtUGXpqDW8ovKqXV-6036A
|
|
113
113
|
reconcile/terraform_users.py,sha256=F-OgRfVV6_MoSvL0oZBtbFtNVS4V48baOWN157IoGEE,10321
|
114
114
|
reconcile/terraform_vpc_peerings.py,sha256=v1GPiluuPLwpQWrp1j5xT9_QuQw07F_Lj2uL3RX9PZE,27788
|
115
115
|
reconcile/vault_replication.py,sha256=trtbB-jDwca822J5I_s0zlwFtlyaiAtqgbPeqp7Cggc,17714
|
116
|
-
reconcile/vpc_peerings_validator.py,sha256=
|
116
|
+
reconcile/vpc_peerings_validator.py,sha256=_77eu6DSy6VjTE5mhV-sOIVOGIiBvDEEDCdwwRdrgVQ,7101
|
117
117
|
reconcile/aus/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
118
118
|
reconcile/aus/advanced_upgrade_service.py,sha256=Cx-WthkvlcX58PrnnNeo_bQG17Xw3BGNu3f53Jc1VoA,23985
|
119
119
|
reconcile/aus/aus_label_source.py,sha256=o0S2f0qwcII_8nzhHZhRQ83gEZ1DrSXyO4xzSwLebuU,4382
|
@@ -458,7 +458,7 @@ reconcile/oum/standalone.py,sha256=EN5y1S-3DwUZYzSRqRMtf63mI2slvBHKiU9zOTjYvWM,7
|
|
458
458
|
reconcile/prometheus_rules_tester/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
459
459
|
reconcile/prometheus_rules_tester/integration.py,sha256=TWsVBUeRLH3lUCf47sWWVgq4Rpkrq0i_eu2vkqQniP0,9619
|
460
460
|
reconcile/rhidp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
461
|
-
reconcile/rhidp/common.py,sha256=
|
461
|
+
reconcile/rhidp/common.py,sha256=MIOzjObdvDtZuLvrYBp2GhvPfRp6p-Lohbr_hgEsNYM,7025
|
462
462
|
reconcile/rhidp/metrics.py,sha256=Yp0GtpjhieEdru0qkG3osBTJiKUzg6CAjwPoFTQDnCg,417
|
463
463
|
reconcile/rhidp/ocm_oidc_idp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
464
464
|
reconcile/rhidp/ocm_oidc_idp/base.py,sha256=gcrQEmHQ2GF2MtSxBcxTRsK-I19rsfIn9NZvyx8ZbyQ,7133
|
@@ -656,11 +656,11 @@ reconcile/utils/slo_document_manager.py,sha256=YqiCYA_kRq5_oNc_VTYipjbph4k0XHDcj
|
|
656
656
|
reconcile/utils/smtp_client.py,sha256=0xefB4I9E5eBB-FlxFJYjvz3Kvuqi_K3Ma_Wk0NAQKM,2779
|
657
657
|
reconcile/utils/sqs_gateway.py,sha256=XNIf3PY4UCPNufP2Ul0UJj3fKlt5larBba-VTT-41Fg,2265
|
658
658
|
reconcile/utils/state.py,sha256=vCHYIfrWLfPyIWEHSaADWlc4OqhwcOiqM3Egqvw-lfo,16372
|
659
|
-
reconcile/utils/structs.py,sha256=
|
659
|
+
reconcile/utils/structs.py,sha256=P57POzpEntu8ZoZDnsOdni9qUuBDWknmw0iinznxXoY,386
|
660
660
|
reconcile/utils/terraform_client.py,sha256=GoLbfs4d4YItNCeV3NZnrth4sD8ziNYgY2IszruRDpg,37303
|
661
661
|
reconcile/utils/terrascript_aws_client.py,sha256=o5-K61gEbQN48IRfdHVDfgt0sW-sYN9WYho4ZZ7j7io,295917
|
662
662
|
reconcile/utils/three_way_diff_strategy.py,sha256=oQcHXd9LVhirJfoaOBoHUYuZVGfyL2voKr6KVI34zZE,4833
|
663
|
-
reconcile/utils/throughput.py,sha256=
|
663
|
+
reconcile/utils/throughput.py,sha256=KNDCVsCLSp89V4pO3sEUd7bJUuh6gNfsxsc_18rEv_Y,357
|
664
664
|
reconcile/utils/vault.py,sha256=6V15LByFghp-U3k0N4lum6V7qt2EAlRfcAxjy5e-FAU,15146
|
665
665
|
reconcile/utils/vcs.py,sha256=2bDk8oYnCP7QMITwOG63LUTzDgqQPEao6trF8gQKtmI,10294
|
666
666
|
reconcile/utils/acs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -721,7 +721,7 @@ reconcile/utils/mr/update_access_report_base.py,sha256=LOXTIonpfxXrvZI9nPqkszW3O
|
|
721
721
|
reconcile/utils/mr/user_maintenance.py,sha256=OC9-3YkpXsYKZGsdOdx-NLq7AkjgrhDR2JL7hov7BV8,5669
|
722
722
|
reconcile/utils/ocm/__init__.py,sha256=Y-bp8GomMpyCo0tFW6kJ78-ZG1UIupYRtBzbMWU0kwM,798
|
723
723
|
reconcile/utils/ocm/addons.py,sha256=_LDdJ-gapM3s5exKlIUt-MlXZTAUoHezbYBU0QmvfWQ,7335
|
724
|
-
reconcile/utils/ocm/base.py,sha256=
|
724
|
+
reconcile/utils/ocm/base.py,sha256=sy8mD9srj5dJjRIk8u8RRmj_D7h4MnpxtZwm4S4BWf8,14883
|
725
725
|
reconcile/utils/ocm/cluster_groups.py,sha256=F8oqVqN_4QUnGL0K61zZhoYIzJeP57EcmZpwmoV0mr4,1751
|
726
726
|
reconcile/utils/ocm/clusters.py,sha256=ev-sT247P3qFs9wzxOs_xFj1vKGpdRYm4INgxTR3Fb0,7792
|
727
727
|
reconcile/utils/ocm/identity_providers.py,sha256=dKed09N8iWmn39tI_MpwgVe47x23eLsknGbjMUxtwr4,2175
|
@@ -795,8 +795,8 @@ tools/saas_metrics_exporter/commit_distance/metrics.py,sha256=5-y6n-sGACAS3eJ5nd
|
|
795
795
|
tools/saas_promotion_state/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
796
796
|
tools/saas_promotion_state/saas_promotion_state.py,sha256=uQv2QJAmUXP1g2GPIH30WTlvL9soY6m9lefpZEVDM5w,3965
|
797
797
|
tools/sre_checkpoints/__init__.py,sha256=CDaDaywJnmRCLyl_NCcvxi-Zc0hTi_3OdwKiFOyS39I,145
|
798
|
-
tools/sre_checkpoints/util.py,sha256=
|
799
|
-
qontract_reconcile-0.10.2.
|
800
|
-
qontract_reconcile-0.10.2.
|
801
|
-
qontract_reconcile-0.10.2.
|
802
|
-
qontract_reconcile-0.10.2.
|
798
|
+
tools/sre_checkpoints/util.py,sha256=KcYVfa3UmJHVP_ocgrKe8NkrO5IDB9aWEDydSokPcRk,975
|
799
|
+
qontract_reconcile-0.10.2.dev306.dist-info/METADATA,sha256=Cx95zCcVgBXYiv2FQXbJOyJ-SCeSI75Q8VDK2I8x5pU,24916
|
800
|
+
qontract_reconcile-0.10.2.dev306.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
801
|
+
qontract_reconcile-0.10.2.dev306.dist-info/entry_points.txt,sha256=5i9l54La3vQrDLAdwDKQWC0iG4sV9RRfOb1BpvzOWLc,698
|
802
|
+
qontract_reconcile-0.10.2.dev306.dist-info/RECORD,,
|
reconcile/rhidp/common.py
CHANGED
@@ -140,6 +140,8 @@ def build_cluster_objects(
|
|
140
140
|
for cluster in cluster_details
|
141
141
|
# we can't calculate the redirect url w/o a console url
|
142
142
|
if cluster.ocm_cluster.console
|
143
|
+
# we can't configure an identity provider if external auth is enabled
|
144
|
+
and not cluster.ocm_cluster.external_auth_enabled
|
143
145
|
]
|
144
146
|
|
145
147
|
|
reconcile/utils/ocm/base.py
CHANGED
@@ -215,6 +215,10 @@ class OCMExternalConfiguration(BaseModel):
|
|
215
215
|
syncsets: dict
|
216
216
|
|
217
217
|
|
218
|
+
class OCMExternalAuthConfig(BaseModel):
|
219
|
+
enabled: bool
|
220
|
+
|
221
|
+
|
218
222
|
PRODUCT_ID_OSD = "osd"
|
219
223
|
PRODUCT_ID_ROSA = "rosa"
|
220
224
|
|
@@ -274,6 +278,8 @@ class OCMCluster(BaseModel):
|
|
274
278
|
|
275
279
|
external_configuration: OCMExternalConfiguration | None
|
276
280
|
|
281
|
+
external_auth_config: OCMExternalAuthConfig | None
|
282
|
+
|
277
283
|
def minor_version(self) -> str:
|
278
284
|
version_info = parse_semver(self.version.raw_id)
|
279
285
|
return f"{version_info.major}.{version_info.minor}"
|
@@ -315,6 +321,10 @@ class OCMCluster(BaseModel):
|
|
315
321
|
def base_domain(self) -> str | None:
|
316
322
|
return self.dns.base_domain if self.dns else None
|
317
323
|
|
324
|
+
@property
|
325
|
+
def external_auth_enabled(self) -> bool:
|
326
|
+
return self.external_auth_config.enabled if self.external_auth_config else False
|
327
|
+
|
318
328
|
|
319
329
|
class OCMLabel(BaseModel):
|
320
330
|
"""
|
reconcile/utils/structs.py
CHANGED
@@ -5,12 +5,12 @@ from pydantic.dataclasses import dataclass
|
|
5
5
|
class CommandExecutionResult:
|
6
6
|
"""This class represents a command execution result"""
|
7
7
|
|
8
|
-
def __init__(self, is_ok, message):
|
8
|
+
def __init__(self, is_ok: bool, message: str) -> None:
|
9
9
|
self.is_ok = is_ok
|
10
10
|
self.message = message
|
11
11
|
|
12
|
-
def __str__(self):
|
12
|
+
def __str__(self) -> str:
|
13
13
|
return str(self.message)
|
14
14
|
|
15
|
-
def __bool__(self):
|
15
|
+
def __bool__(self) -> bool:
|
16
16
|
return self.is_ok
|
reconcile/utils/throughput.py
CHANGED
@@ -79,7 +79,7 @@ def validate_no_cidr_overlap(
|
|
79
79
|
return True
|
80
80
|
|
81
81
|
|
82
|
-
def find_cidr_overlap(cluster_name: str, input_list: list):
|
82
|
+
def find_cidr_overlap(cluster_name: str, input_list: list) -> bool:
|
83
83
|
for i in range(len(input_list)):
|
84
84
|
compared_vpc = input_list[i]
|
85
85
|
for j in range(i + 1, len(input_list)):
|
@@ -171,7 +171,7 @@ def validate_no_public_to_public_peerings(
|
|
171
171
|
return valid
|
172
172
|
|
173
173
|
|
174
|
-
def run(dry_run: bool):
|
174
|
+
def run(dry_run: bool) -> None:
|
175
175
|
query_data = vpc_peerings_validator.query(query_func=gql.get_api().query)
|
176
176
|
|
177
177
|
valid = True
|
tools/sre_checkpoints/util.py
CHANGED
@@ -1,7 +1,9 @@
|
|
1
|
+
from typing import Any
|
2
|
+
|
1
3
|
from reconcile import queries
|
2
4
|
|
3
5
|
|
4
|
-
def full_name(app):
|
6
|
+
def full_name(app: dict[str, Any]) -> str:
|
5
7
|
"""Builds App full_name, prepending the App with the name
|
6
8
|
of the parent App.
|
7
9
|
|
@@ -17,14 +19,14 @@ def full_name(app):
|
|
17
19
|
return name
|
18
20
|
|
19
21
|
|
20
|
-
def get_latest_sre_checkpoints():
|
22
|
+
def get_latest_sre_checkpoints() -> dict[str, str]:
|
21
23
|
"""Builds dictionary with the full_name of the app as the key and the
|
22
24
|
date of sre_checkpoint as the value.
|
23
25
|
|
24
26
|
:return: dictionary with the latest checkpoints
|
25
27
|
:rtype: dict
|
26
28
|
"""
|
27
|
-
checkpoints = {}
|
29
|
+
checkpoints: dict[str, str] = {}
|
28
30
|
for checkpoint in queries.get_sre_checkpoints():
|
29
31
|
name = full_name(checkpoint["app"])
|
30
32
|
date = checkpoint["date"]
|
{qontract_reconcile-0.10.2.dev304.dist-info → qontract_reconcile-0.10.2.dev306.dist-info}/WHEEL
RENAMED
File without changes
|
File without changes
|