Skip to content

Commit b667a5c

Browse files
Aneri ThakkarAneri Thakkar
authored andcommitted
[patch] add helper function to get permission mode from suite cr
1 parent 3f0bfab commit b667a5c

2 files changed

Lines changed: 30 additions & 0 deletions

File tree

src/mas/devops/mas/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,6 @@
1212
getWorkspaceId,
1313
verifyMasInstance,
1414
getMasChannel,
15+
getSuitePermissionMode,
1516
updateIBMEntitlementKey,
1617
)

src/mas/devops/mas/suite.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,35 @@ def getMasChannel(dynClient: DynamicClient, instanceId: str) -> str:
262262
return masSubscription.spec.channel
263263

264264

265+
def getSuitePermissionMode(dynClient: DynamicClient, instanceId: str) -> str:
266+
"""
267+
Get the permission mode from Suite CR.
268+
269+
Args:
270+
dynClient: OpenShift Dynamic Client
271+
instanceId: MAS instance ID
272+
273+
Returns:
274+
'cluster', 'nonEssential', 'essential', or 'unknown'
275+
"""
276+
try:
277+
suiteAPI = dynClient.resources.get(
278+
api_version='core.mas.ibm.com/v1',
279+
kind='Suite'
280+
)
281+
suite = suiteAPI.get(
282+
name=instanceId,
283+
namespace=f'mas-{instanceId}-core'
284+
)
285+
286+
# Get permissionMode from spec.settings.permissionMode
287+
# Default to 'cluster' if not set (backward compatibility)
288+
return suite.spec.get('settings', {}).get('permissionMode', 'cluster')
289+
except Exception as e:
290+
logger.warning(f"Could not determine permission mode for {instanceId}: {e}")
291+
return 'unknown'
292+
293+
265294
def updateIBMEntitlementKey(dynClient: DynamicClient, namespace: str, icrUsername: str, icrPassword: str, artifactoryUsername: str = None, artifactoryPassword: str = None, secretName: str = "ibm-entitlement") -> ResourceInstance:
266295
"""
267296
Create or update the IBM Entitlement secret for accessing IBM container registries.

0 commit comments

Comments
 (0)