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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: qontract-reconcile
3
- Version: 0.10.1rc725
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
@@ -1,6 +1,6 @@
1
1
  reconcile/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- reconcile/acs_policies.py,sha256=e_kVyP4rGm3fJzq10Anr8scZoPenlmTcoS5REK0d2T0,9144
3
- reconcile/acs_rbac.py,sha256=YoKu5wTRTtb3EGT0PV3r279LDgvw2ECb-0_0j4suScg,23032
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=hMnCX9KdLRKb53gYXK4JUR5yJwhczJRyyUPywDeLeLg,15716
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=9XvFQVIbo6JOl5NKN4Mx3_jJc2B7pV12hOnTasm_Emw,2434
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.1rc725.dist-info/METADATA,sha256=yALTJNiBAy2sBjcpLDBq3aVaZsZhlUKusvBps3BxlU0,2382
768
- qontract_reconcile-0.10.1rc725.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
769
- qontract_reconcile-0.10.1rc725.dist-info/entry_points.txt,sha256=rIxI5zWtHNlfpDeq1a7pZXAPoqf7HG32KMTN3MeWK_8,429
770
- qontract_reconcile-0.10.1rc725.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
771
- qontract_reconcile-0.10.1rc725.dist-info/RECORD,,
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
- instance={"url": instance.url, "token": token[instance.credentials.field]}
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
- instance={"url": instance.url, "token": token[instance.credentials.field]}
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(instance={"url": "foo", "token": "bar"}) as acs:
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
  )
@@ -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
- def __init__(
18
- self,
19
- instance: Any,
20
- timeout: int = 30,
21
- ) -> None:
22
- self.base_url = instance["url"]
23
- self.token = instance["token"]
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.base_url}{path}"
60
+ url = f"{self.url}{path}"
62
61
  headers = {
63
62
  "Authorization": f"Bearer {self.token}",
64
63
  }