qontract-reconcile 0.10.1rc909__py3-none-any.whl → 0.10.1rc911__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.1rc909.dist-info → qontract_reconcile-0.10.1rc911.dist-info}/METADATA +1 -1
- {qontract_reconcile-0.10.1rc909.dist-info → qontract_reconcile-0.10.1rc911.dist-info}/RECORD +10 -10
- reconcile/change_owners/approver.py +2 -1
- reconcile/change_owners/self_service_roles.py +1 -0
- reconcile/gql_definitions/change_owners/queries/self_service_roles.py +2 -0
- reconcile/gql_definitions/slack_usergroups/permissions.py +1 -1
- reconcile/utils/ocm/syncsets.py +8 -1
- {qontract_reconcile-0.10.1rc909.dist-info → qontract_reconcile-0.10.1rc911.dist-info}/WHEEL +0 -0
- {qontract_reconcile-0.10.1rc909.dist-info → qontract_reconcile-0.10.1rc911.dist-info}/entry_points.txt +0 -0
- {qontract_reconcile-0.10.1rc909.dist-info → qontract_reconcile-0.10.1rc911.dist-info}/top_level.txt +0 -0
{qontract_reconcile-0.10.1rc909.dist-info → qontract_reconcile-0.10.1rc911.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.1rc911
|
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.1rc909.dist-info → qontract_reconcile-0.10.1rc911.dist-info}/RECORD
RENAMED
@@ -158,7 +158,7 @@ reconcile/aws_version_sync/merge_request_manager/__init__.py,sha256=47DEQpj8HBSa
|
|
158
158
|
reconcile/aws_version_sync/merge_request_manager/merge_request.py,sha256=2FbqLLdqxycWNvX1eNbwMjWSVBb7q0p-8t5Db0m7b4Q,4842
|
159
159
|
reconcile/aws_version_sync/merge_request_manager/merge_request_manager.py,sha256=3bRpw7DluiYw3daRg0yAyCSGYf39Ru0d8lUjoepDSpU,5525
|
160
160
|
reconcile/change_owners/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
161
|
-
reconcile/change_owners/approver.py,sha256=
|
161
|
+
reconcile/change_owners/approver.py,sha256=Z3_11vnK2WNOxjEEXVDh0224-_-qbt9d6mBeVE-7fsc,2259
|
162
162
|
reconcile/change_owners/bundle.py,sha256=ZIlXRo6Z2raeWSCUqYsexBdol-q-r9kWJs5O_YPaEYk,5273
|
163
163
|
reconcile/change_owners/change_owners.py,sha256=0HRJhDm0oW3uYJFgzynqA1gA0lbhalhSkmWOiQmr-NM,17062
|
164
164
|
reconcile/change_owners/change_types.py,sha256=PMDEWOAbRKjES3WDPGe_8bcrZgK3efLdVF22WvkUL3A,31938
|
@@ -166,7 +166,7 @@ reconcile/change_owners/changes.py,sha256=CH38-hyOfbH6xFYWidw_LAniyPisKq9nGRQhUa
|
|
166
166
|
reconcile/change_owners/decision.py,sha256=iUJcIc_N_RqXIAY8D10RZqPMC2OinsHTMcqI6f6uylE,7606
|
167
167
|
reconcile/change_owners/diff.py,sha256=0vyu29xCL24ZhUa7hqBni0NaxoCYRXLwvA-h8V23YQ4,9009
|
168
168
|
reconcile/change_owners/implicit_ownership.py,sha256=6BehZvx4IjrphmOt_LLLk9_02Fl5BY5jd00Wuz_PBZk,4234
|
169
|
-
reconcile/change_owners/self_service_roles.py,sha256=
|
169
|
+
reconcile/change_owners/self_service_roles.py,sha256=wxCxtROuQ9_0KjLke82ENRzNfVLh93gnXlPRjXahgfA,9683
|
170
170
|
reconcile/change_owners/tester.py,sha256=yY15ABnWx_3g9QeeR38-cQAaql0aq7JIxBv_7KtC91U,8955
|
171
171
|
reconcile/cluster_auth_rhidp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
172
172
|
reconcile/cluster_auth_rhidp/integration.py,sha256=KIAiP_XFjsOA2OE8oFJa8lD0T1a7EwOmhct2xbj7tr8,9560
|
@@ -227,7 +227,7 @@ reconcile/gql_definitions/aws_version_sync/namespaces.py,sha256=eBLyXlSjWdmEE-jY
|
|
227
227
|
reconcile/gql_definitions/change_owners/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
228
228
|
reconcile/gql_definitions/change_owners/queries/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
229
229
|
reconcile/gql_definitions/change_owners/queries/change_types.py,sha256=9S2YRNnSAvutjzuubZIQQe35yd8V2rGKvWSUI6yl11Q,5017
|
230
|
-
reconcile/gql_definitions/change_owners/queries/self_service_roles.py,sha256
|
230
|
+
reconcile/gql_definitions/change_owners/queries/self_service_roles.py,sha256=-7f7JO7_iYTQXAgPVwTDpgGi8NG8YR8cGv-wcC-KPVU,4699
|
231
231
|
reconcile/gql_definitions/cluster_auth_rhidp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
232
232
|
reconcile/gql_definitions/cluster_auth_rhidp/clusters.py,sha256=Pp9P3Q30Be3szcVqOEOtPfYUNiGTq1xc5Juz-ApMMw0,3283
|
233
233
|
reconcile/gql_definitions/cna/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -357,7 +357,7 @@ reconcile/gql_definitions/skupper_network/site_controller_template.py,sha256=MFJ
|
|
357
357
|
reconcile/gql_definitions/skupper_network/skupper_networks.py,sha256=Gfk1YshRj8WSaXgoImBbeXOZz0KXUTKhtf1jiWYEHxY,6037
|
358
358
|
reconcile/gql_definitions/slack_usergroups/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
359
359
|
reconcile/gql_definitions/slack_usergroups/clusters.py,sha256=HUTPLna1jxCSyDbxG-LNj9QQUl6smiXOsuCuFTItLzk,2119
|
360
|
-
reconcile/gql_definitions/slack_usergroups/permissions.py,sha256=
|
360
|
+
reconcile/gql_definitions/slack_usergroups/permissions.py,sha256=BMZDBwaTyyk5t57Z2MhPzVvCgl5GMgGogK43ud8CO1Y,5449
|
361
361
|
reconcile/gql_definitions/slack_usergroups/users.py,sha256=pJtsW8DNUgjSk_XpsuDxq5Nwzrb2QgtWVvCjnGBshb0,2873
|
362
362
|
reconcile/gql_definitions/slo_documents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
363
363
|
reconcile/gql_definitions/slo_documents/slo_documents.py,sha256=pOrm9NXAonlo6Lxq6NkD3mHkZ53ZeBnZOZMkDvOEwds,3746
|
@@ -778,7 +778,7 @@ reconcile/utils/ocm/service_log.py,sha256=RG1f0MMn6joKaRCAm2xveSJCavdOPP1BVo9FXe
|
|
778
778
|
reconcile/utils/ocm/sre_capability_labels.py,sha256=nqh0imrYczNeeeC7ZNX3pEwuAIVkKLTKZf0YHSPZYpE,1537
|
779
779
|
reconcile/utils/ocm/status_board.py,sha256=fOuyzkykxU9Rr7zhW5VaY0Vkn8Ur-GxvElzb8No-DZg,2283
|
780
780
|
reconcile/utils/ocm/subscriptions.py,sha256=6_blQPcgZYyy19WCFjYiolVk3O1jyNlK1yMqfkwK5sI,2536
|
781
|
-
reconcile/utils/ocm/syncsets.py,sha256=
|
781
|
+
reconcile/utils/ocm/syncsets.py,sha256=9IQm1l5BodOVZa2OFbQmow3afmh4nXe5pn-CCJ5LxTI,1169
|
782
782
|
reconcile/utils/ocm/upgrades.py,sha256=VSpW_B3ux7XZjnxV7klW2OjPYW8Wh0rN7snDuiN0q2c,4861
|
783
783
|
reconcile/utils/rosa/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
784
784
|
reconcile/utils/rosa/rosa_cli.py,sha256=Wj57nmeXMeBILRXTk27xpQcaU5uQR8JZeEFySP09NFg,11338
|
@@ -844,8 +844,8 @@ tools/test/test_qontract_cli.py,sha256=_D61RFGAN5x44CY1tYbouhlGXXABwYfxKSWSQx3Jr
|
|
844
844
|
tools/test/test_saas_promotion_state.py,sha256=dy4kkSSAQ7bC0Xp2CociETGN-2aABEfL6FU5D9Jl00Y,6056
|
845
845
|
tools/test/test_sd_app_sre_alert_report.py,sha256=v363r9zM7__0kR5K6mvJoGFcM9BvE33fWAayrqkpojA,2116
|
846
846
|
tools/test/test_sre_checkpoints.py,sha256=SKqPPTl9ua0RFdSSofnoQX-JZE6dFLO3LRhfQzqtfh8,2607
|
847
|
-
qontract_reconcile-0.10.
|
848
|
-
qontract_reconcile-0.10.
|
849
|
-
qontract_reconcile-0.10.
|
850
|
-
qontract_reconcile-0.10.
|
851
|
-
qontract_reconcile-0.10.
|
847
|
+
qontract_reconcile-0.10.1rc911.dist-info/METADATA,sha256=zZqEzan0ir-yqlWaKhNwX7vcukqD6Q2flNVLCZtUjKA,2273
|
848
|
+
qontract_reconcile-0.10.1rc911.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
849
|
+
qontract_reconcile-0.10.1rc911.dist-info/entry_points.txt,sha256=GKQqCl2j2X1BJQ69een6rHcR26PmnxnONLNOQB-nRjY,491
|
850
|
+
qontract_reconcile-0.10.1rc911.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
|
851
|
+
qontract_reconcile-0.10.1rc911.dist-info/RECORD,,
|
@@ -67,9 +67,10 @@ class ApproverReachability(Protocol):
|
|
67
67
|
class SlackGroupApproverReachability:
|
68
68
|
slack_group: str
|
69
69
|
workspace: str
|
70
|
+
channel: str
|
70
71
|
|
71
72
|
def render_for_mr_report(self) -> str:
|
72
|
-
return f"Slack group {self.slack_group}
|
73
|
+
return f"Slack group @{self.slack_group} in channel #{self.channel} (workspace {self.workspace})"
|
73
74
|
|
74
75
|
|
75
76
|
@dataclass
|
@@ -238,6 +238,7 @@ def approver_reachability_from_role(role: RoleV1) -> list[ApproverReachability]:
|
|
238
238
|
SlackGroupApproverReachability(
|
239
239
|
slack_group=permission.handle,
|
240
240
|
workspace=permission.workspace.name,
|
241
|
+
channel=permission.channels[0],
|
241
242
|
)
|
242
243
|
)
|
243
244
|
elif isinstance(permission, PermissionGitlabGroupMembershipV1):
|
@@ -78,6 +78,7 @@ query SelfServiceRolesQuery($name: String) {
|
|
78
78
|
workspace {
|
79
79
|
name
|
80
80
|
}
|
81
|
+
channels
|
81
82
|
}
|
82
83
|
... on PermissionGitlabGroupMembership_v1 {
|
83
84
|
group
|
@@ -135,6 +136,7 @@ class SlackWorkspaceV1(ConfiguredBaseModel):
|
|
135
136
|
class PermissionSlackUsergroupV1(PermissionV1):
|
136
137
|
handle: str = Field(..., alias="handle")
|
137
138
|
workspace: SlackWorkspaceV1 = Field(..., alias="workspace")
|
139
|
+
channels: list[str] = Field(..., alias="channels")
|
138
140
|
|
139
141
|
|
140
142
|
class PermissionGitlabGroupMembershipV1(PermissionV1):
|
@@ -161,7 +161,7 @@ class SlackWorkspaceV1(ConfiguredBaseModel):
|
|
161
161
|
|
162
162
|
class PermissionSlackUsergroupV1(PermissionV1):
|
163
163
|
name: str = Field(..., alias="name")
|
164
|
-
channels:
|
164
|
+
channels: list[str] = Field(..., alias="channels")
|
165
165
|
description: str = Field(..., alias="description")
|
166
166
|
handle: str = Field(..., alias="handle")
|
167
167
|
owners_from_repos: Optional[list[str]] = Field(..., alias="ownersFromRepos")
|
reconcile/utils/ocm/syncsets.py
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
from collections.abc import Mapping
|
1
|
+
from collections.abc import Generator, Mapping
|
2
2
|
from dataclasses import dataclass
|
3
3
|
from typing import Any
|
4
4
|
|
@@ -13,6 +13,13 @@ class SyncSet:
|
|
13
13
|
href: str
|
14
14
|
|
15
15
|
|
16
|
+
def get_syncsets(
|
17
|
+
ocm_client: OCMBaseClient, cluster_id: str
|
18
|
+
) -> Generator[dict[str, Any], None, None]:
|
19
|
+
syncset = SyncSet(cluster_id)
|
20
|
+
return ocm_client.get_paginated(api_path=syncset.href)
|
21
|
+
|
22
|
+
|
16
23
|
def get_syncset(ocm_client: OCMBaseClient, cluster_id: str, syncset_id: str) -> Any:
|
17
24
|
syncset = SyncSet(cluster_id)
|
18
25
|
return ocm_client.get(api_path=syncset.href + "/" + syncset_id)
|
File without changes
|
File without changes
|
{qontract_reconcile-0.10.1rc909.dist-info → qontract_reconcile-0.10.1rc911.dist-info}/top_level.txt
RENAMED
File without changes
|