qontract-reconcile 0.10.2.dev205__py3-none-any.whl → 0.10.2.dev207__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.dev205.dist-info → qontract_reconcile-0.10.2.dev207.dist-info}/METADATA +1 -1
- {qontract_reconcile-0.10.2.dev205.dist-info → qontract_reconcile-0.10.2.dev207.dist-info}/RECORD +10 -10
- reconcile/glitchtip_project_alerts/integration.py +1 -3
- reconcile/gql_definitions/glitchtip_project_alerts/glitchtip_project.py +2 -2
- reconcile/gql_definitions/introspection.json +12 -4
- reconcile/gql_definitions/jira_permissions_validator/jira_boards_for_permissions_validator.py +2 -2
- reconcile/jira_permissions_validator.py +7 -7
- reconcile/vault_replication.py +6 -1
- {qontract_reconcile-0.10.2.dev205.dist-info → qontract_reconcile-0.10.2.dev207.dist-info}/WHEEL +0 -0
- {qontract_reconcile-0.10.2.dev205.dist-info → qontract_reconcile-0.10.2.dev207.dist-info}/entry_points.txt +0 -0
{qontract_reconcile-0.10.2.dev205.dist-info → qontract_reconcile-0.10.2.dev207.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.dev207
|
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.dev205.dist-info → qontract_reconcile-0.10.2.dev207.dist-info}/RECORD
RENAMED
@@ -45,7 +45,7 @@ reconcile/jenkins_roles.py,sha256=HadmoNhgOoKMFZJmCe_Gdg0_a9k_1MuOXidtr801nUU,45
|
|
45
45
|
reconcile/jenkins_webhooks.py,sha256=dzMT1ywXjeAo5sHj-ittW06Ed3beAUPjnc_oCAtD-Rg,2150
|
46
46
|
reconcile/jenkins_webhooks_cleaner.py,sha256=JsN_NVPfZJwv1JtSzZXDIHUqGiefL-DRffFnDGau9aY,1539
|
47
47
|
reconcile/jenkins_worker_fleets.py,sha256=L2wEXpd4xuEHrXGss4iH788nG8UlLSYduZe1EY2IVw4,5377
|
48
|
-
reconcile/jira_permissions_validator.py,sha256=
|
48
|
+
reconcile/jira_permissions_validator.py,sha256=nVHZg7kNn04Q-ryNM20wthMrhXos28g3O9b0ahzxAKc,14690
|
49
49
|
reconcile/jira_watcher.py,sha256=L_UL2MKm2SoIGNsCLThm28pnqCkoFc154JWsD6bURug,3593
|
50
50
|
reconcile/ldap_users.py,sha256=oP1CAxmgSi3zDJ3vKTPySjap6WmEX1U469FmFrov5l4,4599
|
51
51
|
reconcile/mr_client_gateway.py,sha256=WhjMd-sIXDFCV8-rt8CEjurJ5OYB1pOD0K3o0tZRXQg,1885
|
@@ -118,7 +118,7 @@ reconcile/terraform_resources.py,sha256=iufjMJs_aSEvmh7Cg11beCxKmV8nrOLOpEtiTryP
|
|
118
118
|
reconcile/terraform_tgw_attachments.py,sha256=hn_IO-0W_QoDufW6aZRqcruZ7MPGjaLuc0PZ-FApJQA,18810
|
119
119
|
reconcile/terraform_users.py,sha256=rt62m9Yb0mkyhza07t_c6vlrFWF-OeJGJ9oGaCVK72M,10234
|
120
120
|
reconcile/terraform_vpc_peerings.py,sha256=0N7uxG6Afe2oNrUyw-apjV-fX2P9TbI5A3xjXO_83eA,27658
|
121
|
-
reconcile/vault_replication.py,sha256=
|
121
|
+
reconcile/vault_replication.py,sha256=2ARkleRg7WE-tNuTadyge8ljZv3wk4gsJFkKEHHksXM,17627
|
122
122
|
reconcile/vpc_peerings_validator.py,sha256=aESqrhm1tpkc2iqSL1UV5to_HjNgjRSffD0crb_q49g,7113
|
123
123
|
reconcile/aus/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
124
124
|
reconcile/aus/advanced_upgrade_service.py,sha256=lt684trHbKvVDLwwuNVz3Wu_MnytFSbS_7MZTIITh9k,23969
|
@@ -223,11 +223,11 @@ reconcile/glitchtip/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
|
|
223
223
|
reconcile/glitchtip/integration.py,sha256=HWc0cz3vNpZg8T5nVMPyD5QnlgsUHwLpJsGRbr_hvIM,7937
|
224
224
|
reconcile/glitchtip/reconciler.py,sha256=nUvDv7qG1ly0cA16MmlL6NV71yl1mJYLT2mui7lmi0Y,12402
|
225
225
|
reconcile/glitchtip_project_alerts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
226
|
-
reconcile/glitchtip_project_alerts/integration.py,sha256=
|
226
|
+
reconcile/glitchtip_project_alerts/integration.py,sha256=d3PMy-mQSbSZdIGAVaZCA2UhrK9LPYlnLtUluLlXej4,13669
|
227
227
|
reconcile/glitchtip_project_dsn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
228
228
|
reconcile/glitchtip_project_dsn/integration.py,sha256=2iugub-kHYkHNK33n0v9_TeWonuxCPah_VkoTPvaajE,8077
|
229
229
|
reconcile/gql_definitions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
230
|
-
reconcile/gql_definitions/introspection.json,sha256=
|
230
|
+
reconcile/gql_definitions/introspection.json,sha256=Oo__Q1ENvfRSNRcJbojqqWyICHq5mSE_ebhJGqtKCsw,2335890
|
231
231
|
reconcile/gql_definitions/acs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
232
232
|
reconcile/gql_definitions/acs/acs_instances.py,sha256=L91WW9LbhJbBSrECqShQpFtjoBOsmNIYLRpMbx1io5o,2181
|
233
233
|
reconcile/gql_definitions/acs/acs_policies.py,sha256=Ygpfl2-VkYLSlJvHgp_dJBfb66K_Rwfdfpsa18w1v1s,4338
|
@@ -370,7 +370,7 @@ reconcile/gql_definitions/glitchtip/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQ
|
|
370
370
|
reconcile/gql_definitions/glitchtip/glitchtip_instance.py,sha256=QUfLhRkdE_-SorWgLBB8LHFD6kihbFwEoVByCLax3yM,2781
|
371
371
|
reconcile/gql_definitions/glitchtip/glitchtip_project.py,sha256=3hS6ZbWr-KMWeVHYbP3HAK7uHd2e6KsXOr87gba7Uqc,6578
|
372
372
|
reconcile/gql_definitions/glitchtip_project_alerts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
373
|
-
reconcile/gql_definitions/glitchtip_project_alerts/glitchtip_project.py,sha256=
|
373
|
+
reconcile/gql_definitions/glitchtip_project_alerts/glitchtip_project.py,sha256=AlnJ1AO4QqF9sU6YxUfgCqBHgcIJmb2bVuq7U_QU3wU,5206
|
374
374
|
reconcile/gql_definitions/integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
375
375
|
reconcile/gql_definitions/integrations/integrations.py,sha256=IIKNzpgUCe5-lvdhoA4VFiqvtjtjzTndiR5-jKSzgrQ,11667
|
376
376
|
reconcile/gql_definitions/jenkins_configs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -379,7 +379,7 @@ reconcile/gql_definitions/jenkins_configs/jenkins_instances.py,sha256=b3gYVzQavx
|
|
379
379
|
reconcile/gql_definitions/jira/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
380
380
|
reconcile/gql_definitions/jira/jira_servers.py,sha256=N7mvIdqoXT-90abkiaC2bxz2ZjW3d826qVV5OL8_TAM,2223
|
381
381
|
reconcile/gql_definitions/jira_permissions_validator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
382
|
-
reconcile/gql_definitions/jira_permissions_validator/jira_boards_for_permissions_validator.py,sha256=
|
382
|
+
reconcile/gql_definitions/jira_permissions_validator/jira_boards_for_permissions_validator.py,sha256=54WiktlJHGOPheKDCMU_Szn1jQeYeI7vCEd_8OOQ-x8,4043
|
383
383
|
reconcile/gql_definitions/jumphosts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
384
384
|
reconcile/gql_definitions/jumphosts/jumphosts.py,sha256=gN595lx7K1XsB2AfxDQ911TBVBbCoxibVeujnsGue_Q,2371
|
385
385
|
reconcile/gql_definitions/ldap_groups/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -815,7 +815,7 @@ tools/saas_promotion_state/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
|
|
815
815
|
tools/saas_promotion_state/saas_promotion_state.py,sha256=UfwwRLS5Ya4_Nh1w5n1dvoYtchQvYE9yj1VANt2IKqI,3925
|
816
816
|
tools/sre_checkpoints/__init__.py,sha256=CDaDaywJnmRCLyl_NCcvxi-Zc0hTi_3OdwKiFOyS39I,145
|
817
817
|
tools/sre_checkpoints/util.py,sha256=zEDbGr18ZeHNQwW8pUsr2JRjuXIPz--WAGJxZo9sv_Y,894
|
818
|
-
qontract_reconcile-0.10.2.
|
819
|
-
qontract_reconcile-0.10.2.
|
820
|
-
qontract_reconcile-0.10.2.
|
821
|
-
qontract_reconcile-0.10.2.
|
818
|
+
qontract_reconcile-0.10.2.dev207.dist-info/METADATA,sha256=UdoDHkjPDfwtakZqafNuWU01FUq_fUTiiWiCAbpI5P0,24555
|
819
|
+
qontract_reconcile-0.10.2.dev207.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
820
|
+
qontract_reconcile-0.10.2.dev207.dist-info/entry_points.txt,sha256=5i9l54La3vQrDLAdwDKQWC0iG4sV9RRfOb1BpvzOWLc,698
|
821
|
+
qontract_reconcile-0.10.2.dev207.dist-info/RECORD,,
|
@@ -160,9 +160,7 @@ class GlitchtipProjectAlertsIntegration(
|
|
160
160
|
continue
|
161
161
|
params = {
|
162
162
|
"labels": alert_labels + (channels.jira_labels or []),
|
163
|
-
"components":
|
164
|
-
if channels.jira_component
|
165
|
-
else [],
|
163
|
+
"components": channels.jira_components or [],
|
166
164
|
} | token_params
|
167
165
|
if board.issue_type:
|
168
166
|
params["issue_type"] = board.issue_type
|
@@ -68,7 +68,7 @@ query GlitchtipProjectsWithAlerts {
|
|
68
68
|
integrations
|
69
69
|
}
|
70
70
|
}
|
71
|
-
|
71
|
+
jiraComponents
|
72
72
|
jiraLabels
|
73
73
|
}
|
74
74
|
}
|
@@ -127,7 +127,7 @@ class JiraBoardV1(ConfiguredBaseModel):
|
|
127
127
|
|
128
128
|
class AppEscalationPolicyChannelsV1(ConfiguredBaseModel):
|
129
129
|
jira_board: list[JiraBoardV1] = Field(..., alias="jiraBoard")
|
130
|
-
|
130
|
+
jira_components: Optional[list[str]] = Field(..., alias="jiraComponents")
|
131
131
|
jira_labels: Optional[list[str]] = Field(..., alias="jiraLabels")
|
132
132
|
|
133
133
|
|
@@ -18360,13 +18360,21 @@
|
|
18360
18360
|
"deprecationReason": null
|
18361
18361
|
},
|
18362
18362
|
{
|
18363
|
-
"name": "
|
18363
|
+
"name": "jiraComponents",
|
18364
18364
|
"description": null,
|
18365
18365
|
"args": [],
|
18366
18366
|
"type": {
|
18367
|
-
"kind": "
|
18368
|
-
"name":
|
18369
|
-
"ofType":
|
18367
|
+
"kind": "LIST",
|
18368
|
+
"name": null,
|
18369
|
+
"ofType": {
|
18370
|
+
"kind": "NON_NULL",
|
18371
|
+
"name": null,
|
18372
|
+
"ofType": {
|
18373
|
+
"kind": "SCALAR",
|
18374
|
+
"name": "String",
|
18375
|
+
"ofType": null
|
18376
|
+
}
|
18377
|
+
}
|
18370
18378
|
},
|
18371
18379
|
"isDeprecated": false,
|
18372
18380
|
"deprecationReason": null
|
reconcile/gql_definitions/jira_permissions_validator/jira_boards_for_permissions_validator.py
CHANGED
@@ -54,7 +54,7 @@ query JiraBoardsForPermissionValidation {
|
|
54
54
|
escalationPolicies {
|
55
55
|
name
|
56
56
|
channels {
|
57
|
-
|
57
|
+
jiraComponents
|
58
58
|
}
|
59
59
|
}
|
60
60
|
disable {
|
@@ -91,7 +91,7 @@ class JiraSeverityPriorityMappingsV1(ConfiguredBaseModel):
|
|
91
91
|
|
92
92
|
|
93
93
|
class AppEscalationPolicyChannelsV1(ConfiguredBaseModel):
|
94
|
-
|
94
|
+
jira_components: Optional[list[str]] = Field(..., alias="jiraComponents")
|
95
95
|
|
96
96
|
|
97
97
|
class AppEscalationPolicyV1(ConfiguredBaseModel):
|
@@ -105,13 +105,13 @@ def board_is_valid(
|
|
105
105
|
|
106
106
|
components = jira.components()
|
107
107
|
for escalation_policy in board.escalation_policies or []:
|
108
|
-
jira_component
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
108
|
+
for jira_component in escalation_policy.channels.jira_components or []:
|
109
|
+
if jira_component not in components:
|
110
|
+
logging.error(
|
111
|
+
f"[{board.name}] escalation policy '{escalation_policy.name}' references a non existing Jira component "
|
112
|
+
f"'{jira_component}'. Valid components: {components}"
|
113
|
+
)
|
114
|
+
error |= ValidationError.INVALID_COMPONENT
|
115
115
|
|
116
116
|
issue_type = board.issue_type or default_issue_type
|
117
117
|
project_issue_type = jira.get_issue_type(issue_type)
|
reconcile/vault_replication.py
CHANGED
@@ -122,7 +122,12 @@ def copy_vault_secret(
|
|
122
122
|
except SecretAccessForbidden:
|
123
123
|
# Raise exception if we can't read the secret from the source vault.
|
124
124
|
# This is likely to be related to the approle permissions.
|
125
|
-
|
125
|
+
logging.error([
|
126
|
+
"replicate_vault_secret",
|
127
|
+
"Cannot read secret from source vault",
|
128
|
+
path,
|
129
|
+
])
|
130
|
+
raise
|
126
131
|
except SecretNotFound:
|
127
132
|
# If the secret is present in vault, but there are no versions of it
|
128
133
|
# we want to be aware of it, but not cause a failure of the complete
|
{qontract_reconcile-0.10.2.dev205.dist-info → qontract_reconcile-0.10.2.dev207.dist-info}/WHEEL
RENAMED
File without changes
|
File without changes
|