Skip to content

Commit c218adf

Browse files
dixitgsathwaraDixit Sathwara
andauthored
[patch] rename permissionMode to adminMode in pre install rbac (#365)
Co-authored-by: Dixit Sathwara <Dixit.Sathwara1@ibm.com>
1 parent 461a1d8 commit c218adf

1 file changed

Lines changed: 17 additions & 21 deletions

File tree

src/mas/devops/pre_install.py

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ def _get_selected_operator_dirs(selectedApps: set[str]) -> set[str]:
6666
return {appToOperatorDir[app] for app in selectedApps}
6767

6868

69-
def _should_apply_preinstall_mas_rbac_file(fileName: str, permissionMode: str) -> bool:
69+
def _should_apply_preinstall_mas_rbac_file(fileName: str, adminMode: str) -> bool:
7070
lowerName = path.basename(fileName).lower()
7171

7272
if lowerName == "kustomization.yaml":
@@ -75,10 +75,10 @@ def _should_apply_preinstall_mas_rbac_file(fileName: str, permissionMode: str) -
7575
if not (lowerName.endswith(".yml") or lowerName.endswith(".yaml")):
7676
return False
7777

78-
if permissionMode == "cluster":
78+
if adminMode == "cluster":
7979
return lowerName.startswith("cluster-role-")
8080

81-
if permissionMode == "namespaced":
81+
if adminMode == "namespaced":
8282
return lowerName.startswith("role-non-essential-")
8383

8484
return False
@@ -87,7 +87,7 @@ def _should_apply_preinstall_mas_rbac_file(fileName: str, permissionMode: str) -
8787
def _collect_preinstall_mas_rbac_files_from_source(
8888
sourceOperatorsRoot: str,
8989
masVersion: str,
90-
permissionMode: str,
90+
adminMode: str,
9191
operatorNames: set[str] | None = None
9292
) -> list[str]:
9393
if not path.isdir(sourceOperatorsRoot):
@@ -117,7 +117,7 @@ def _collect_preinstall_mas_rbac_files_from_source(
117117
if not path.isfile(manifestFile):
118118
continue
119119

120-
if _should_apply_preinstall_mas_rbac_file(manifestName, permissionMode):
120+
if _should_apply_preinstall_mas_rbac_file(manifestName, adminMode):
121121
manifestFiles.append(manifestFile)
122122

123123
return manifestFiles
@@ -126,7 +126,7 @@ def _collect_preinstall_mas_rbac_files_from_source(
126126
def _discover_preinstall_mas_rbac_files(
127127
rbacRootDir: str | None,
128128
masVersion: str,
129-
permissionMode: str,
129+
adminMode: str,
130130
selectedApps: set[str]
131131
) -> list[str]:
132132
if not rbacRootDir:
@@ -151,21 +151,17 @@ def _discover_preinstall_mas_rbac_files(
151151
_collect_preinstall_mas_rbac_files_from_source(
152152
sourceOperatorsRoot=sourceRoot,
153153
masVersion=masVersion,
154-
permissionMode=permissionMode,
154+
adminMode=adminMode,
155155
operatorNames=operatorNames
156156
)
157157
)
158158

159159
return list(dict.fromkeys(manifestFiles))
160160

161161

162-
def _get_preinstall_mas_rbac_namespaces(masInstanceId: str, permissionMode: str, selectedApps: set[str]) -> set[str]:
162+
def _get_preinstall_mas_rbac_namespaces(masInstanceId: str, adminMode: str, selectedApps: set[str]) -> set[str]:
163163

164-
# Due to ingresscontroller role we need to apply the preinstall RBAC for the minimal permission mode
165-
# if permissionMode == "minimal":
166-
# return set()
167-
168-
if permissionMode == "cluster":
164+
if adminMode == "cluster":
169165
return set()
170166

171167
namespaces = {f"mas-{masInstanceId}-core"}
@@ -264,22 +260,22 @@ def applyPreInstallMASRBAC(
264260
dynClient: DynamicClient,
265261
masVersion: str,
266262
masInstanceId: str,
267-
permissionMode: str,
263+
adminMode: str,
268264
selectedApps: list[str] | None = None,
269265
rbacRootDir: str | None = None
270266
) -> None:
271267
if not rbacRootDir:
272268
rbacRootDir = DEFAULT_PREINSTALL_MAS_RBAC_ROOT
273269

274270
# Minimal mode - essential roles will be applied by each operator
275-
if permissionMode == "minimal":
276-
logger.info("Minimal permission mode - essential roles will be applied by each operator")
271+
if adminMode == "minimal":
272+
logger.info("Minimal admin mode - essential roles will be applied by each operator")
277273
return
278274

279275
# For cluster mode, use ibm-mas operator only (apps not required)
280-
if permissionMode == "cluster":
276+
if adminMode == "cluster":
281277
validatedApps = {"core"} # Use core which maps to ibm-mas operator
282-
logger.info("Cluster permission mode - using ibm-mas operator only")
278+
logger.info("Cluster admin mode - using ibm-mas operator only")
283279
else:
284280
# For namespaced mode, validate and use selected apps
285281
validatedApps = _validate_selected_apps(selectedApps)
@@ -290,13 +286,13 @@ def applyPreInstallMASRBAC(
290286
manifestFiles = _discover_preinstall_mas_rbac_files(
291287
rbacRootDir=rbacRootDir,
292288
masVersion=masVersion,
293-
permissionMode=permissionMode,
289+
adminMode=adminMode,
294290
selectedApps=validatedApps
295291
)
296292

297293
logger.info(
298294
f"Applying pre-install MAS RBAC from {rbacRootDir} for MAS {masVersion}, "
299-
f"masInstanceId={masInstanceId}, permissionMode={permissionMode}, "
295+
f"masInstanceId={masInstanceId}, adminMode={adminMode}, "
300296
f"selectedApps={sorted(validatedApps)}, "
301297
f"manifestCount={len(manifestFiles)}"
302298
)
@@ -308,7 +304,7 @@ def applyPreInstallMASRBAC(
308304
namespaceAPI = dynClient.resources.get(api_version="v1", kind="Namespace")
309305
requiredNamespaces = _get_preinstall_mas_rbac_namespaces(
310306
masInstanceId=masInstanceId,
311-
permissionMode=permissionMode,
307+
adminMode=adminMode,
312308
selectedApps=validatedApps
313309
)
314310

0 commit comments

Comments
 (0)