qontract-reconcile 0.10.1rc1156__py3-none-any.whl → 0.10.1rc1157__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.1rc1156.dist-info → qontract_reconcile-0.10.1rc1157.dist-info}/METADATA +1 -1
- {qontract_reconcile-0.10.1rc1156.dist-info → qontract_reconcile-0.10.1rc1157.dist-info}/RECORD +12 -12
- reconcile/external_resources/manager.py +1 -1
- reconcile/external_resources/model.py +20 -1
- reconcile/external_resources/reconciler.py +1 -2
- reconcile/gql_definitions/external_resources/external_resources_modules.py +4 -0
- reconcile/gql_definitions/external_resources/external_resources_namespaces.py +12 -0
- reconcile/gql_definitions/external_resources/external_resources_settings.py +4 -0
- tools/cli_commands/erv2.py +1 -1
- {qontract_reconcile-0.10.1rc1156.dist-info → qontract_reconcile-0.10.1rc1157.dist-info}/WHEEL +0 -0
- {qontract_reconcile-0.10.1rc1156.dist-info → qontract_reconcile-0.10.1rc1157.dist-info}/entry_points.txt +0 -0
- {qontract_reconcile-0.10.1rc1156.dist-info → qontract_reconcile-0.10.1rc1157.dist-info}/top_level.txt +0 -0
{qontract_reconcile-0.10.1rc1156.dist-info → qontract_reconcile-0.10.1rc1157.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.1rc1157
|
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.1rc1156.dist-info → qontract_reconcile-0.10.1rc1157.dist-info}/RECORD
RENAMED
@@ -196,11 +196,11 @@ reconcile/external_resources/aws.py,sha256=309Zui7rE8XFJA1ZBLupl55Vp8Y5KKgXdsKQW
|
|
196
196
|
reconcile/external_resources/factories.py,sha256=KrJDh52_8PeCEVjwfeVr1jwAJDdhMXRQ_XcBETfnKY4,4988
|
197
197
|
reconcile/external_resources/integration.py,sha256=gBVO5dE8JyZ3xYcYik-MTIp_18oU7_hpYc_oztyfElQ,6753
|
198
198
|
reconcile/external_resources/integration_secrets_sync.py,sha256=dX09O3r6KURziUYYfiki10orNjOGVma-XojhVqd0ww4,1667
|
199
|
-
reconcile/external_resources/manager.py,sha256=
|
199
|
+
reconcile/external_resources/manager.py,sha256=tgHOFvP-dcPLLIhcjMn6EIELTBCycbXFNAuS-NX7l2s,17929
|
200
200
|
reconcile/external_resources/meta.py,sha256=noaytFzmShpzLA_ebGh7wuP45mOfHIOnnoUxivjDa1I,672
|
201
201
|
reconcile/external_resources/metrics.py,sha256=nMbyonGZEJDD1lYzpQY2eR9TNwvxYC4ZCcpi6wrExcM,1037
|
202
|
-
reconcile/external_resources/model.py,sha256=
|
203
|
-
reconcile/external_resources/reconciler.py,sha256=
|
202
|
+
reconcile/external_resources/model.py,sha256=H3elpiqehg_jACy28fGV5_77n8gKclVO77-7cfbaMNA,9178
|
203
|
+
reconcile/external_resources/reconciler.py,sha256=Lhzg0O9Sw65KrCae-J14g9PV82xdp29O4jS_T5YNgEY,9661
|
204
204
|
reconcile/external_resources/secrets_sync.py,sha256=6n0oDPLjd9Ql0lf6zsr1AZw8A6EEe3yCzl20XodtgkE,16229
|
205
205
|
reconcile/external_resources/state.py,sha256=UupSa6tl4-73_J6Fhisn-qHal3v3uAUS5s5sk85LGDs,9343
|
206
206
|
reconcile/glitchtip/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -291,9 +291,9 @@ reconcile/gql_definitions/endpoints_discovery/__init__.py,sha256=47DEQpj8HBSa-_T
|
|
291
291
|
reconcile/gql_definitions/endpoints_discovery/namespaces.py,sha256=FqJ0H7NdsIm5BgVnuJV9wLcj7i667VhCN559tWJ-WsA,3054
|
292
292
|
reconcile/gql_definitions/external_resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
293
293
|
reconcile/gql_definitions/external_resources/aws_accounts.py,sha256=XR69j9dpTQ0gv8y-AZN7AJ0dPvO-wbHscyCDgrax6Bk,2046
|
294
|
-
reconcile/gql_definitions/external_resources/external_resources_modules.py,sha256=
|
295
|
-
reconcile/gql_definitions/external_resources/external_resources_namespaces.py,sha256=
|
296
|
-
reconcile/gql_definitions/external_resources/external_resources_settings.py,sha256=
|
294
|
+
reconcile/gql_definitions/external_resources/external_resources_modules.py,sha256=cbbvGq1Te9DP8XiFg3bp4Y0q6LxpGYov8ugcROPyPLI,2647
|
295
|
+
reconcile/gql_definitions/external_resources/external_resources_namespaces.py,sha256=XkxcBuIqMcX_Rdb4eU1Fduasz3vgAL7IdmFNcNMxzRw,44220
|
296
|
+
reconcile/gql_definitions/external_resources/external_resources_settings.py,sha256=K8m9EKlfIVGP2KyqTduo7MMSKFjVC3yk5ZfO9hgdA7A,3192
|
297
297
|
reconcile/gql_definitions/fragments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
298
298
|
reconcile/gql_definitions/fragments/aus_organization.py,sha256=uBKbTuBa3CZmTXR5HOcGhRcu2U9kM93KbYmoWTxcpB0,4767
|
299
299
|
reconcile/gql_definitions/fragments/aws_account_common.py,sha256=3-7ZAP6GSff7Z2Syz2VQCLY4IySqBOSVmceaRiVNQpw,2385
|
@@ -842,7 +842,7 @@ tools/qontract_cli.py,sha256=ndRUc8mjkubajPkZKaoE2IFVT2e4YXYRVtUaeLt3zzE,140496
|
|
842
842
|
tools/sd_app_sre_alert_report.py,sha256=e9vAdyenUz2f5c8-z-5WY0wv-SJ9aePKDH2r4IwB6pc,5063
|
843
843
|
tools/template_validation.py,sha256=qpKYaTgk0GOPGa2Ct5_5sKdwIHtCAKIBGzsMPuJU5fw,3371
|
844
844
|
tools/cli_commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
845
|
-
tools/cli_commands/erv2.py,sha256=
|
845
|
+
tools/cli_commands/erv2.py,sha256=fByRn6D_SBi5YptjAqR49yFedsjyAHBQBaIbsdO1QKQ,16412
|
846
846
|
tools/cli_commands/gpg_encrypt.py,sha256=x02JOMn834z89YSNvr5B-oJky7rR1C0begCkPh45eHk,4958
|
847
847
|
tools/cli_commands/systems_and_tools.py,sha256=EMHOF1AtUDaoSk0bbjl6oUKYAz4rTZjIBaF-6E6GspM,16816
|
848
848
|
tools/cli_commands/cost_report/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -880,8 +880,8 @@ tools/test/test_qontract_cli.py,sha256=iuzKbQ6ahinvjoQmQLBrG4shey0z-1rB6qCgS8T6d
|
|
880
880
|
tools/test/test_saas_promotion_state.py,sha256=dy4kkSSAQ7bC0Xp2CociETGN-2aABEfL6FU5D9Jl00Y,6056
|
881
881
|
tools/test/test_sd_app_sre_alert_report.py,sha256=v363r9zM7__0kR5K6mvJoGFcM9BvE33fWAayrqkpojA,2116
|
882
882
|
tools/test/test_sre_checkpoints.py,sha256=SKqPPTl9ua0RFdSSofnoQX-JZE6dFLO3LRhfQzqtfh8,2607
|
883
|
-
qontract_reconcile-0.10.
|
884
|
-
qontract_reconcile-0.10.
|
885
|
-
qontract_reconcile-0.10.
|
886
|
-
qontract_reconcile-0.10.
|
887
|
-
qontract_reconcile-0.10.
|
883
|
+
qontract_reconcile-0.10.1rc1157.dist-info/METADATA,sha256=xO5D-srjk2bIJiQ0wi7YxeO45fY7JKWzpBl4ktpNok8,2213
|
884
|
+
qontract_reconcile-0.10.1rc1157.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
|
885
|
+
qontract_reconcile-0.10.1rc1157.dist-info/entry_points.txt,sha256=GKQqCl2j2X1BJQ69een6rHcR26PmnxnONLNOQB-nRjY,491
|
886
|
+
qontract_reconcile-0.10.1rc1157.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
|
887
|
+
qontract_reconcile-0.10.1rc1157.dist-info/RECORD,,
|
@@ -247,7 +247,7 @@ class ExternalResourcesManager:
|
|
247
247
|
input=self._serialize_resource_input(resource),
|
248
248
|
action=Action.APPLY,
|
249
249
|
module_configuration=ExternalResourceModuleConfiguration.resolve_configuration(
|
250
|
-
module, spec
|
250
|
+
module, spec, self.settings
|
251
251
|
),
|
252
252
|
)
|
253
253
|
r.add(reconciliation)
|
@@ -29,6 +29,9 @@ from reconcile.gql_definitions.external_resources.external_resources_namespaces
|
|
29
29
|
NamespaceTerraformResourceRDSV1,
|
30
30
|
NamespaceV1,
|
31
31
|
)
|
32
|
+
from reconcile.gql_definitions.external_resources.external_resources_settings import (
|
33
|
+
ExternalResourcesSettingsV1,
|
34
|
+
)
|
32
35
|
from reconcile.utils.exceptions import FetchResourceError
|
33
36
|
from reconcile.utils.external_resource_spec import (
|
34
37
|
ExternalResourceSpec,
|
@@ -199,14 +202,22 @@ class ExternalResourceModuleConfiguration(BaseModel, frozen=True):
|
|
199
202
|
version: str = ""
|
200
203
|
reconcile_drift_interval_minutes: int = -1000
|
201
204
|
reconcile_timeout_minutes: int = -1000
|
205
|
+
outputs_secret_image: str = ""
|
206
|
+
outputs_secret_version: str = ""
|
202
207
|
|
203
208
|
@property
|
204
209
|
def image_version(self) -> str:
|
205
210
|
return f"{self.image}:{self.version}"
|
206
211
|
|
212
|
+
@property
|
213
|
+
def outputs_secret_image_version(self) -> str:
|
214
|
+
return f"{self.outputs_secret_image}:{self.outputs_secret_version}"
|
215
|
+
|
207
216
|
@staticmethod
|
208
217
|
def resolve_configuration(
|
209
|
-
module: ExternalResourcesModuleV1,
|
218
|
+
module: ExternalResourcesModuleV1,
|
219
|
+
spec: ExternalResourceSpec,
|
220
|
+
settings: ExternalResourcesSettingsV1,
|
210
221
|
) -> "ExternalResourceModuleConfiguration":
|
211
222
|
module_overrides = spec.metadata.get(
|
212
223
|
"module_overrides"
|
@@ -215,6 +226,8 @@ class ExternalResourceModuleConfiguration(BaseModel, frozen=True):
|
|
215
226
|
image=None,
|
216
227
|
version=None,
|
217
228
|
reconcile_timeout_minutes=None,
|
229
|
+
outputs_secret_image=None,
|
230
|
+
outputs_secret_version=None,
|
218
231
|
)
|
219
232
|
|
220
233
|
return ExternalResourceModuleConfiguration(
|
@@ -223,6 +236,12 @@ class ExternalResourceModuleConfiguration(BaseModel, frozen=True):
|
|
223
236
|
reconcile_drift_interval_minutes=module.reconcile_drift_interval_minutes,
|
224
237
|
reconcile_timeout_minutes=module_overrides.reconcile_timeout_minutes
|
225
238
|
or module.reconcile_timeout_minutes,
|
239
|
+
outputs_secret_image=module_overrides.outputs_secret_image
|
240
|
+
or module.outputs_secret_image
|
241
|
+
or settings.outputs_secret_image,
|
242
|
+
outputs_secret_version=module_overrides.outputs_secret_version
|
243
|
+
or module.outputs_secret_version
|
244
|
+
or settings.outputs_secret_version,
|
226
245
|
)
|
227
246
|
|
228
247
|
|
@@ -130,8 +130,7 @@ class ReconciliationK8sJob(K8sJob, BaseModel, frozen=True):
|
|
130
130
|
containers=[
|
131
131
|
V1Container(
|
132
132
|
name="outputs",
|
133
|
-
image=
|
134
|
-
command=["/bin/bash", "/app/entrypoint.sh"],
|
133
|
+
image=self.reconciliation.module_configuration.outputs_secret_image_version,
|
135
134
|
image_pull_policy="Always",
|
136
135
|
env=[
|
137
136
|
V1EnvVar(
|
@@ -29,6 +29,8 @@ query ExternalResourcesModules {
|
|
29
29
|
reconcile_drift_interval_minutes
|
30
30
|
reconcile_timeout_minutes
|
31
31
|
outputs_secret_sync
|
32
|
+
outputs_secret_image
|
33
|
+
outputs_secret_version
|
32
34
|
}
|
33
35
|
}
|
34
36
|
"""
|
@@ -49,6 +51,8 @@ class ExternalResourcesModuleV1(ConfiguredBaseModel):
|
|
49
51
|
reconcile_drift_interval_minutes: int = Field(..., alias="reconcile_drift_interval_minutes")
|
50
52
|
reconcile_timeout_minutes: int = Field(..., alias="reconcile_timeout_minutes")
|
51
53
|
outputs_secret_sync: bool = Field(..., alias="outputs_secret_sync")
|
54
|
+
outputs_secret_image: Optional[str] = Field(..., alias="outputs_secret_image")
|
55
|
+
outputs_secret_version: Optional[str] = Field(..., alias="outputs_secret_version")
|
52
56
|
|
53
57
|
|
54
58
|
class ExternalResourcesModulesQueryData(ConfiguredBaseModel):
|
@@ -115,6 +115,8 @@ query ExternalResourcesNamespaces {
|
|
115
115
|
image
|
116
116
|
version
|
117
117
|
reconcile_timeout_minutes
|
118
|
+
outputs_secret_image
|
119
|
+
outputs_secret_version
|
118
120
|
}
|
119
121
|
}
|
120
122
|
... on NamespaceTerraformResourceS3_v1 {
|
@@ -151,6 +153,8 @@ query ExternalResourcesNamespaces {
|
|
151
153
|
image
|
152
154
|
version
|
153
155
|
reconcile_timeout_minutes
|
156
|
+
outputs_secret_image
|
157
|
+
outputs_secret_version
|
154
158
|
}
|
155
159
|
}
|
156
160
|
... on NamespaceTerraformResourceServiceAccount_v1 {
|
@@ -482,6 +486,8 @@ query ExternalResourcesNamespaces {
|
|
482
486
|
image
|
483
487
|
version
|
484
488
|
reconcile_timeout_minutes
|
489
|
+
outputs_secret_image
|
490
|
+
outputs_secret_version
|
485
491
|
}
|
486
492
|
}
|
487
493
|
}
|
@@ -564,6 +570,8 @@ class ExternalResourcesModuleOverridesV1(ConfiguredBaseModel):
|
|
564
570
|
image: Optional[str] = Field(..., alias="image")
|
565
571
|
version: Optional[str] = Field(..., alias="version")
|
566
572
|
reconcile_timeout_minutes: Optional[int] = Field(..., alias="reconcile_timeout_minutes")
|
573
|
+
outputs_secret_image: Optional[str] = Field(..., alias="outputs_secret_image")
|
574
|
+
outputs_secret_version: Optional[str] = Field(..., alias="outputs_secret_version")
|
567
575
|
|
568
576
|
|
569
577
|
class NamespaceTerraformResourceRDSV1(NamespaceTerraformResourceAWSV1):
|
@@ -615,6 +623,8 @@ class NamespaceTerraformResourceElastiCacheV1_ExternalResourcesModuleOverridesV1
|
|
615
623
|
image: Optional[str] = Field(..., alias="image")
|
616
624
|
version: Optional[str] = Field(..., alias="version")
|
617
625
|
reconcile_timeout_minutes: Optional[int] = Field(..., alias="reconcile_timeout_minutes")
|
626
|
+
outputs_secret_image: Optional[str] = Field(..., alias="outputs_secret_image")
|
627
|
+
outputs_secret_version: Optional[str] = Field(..., alias="outputs_secret_version")
|
618
628
|
|
619
629
|
|
620
630
|
class NamespaceTerraformResourceElastiCacheV1(NamespaceTerraformResourceAWSV1):
|
@@ -1016,6 +1026,8 @@ class NamespaceTerraformResourceMskV1_ExternalResourcesModuleOverridesV1(Configu
|
|
1016
1026
|
image: Optional[str] = Field(..., alias="image")
|
1017
1027
|
version: Optional[str] = Field(..., alias="version")
|
1018
1028
|
reconcile_timeout_minutes: Optional[int] = Field(..., alias="reconcile_timeout_minutes")
|
1029
|
+
outputs_secret_image: Optional[str] = Field(..., alias="outputs_secret_image")
|
1030
|
+
outputs_secret_version: Optional[str] = Field(..., alias="outputs_secret_version")
|
1019
1031
|
|
1020
1032
|
|
1021
1033
|
class NamespaceTerraformResourceMskV1(NamespaceTerraformResourceAWSV1):
|
@@ -36,6 +36,8 @@ query ExternalResourcesSettings {
|
|
36
36
|
tf_state_region
|
37
37
|
tf_state_dynamodb_table
|
38
38
|
vault_secrets_path
|
39
|
+
outputs_secret_image
|
40
|
+
outputs_secret_version
|
39
41
|
}
|
40
42
|
}
|
41
43
|
"""
|
@@ -69,6 +71,8 @@ class ExternalResourcesSettingsV1(ConfiguredBaseModel):
|
|
69
71
|
tf_state_region: Optional[str] = Field(..., alias="tf_state_region")
|
70
72
|
tf_state_dynamodb_table: Optional[str] = Field(..., alias="tf_state_dynamodb_table")
|
71
73
|
vault_secrets_path: str = Field(..., alias="vault_secrets_path")
|
74
|
+
outputs_secret_image: str = Field(..., alias="outputs_secret_image")
|
75
|
+
outputs_secret_version: str = Field(..., alias="outputs_secret_version")
|
72
76
|
|
73
77
|
|
74
78
|
class ExternalResourcesSettingsQueryData(ConfiguredBaseModel):
|
tools/cli_commands/erv2.py
CHANGED
@@ -122,7 +122,7 @@ class Erv2Cli:
|
|
122
122
|
f.validate_external_resource(self._resource)
|
123
123
|
self._module_configuration = (
|
124
124
|
ExternalResourceModuleConfiguration.resolve_configuration(
|
125
|
-
m_inventory.get_from_spec(spec), spec
|
125
|
+
m_inventory.get_from_spec(spec), spec, self._er_settings
|
126
126
|
)
|
127
127
|
)
|
128
128
|
|
{qontract_reconcile-0.10.1rc1156.dist-info → qontract_reconcile-0.10.1rc1157.dist-info}/WHEEL
RENAMED
File without changes
|
File without changes
|
File without changes
|