qontract-reconcile 0.10.1rc1190__py3-none-any.whl → 0.10.1rc1192__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.1rc1190.dist-info → qontract_reconcile-0.10.1rc1192.dist-info}/METADATA +1 -1
- {qontract_reconcile-0.10.1rc1190.dist-info → qontract_reconcile-0.10.1rc1192.dist-info}/RECORD +7 -7
- reconcile/openshift_resources_base.py +9 -1
- reconcile/utils/saasherder/saasherder.py +41 -16
- {qontract_reconcile-0.10.1rc1190.dist-info → qontract_reconcile-0.10.1rc1192.dist-info}/WHEEL +0 -0
- {qontract_reconcile-0.10.1rc1190.dist-info → qontract_reconcile-0.10.1rc1192.dist-info}/entry_points.txt +0 -0
- {qontract_reconcile-0.10.1rc1190.dist-info → qontract_reconcile-0.10.1rc1192.dist-info}/top_level.txt +0 -0
{qontract_reconcile-0.10.1rc1190.dist-info → qontract_reconcile-0.10.1rc1192.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.1rc1192
|
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.1rc1190.dist-info → qontract_reconcile-0.10.1rc1192.dist-info}/RECORD
RENAMED
@@ -72,7 +72,7 @@ reconcile/openshift_network_policies.py,sha256=DyjaeJvSFHmslbM8nyHCxpF9EtU2m-MJo
|
|
72
72
|
reconcile/openshift_prometheus_rules.py,sha256=onowXab248zmHH8SbYDTc1W1bl7JiqRFU1xdTkZyLFg,1332
|
73
73
|
reconcile/openshift_resourcequotas.py,sha256=yUi56PiOn3inMMfq_x_FEHmaW-reGipzoorjdar372g,2415
|
74
74
|
reconcile/openshift_resources.py,sha256=I2nO_C37mG3rfyGrd4cGwN3mVseVGuTAHAyhFzLyqF4,1518
|
75
|
-
reconcile/openshift_resources_base.py,sha256=
|
75
|
+
reconcile/openshift_resources_base.py,sha256=mNP-wCeodvBLX5ykntw12D0xcvC4nHIF65EEFt8ez-g,41485
|
76
76
|
reconcile/openshift_rolebindings.py,sha256=9mlJ2FjWUoH-rsjtasreA_hV-K5Z_YR00qR_RR60OZM,6555
|
77
77
|
reconcile/openshift_routes.py,sha256=fXvuPSjcjVw1X3j2EQvUAdbOepmIFdKk-M3qP8QzPiw,1075
|
78
78
|
reconcile/openshift_saas_deploy.py,sha256=T1dvb9zajisaJNjbnR6-AZHU-itscHtr4oCqLj8KCK0,13037
|
@@ -818,7 +818,7 @@ reconcile/utils/runtime/sharding.py,sha256=r0ieUtNed7NvknSw6qQrCkKpVXE1shuHGnfFc
|
|
818
818
|
reconcile/utils/saasherder/__init__.py,sha256=3U8plqMAPRE1kjwZ5YnIsYsggTf4_gS7flRUEuXVBAs,343
|
819
819
|
reconcile/utils/saasherder/interfaces.py,sha256=C2wrw34OXypshVocAsPrVZsSHptgw4g9u7Haa2wulZQ,9087
|
820
820
|
reconcile/utils/saasherder/models.py,sha256=z8ln03zi2a8cu716NcNUDHp8Dv1VcVbhqdWVxCl7x9A,10148
|
821
|
-
reconcile/utils/saasherder/saasherder.py,sha256=
|
821
|
+
reconcile/utils/saasherder/saasherder.py,sha256=120A33jOQefZfYUpeDzaeNR4-Twe5V5bsBSe0DoOCSo,86115
|
822
822
|
reconcile/utils/terraform/__init__.py,sha256=zNbiyTWo35AT1sFTElL2j_AA0jJ_yWE_bfFn-nD2xik,250
|
823
823
|
reconcile/utils/terraform/config.py,sha256=5UVrd563TMcvi4ooa5JvWVDW1I3bIWg484u79evfV_8,164
|
824
824
|
reconcile/utils/terraform/config_client.py,sha256=gRL1rQ0AqvShei_rcGqC3HDYGskOFKE1nPrJyJE9yno,4676
|
@@ -882,8 +882,8 @@ tools/test/test_qontract_cli.py,sha256=iuzKbQ6ahinvjoQmQLBrG4shey0z-1rB6qCgS8T6d
|
|
882
882
|
tools/test/test_saas_promotion_state.py,sha256=dy4kkSSAQ7bC0Xp2CociETGN-2aABEfL6FU5D9Jl00Y,6056
|
883
883
|
tools/test/test_sd_app_sre_alert_report.py,sha256=v363r9zM7__0kR5K6mvJoGFcM9BvE33fWAayrqkpojA,2116
|
884
884
|
tools/test/test_sre_checkpoints.py,sha256=SKqPPTl9ua0RFdSSofnoQX-JZE6dFLO3LRhfQzqtfh8,2607
|
885
|
-
qontract_reconcile-0.10.
|
886
|
-
qontract_reconcile-0.10.
|
887
|
-
qontract_reconcile-0.10.
|
888
|
-
qontract_reconcile-0.10.
|
889
|
-
qontract_reconcile-0.10.
|
885
|
+
qontract_reconcile-0.10.1rc1192.dist-info/METADATA,sha256=xvVSmRGPTAuwy6U0jB-TwMzTgaD5b8OZIP5Em_jdZlo,2213
|
886
|
+
qontract_reconcile-0.10.1rc1192.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
887
|
+
qontract_reconcile-0.10.1rc1192.dist-info/entry_points.txt,sha256=GKQqCl2j2X1BJQ69een6rHcR26PmnxnONLNOQB-nRjY,491
|
888
|
+
qontract_reconcile-0.10.1rc1192.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
|
889
|
+
qontract_reconcile-0.10.1rc1192.dist-info/RECORD,,
|
@@ -34,6 +34,7 @@ import reconcile.openshift_base as ob
|
|
34
34
|
import reconcile.utils.jinja2.utils as jinja2_utils
|
35
35
|
from reconcile import queries
|
36
36
|
from reconcile.change_owners.diff import IDENTIFIER_FIELD_NAME
|
37
|
+
from reconcile.external_resources.meta import SECRET_UPDATED_AT
|
37
38
|
from reconcile.utils import (
|
38
39
|
amtool,
|
39
40
|
gql,
|
@@ -233,6 +234,9 @@ QONTRACT_INTEGRATION_VERSION = make_semver(1, 9, 2)
|
|
233
234
|
QONTRACT_BASE64_SUFFIX = "_qb64"
|
234
235
|
KUBERNETES_SECRET_DATA_KEY_RE = "^[-._a-zA-Z0-9]+$"
|
235
236
|
|
237
|
+
# Keys in vault secrets that do not need to land
|
238
|
+
# into K8S secrets.
|
239
|
+
VAULT_SECRETS_EXCLUDED_KEYS = {SECRET_UPDATED_AT}
|
236
240
|
_log_lock = Lock()
|
237
241
|
|
238
242
|
|
@@ -401,7 +405,11 @@ def fetch_provider_vault_secret(
|
|
401
405
|
) -> OR:
|
402
406
|
# get the fields from vault
|
403
407
|
secret_reader = SecretReader(settings)
|
404
|
-
raw_data =
|
408
|
+
raw_data = {
|
409
|
+
k: v
|
410
|
+
for k, v in secret_reader.read_all({"path": path, "version": version}).items()
|
411
|
+
if k not in VAULT_SECRETS_EXCLUDED_KEYS
|
412
|
+
}
|
405
413
|
|
406
414
|
if validate_alertmanager_config:
|
407
415
|
check_alertmanager_config(raw_data, path, alertmanager_config_key)
|
@@ -1112,29 +1112,54 @@ class SaasHerder: # pylint: disable=too-many-public-methods
|
|
1112
1112
|
username, password = (
|
1113
1113
|
base64.b64decode(auth["auth"]).decode("utf-8").split(":")
|
1114
1114
|
)
|
1115
|
-
|
1116
|
-
|
1117
|
-
|
1118
|
-
|
1119
|
-
|
1120
|
-
|
1121
|
-
|
1122
|
-
|
1115
|
+
|
1116
|
+
return SaasHerder._get_and_validate_image(
|
1117
|
+
full_image_path=image,
|
1118
|
+
username=username,
|
1119
|
+
password=password,
|
1120
|
+
auth_server=image_auth.auth_server,
|
1121
|
+
timeout=REQUEST_TIMEOUT,
|
1122
|
+
error_prefix=error_prefix,
|
1123
|
+
)
|
1123
1124
|
|
1124
1125
|
# basic auth fallback for backwards compatibility
|
1126
|
+
return SaasHerder._get_and_validate_image(
|
1127
|
+
full_image_path=image,
|
1128
|
+
username=image_auth.username,
|
1129
|
+
password=image_auth.password,
|
1130
|
+
auth_server=image_auth.auth_server,
|
1131
|
+
timeout=REQUEST_TIMEOUT,
|
1132
|
+
error_prefix=error_prefix,
|
1133
|
+
)
|
1134
|
+
|
1135
|
+
@staticmethod
|
1136
|
+
def _get_and_validate_image(
|
1137
|
+
full_image_path: str,
|
1138
|
+
username: str | Any,
|
1139
|
+
password: str | Any,
|
1140
|
+
auth_server: str | Any,
|
1141
|
+
timeout: int,
|
1142
|
+
error_prefix: str,
|
1143
|
+
) -> Image | None:
|
1125
1144
|
try:
|
1126
|
-
|
1127
|
-
|
1128
|
-
username=
|
1129
|
-
password=
|
1130
|
-
auth_server=
|
1131
|
-
timeout=
|
1145
|
+
img = Image(
|
1146
|
+
full_image_path,
|
1147
|
+
username=username,
|
1148
|
+
password=password,
|
1149
|
+
auth_server=auth_server,
|
1150
|
+
timeout=timeout,
|
1132
1151
|
)
|
1152
|
+
if img:
|
1153
|
+
return img
|
1154
|
+
else:
|
1155
|
+
logging.error(
|
1156
|
+
f"{error_prefix} Image : {full_image_path} does not exist"
|
1157
|
+
)
|
1133
1158
|
except Exception as e:
|
1134
1159
|
logging.error(
|
1135
|
-
f"{error_prefix} Image is invalid: {
|
1160
|
+
f"{error_prefix} Image is invalid: {full_image_path}. "
|
1161
|
+
+ f"details: {e!s}"
|
1136
1162
|
)
|
1137
|
-
|
1138
1163
|
return None
|
1139
1164
|
|
1140
1165
|
def _check_images(
|
{qontract_reconcile-0.10.1rc1190.dist-info → qontract_reconcile-0.10.1rc1192.dist-info}/WHEEL
RENAMED
File without changes
|
File without changes
|
File without changes
|