qontract-reconcile 0.10.1rc725__py3-none-any.whl → 0.10.1rc726__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.1rc725.dist-info → qontract_reconcile-0.10.1rc726.dist-info}/METADATA +1 -1
- {qontract_reconcile-0.10.1rc725.dist-info → qontract_reconcile-0.10.1rc726.dist-info}/RECORD +9 -9
- reconcile/acs_policies.py +1 -10
- reconcile/acs_rbac.py +1 -10
- reconcile/test/test_acs_policies.py +1 -1
- reconcile/utils/acs/base.py +10 -11
- {qontract_reconcile-0.10.1rc725.dist-info → qontract_reconcile-0.10.1rc726.dist-info}/WHEEL +0 -0
- {qontract_reconcile-0.10.1rc725.dist-info → qontract_reconcile-0.10.1rc726.dist-info}/entry_points.txt +0 -0
- {qontract_reconcile-0.10.1rc725.dist-info → qontract_reconcile-0.10.1rc726.dist-info}/top_level.txt +0 -0
{qontract_reconcile-0.10.1rc725.dist-info → qontract_reconcile-0.10.1rc726.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.1rc726
|
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.1rc725.dist-info → qontract_reconcile-0.10.1rc726.dist-info}/RECORD
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
reconcile/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
|
-
reconcile/acs_policies.py,sha256=
|
3
|
-
reconcile/acs_rbac.py,sha256=
|
2
|
+
reconcile/acs_policies.py,sha256=1iRYmMdz0YtqyQgA9O0uGQdmMKUCCe-ApRa6LIEAdps,8769
|
3
|
+
reconcile/acs_rbac.py,sha256=JEDevU4AdhTjMW-fAnNG3iw6Od5tYxGuYSirmu9KurI,22657
|
4
4
|
reconcile/aws_ami_share.py,sha256=eeu0TI3M5yyUaozyAq_aW3tir-9be4YFguOXvIvKHSo,3757
|
5
5
|
reconcile/aws_ecr_image_pull_secrets.py,sha256=TGEc_0nv8oxV2HqA8VdcM4HHP-B1YqmNOOU6FPwVFTY,2328
|
6
6
|
reconcile/aws_garbage_collector.py,sha256=ddwU8IKTueAJc0TzymcREr7hcoVui9kOGvdH1B2EcuM,450
|
@@ -425,7 +425,7 @@ reconcile/templating/lib/rendering.py,sha256=_BVQ2gqip8K1AgLYfaTWh8NKJFTW6VjUZ6r
|
|
425
425
|
reconcile/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
426
426
|
reconcile/test/conftest.py,sha256=rQousYrxUz-EwAIbsYO6bIwR1B4CrOz9y_zaUVo2lfI,4466
|
427
427
|
reconcile/test/fixtures.py,sha256=9SDWAUlSd1rCx7z3GhULHcpr-I6FyCsXxaFAZIqYQsQ,591
|
428
|
-
reconcile/test/test_acs_policies.py,sha256=
|
428
|
+
reconcile/test/test_acs_policies.py,sha256=pffUzH4IHKuXntvGMi-iV0Epg4YsCBF2G2-R9nYIt40,15699
|
429
429
|
reconcile/test/test_acs_rbac.py,sha256=lvNd8GY0-GHzcOdOn13QWdrqbBXXKzNT7EEDHNH7cjM,28272
|
430
430
|
reconcile/test/test_aggregated_list.py,sha256=iiWitQuNYC58aimWaiBoE4NROHjr1NCgQ91MnHEG_Ro,6412
|
431
431
|
reconcile/test/test_amtool.py,sha256=vxRhGieeydMBOb9UI2ziMHjJa8puMeGNsUhGhy-yMnk,1032
|
@@ -654,7 +654,7 @@ reconcile/utils/vault.py,sha256=S0eHqvZ9N3fya1E8YDaUffEvLk_fdtpzL4rvWn6f828,1499
|
|
654
654
|
reconcile/utils/vaultsecretref.py,sha256=3Ed2uBy36TzSvL0B-l4FoWQqB2SbBKDKEuUPIO608Bo,931
|
655
655
|
reconcile/utils/vcs.py,sha256=o1r0n_IrU2El75CED_6sjR2GZGM-exuWsj5F7jONaMU,6779
|
656
656
|
reconcile/utils/acs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
657
|
-
reconcile/utils/acs/base.py,sha256=
|
657
|
+
reconcile/utils/acs/base.py,sha256=8qZhCYteLCe3xSIeiNj-HXm6J0nBLFGBbZ7b7xXlA6I,2381
|
658
658
|
reconcile/utils/acs/policies.py,sha256=_jAz6cv8KRYtDsXjGoJgNbD8_9PUa5LSwwVlpK4A_cQ,5505
|
659
659
|
reconcile/utils/acs/rbac.py,sha256=ugsLM9Pb7FbUbdq85E3VzXGMaB9ZovXob7tdWCxwqZ8,8808
|
660
660
|
reconcile/utils/aws_api_typed/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -764,8 +764,8 @@ tools/test/test_app_interface_metrics_exporter.py,sha256=SX7qL3D1SIRKFo95FoQztvf
|
|
764
764
|
tools/test/test_qontract_cli.py,sha256=UEwAW7PA_GIrbqzaLxpkCxbuVjEFLNvnVG-6VyoCGIc,4147
|
765
765
|
tools/test/test_sd_app_sre_alert_report.py,sha256=v363r9zM7__0kR5K6mvJoGFcM9BvE33fWAayrqkpojA,2116
|
766
766
|
tools/test/test_sre_checkpoints.py,sha256=SKqPPTl9ua0RFdSSofnoQX-JZE6dFLO3LRhfQzqtfh8,2607
|
767
|
-
qontract_reconcile-0.10.
|
768
|
-
qontract_reconcile-0.10.
|
769
|
-
qontract_reconcile-0.10.
|
770
|
-
qontract_reconcile-0.10.
|
771
|
-
qontract_reconcile-0.10.
|
767
|
+
qontract_reconcile-0.10.1rc726.dist-info/METADATA,sha256=maRuGUrFAdwK_5cRbjB9kQKeQ8tguoeeNWVasWTEEUE,2382
|
768
|
+
qontract_reconcile-0.10.1rc726.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
769
|
+
qontract_reconcile-0.10.1rc726.dist-info/entry_points.txt,sha256=rIxI5zWtHNlfpDeq1a7pZXAPoqf7HG32KMTN3MeWK_8,429
|
770
|
+
qontract_reconcile-0.10.1rc726.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
|
771
|
+
qontract_reconcile-0.10.1rc726.dist-info/RECORD,,
|
reconcile/acs_policies.py
CHANGED
@@ -7,9 +7,6 @@ from reconcile.gql_definitions.acs.acs_policies import (
|
|
7
7
|
AcsPolicyConditionsV1,
|
8
8
|
AcsPolicyV1,
|
9
9
|
)
|
10
|
-
from reconcile.typed_queries.app_interface_vault_settings import (
|
11
|
-
get_app_interface_vault_settings,
|
12
|
-
)
|
13
10
|
from reconcile.utils import gql
|
14
11
|
from reconcile.utils.acs.policies import AcsPolicyApi, Policy, PolicyCondition, Scope
|
15
12
|
from reconcile.utils.differ import diff_iterables
|
@@ -17,7 +14,6 @@ from reconcile.utils.runtime.integration import (
|
|
17
14
|
NoParams,
|
18
15
|
QontractReconcileIntegration,
|
19
16
|
)
|
20
|
-
from reconcile.utils.secret_reader import create_secret_reader
|
21
17
|
from reconcile.utils.semver_helper import make_semver
|
22
18
|
|
23
19
|
# proceeding constants map schema enum values to corresponding acs api defaults
|
@@ -225,13 +221,8 @@ class AcsPoliciesIntegration(QontractReconcileIntegration[NoParams]):
|
|
225
221
|
) -> None:
|
226
222
|
gqlapi = gql.get_api()
|
227
223
|
instance = AcsPolicyApi.get_acs_instance(gqlapi.query)
|
228
|
-
|
229
|
-
vault_settings = get_app_interface_vault_settings()
|
230
|
-
secret_reader = create_secret_reader(use_vault=vault_settings.vault)
|
231
|
-
token = secret_reader.read_all_secret(instance.credentials)
|
232
|
-
|
233
224
|
with AcsPolicyApi(
|
234
|
-
|
225
|
+
url=instance.url, token=self.secret_reader.read_secret(instance.credentials)
|
235
226
|
) as acs_api:
|
236
227
|
notifiers = acs_api.list_notifiers()
|
237
228
|
clusters = acs_api.list_clusters()
|
reconcile/acs_rbac.py
CHANGED
@@ -10,9 +10,6 @@ from pydantic import BaseModel
|
|
10
10
|
|
11
11
|
from reconcile.gql_definitions.acs.acs_rbac import OidcPermissionAcsV1
|
12
12
|
from reconcile.gql_definitions.acs.acs_rbac import query as acs_rbac_query
|
13
|
-
from reconcile.typed_queries.app_interface_vault_settings import (
|
14
|
-
get_app_interface_vault_settings,
|
15
|
-
)
|
16
13
|
from reconcile.utils import gql
|
17
14
|
from reconcile.utils.acs.rbac import AcsRbacApi, Group, RbacResources
|
18
15
|
from reconcile.utils.differ import (
|
@@ -23,7 +20,6 @@ from reconcile.utils.runtime.integration import (
|
|
23
20
|
NoParams,
|
24
21
|
QontractReconcileIntegration,
|
25
22
|
)
|
26
|
-
from reconcile.utils.secret_reader import create_secret_reader
|
27
23
|
from reconcile.utils.semver_helper import make_semver
|
28
24
|
|
29
25
|
DEFAULT_ADMIN_SCOPE_NAME = "Unrestricted"
|
@@ -582,15 +578,10 @@ class AcsRbacIntegration(QontractReconcileIntegration[NoParams]):
|
|
582
578
|
) -> None:
|
583
579
|
gqlapi = gql.get_api()
|
584
580
|
instance = AcsRbacApi.get_acs_instance(gqlapi.query)
|
585
|
-
|
586
|
-
vault_settings = get_app_interface_vault_settings()
|
587
|
-
secret_reader = create_secret_reader(use_vault=vault_settings.vault)
|
588
|
-
token = secret_reader.read_all_secret(instance.credentials)
|
589
|
-
|
590
581
|
desired = self.get_desired_state(gqlapi.query)
|
591
582
|
|
592
583
|
with AcsRbacApi(
|
593
|
-
|
584
|
+
url=instance.url, token=self.secret_reader.read_secret(instance.credentials)
|
594
585
|
) as acs_api:
|
595
586
|
rbac_api_resources = acs_api.get_rbac_resources()
|
596
587
|
current = self.get_current_state(
|
@@ -311,7 +311,7 @@ def test_get_current_state(
|
|
311
311
|
specific_custom_policy_2,
|
312
312
|
],
|
313
313
|
)
|
314
|
-
with AcsPolicyApi(
|
314
|
+
with AcsPolicyApi(url="foo", token="bar") as acs:
|
315
315
|
assert sorted(acs.get_custom_policies(), key=lambda p: p.name) == sorted(
|
316
316
|
modeled_acs_policies, key=lambda p: p.name
|
317
317
|
)
|
reconcile/utils/acs/base.py
CHANGED
@@ -7,22 +7,21 @@ from typing import (
|
|
7
7
|
)
|
8
8
|
|
9
9
|
import requests
|
10
|
+
from pydantic import BaseModel
|
10
11
|
|
11
12
|
from reconcile.gql_definitions.acs.acs_instances import AcsInstanceV1
|
12
13
|
from reconcile.gql_definitions.acs.acs_instances import query as acs_instances_query
|
13
14
|
from reconcile.utils.exceptions import AppInterfaceSettingsError
|
14
15
|
|
15
16
|
|
16
|
-
class AcsBaseApi:
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
self.timeout = timeout
|
25
|
-
self.session = requests.Session()
|
17
|
+
class AcsBaseApi(BaseModel):
|
18
|
+
url: str
|
19
|
+
token: str
|
20
|
+
timeout: int = 30
|
21
|
+
session: requests.Session = requests.Session()
|
22
|
+
|
23
|
+
class Config:
|
24
|
+
arbitrary_types_allowed = True
|
26
25
|
|
27
26
|
def __enter__(self) -> Self:
|
28
27
|
return self
|
@@ -58,7 +57,7 @@ class AcsBaseApi:
|
|
58
57
|
def generic_request(
|
59
58
|
self, path: str, verb: str, json: Optional[Any] = None
|
60
59
|
) -> requests.Response:
|
61
|
-
url = f"{self.
|
60
|
+
url = f"{self.url}{path}"
|
62
61
|
headers = {
|
63
62
|
"Authorization": f"Bearer {self.token}",
|
64
63
|
}
|
File without changes
|
File without changes
|
{qontract_reconcile-0.10.1rc725.dist-info → qontract_reconcile-0.10.1rc726.dist-info}/top_level.txt
RENAMED
File without changes
|