Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
007b1e4
[patch] Fix required permissions
unnati-solanki-git May 3, 2026
e94fdc6
[patch] Update sls and db2u permissions
unnati-solanki-git May 3, 2026
4a72d53
[patch] Update suite and must-gather permissions
unnati-solanki-git May 3, 2026
836b0a6
[patch] Add required app permissions in install pipeline
unnati-solanki-git May 4, 2026
f48d4d9
[patch] Permission for finalizer
unnati-solanki-git May 6, 2026
c12a6e3
Merge branch 'master' of github.com:ibm-mas/cli into rbac-permissions
unnati-solanki-git May 6, 2026
597fab5
[patch] Disable must-gather permissions tmp
unnati-solanki-git May 6, 2026
3cdc13a
Merge branch 'master' into rbac-permissions
unnati-solanki-git May 6, 2026
e339343
Merge branch 'master' into rbac-permissions
unnati-solanki-git May 6, 2026
845b7f6
[patch] Core and Manage permissions
unnati-solanki-git May 7, 2026
a56fd0f
Merge branch 'master' into rbac-permissions
unnati-solanki-git May 7, 2026
a12b069
[patch] Remove cluster admin permissions
unnati-solanki-git May 8, 2026
871c344
Merge branch 'master' of github.com:ibm-mas/cli into rbac-permissions
unnati-solanki-git May 8, 2026
39c466e
Merge branch 'rbac-permissions' of github.com:ibm-mas/cli into rbac-p…
unnati-solanki-git May 8, 2026
657f84f
[patch] Fix nvidia-gpu permission
unnati-solanki-git May 9, 2026
e6b0b92
[patch] Fix nvidia permission
unnati-solanki-git May 10, 2026
488a664
[patch] Fix nvidia gpu operator permissions
unnati-solanki-git May 11, 2026
2eea785
Merge branch 'master' into rbac-permissions
unnati-solanki-git May 11, 2026
43c74e9
[patch] Adding cpd nvidia and kube system permissions
unnati-solanki-git May 11, 2026
f900eef
Merge branch 'master' of github.com:ibm-mas/cli into rbac-permissions
unnati-solanki-git May 11, 2026
be49af5
Merge branch 'rbac-permissions' of github.com:ibm-mas/cli into rbac-p…
unnati-solanki-git May 11, 2026
76a0eca
Merge branch 'master' into rbac-permissions
unnati-solanki-git May 12, 2026
1f50a97
Merge branch 'master' of github.com:ibm-mas/cli into rbac-permissions
unnati-solanki-git May 12, 2026
b67145b
[patch] Update permissions for cp4d and kube-system
unnati-solanki-git May 12, 2026
7688c82
Merge branch 'rbac-permissions' of github.com:ibm-mas/cli into rbac-p…
unnati-solanki-git May 12, 2026
1ddf91d
[patch] Fix cp4d permissions
unnati-solanki-git May 13, 2026
ba477fd
Merge branch 'master' into rbac-permissions
unnati-solanki-git May 13, 2026
bec7e01
[patch] Fix cp4d role
unnati-solanki-git May 13, 2026
458146d
Merge branch 'master' into rbac-permissions
unnati-solanki-git May 14, 2026
ad4593f
[patch] impersonate user
unnati-solanki-git May 15, 2026
28d2f5e
Merge branch 'rbac-permissions' of github.com:ibm-mas/cli into rbac-p…
unnati-solanki-git May 15, 2026
a062019
Merge branch 'master' into rbac-permissions
unnati-solanki-git May 15, 2026
4aa34c2
Merge branch 'rbac-permissions' of github.com:ibm-mas/cli into rbac-p…
unnati-solanki-git May 15, 2026
cbe373b
[patch] CP4d cluster admin permissions
unnati-solanki-git May 15, 2026
45312fa
Merge branch 'master' into rbac-permissions
unnati-solanki-git May 18, 2026
9ac9a73
Merge branch 'master' into rbac-permissions
unnati-solanki-git May 19, 2026
5871bc9
Merge branch 'master' into rbac-permissions
unnati-solanki-git May 20, 2026
dccf3bb
Merge branch 'rbac-permissions' of github.com:ibm-mas/cli into rbac-p…
unnati-solanki-git May 20, 2026
e61f266
[patch] Addressed review comments
unnati-solanki-git May 20, 2026
aaaaf7e
Merge branch 'master' into rbac-permissions
unnati-solanki-git May 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions image/cli/mascli/functions/must_gather
Original file line number Diff line number Diff line change
Expand Up @@ -225,10 +225,7 @@ function mustgather() {
echo "https://www.ibm.com/support/pages/how-review-maximo-application-suite-must-gather"

if [ "$(oc whoami 2>/dev/null)" == "" ] ; then
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Even if we don't require use to be a cluster admin (second check), we still want the first check (that they are logged into the cluster) ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

echo_warning "You must be logged in to the server as a cluster administrator before running the must-gather command"
exit 1
elif [ "$(oc get clusterrolebindings 2>&1 | grep forbidden)" != "" ] ; then
echo_warning "Your user does not appear to be a cluster administrator, you must be logged in to the server as a cluster administrator before running the must-gather command"
echo_warning "You must be logged in to the cluster before running the must-gather command"
exit 1
fi

Expand Down
4 changes: 4 additions & 0 deletions rbac/install/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,10 @@ resources:
- pipeline/db2u.yaml
- pipeline/eck.yaml
- pipeline/grafana5.yaml
- pipeline/ibm-cpd.yaml
- pipeline/ibm-sls.yaml
- pipeline/kube-system.yaml
- pipeline/mas-x-app.yaml
- pipeline/mas-x-core.yaml
- pipeline/mas-x-pipelines.yaml
- pipeline/mongoce.yaml
Expand All @@ -29,6 +32,7 @@ resources:
- pipeline/openshift-ingress.yaml
- pipeline/openshift-marketplace.yaml
- pipeline/openshift-monitoring.yaml
- pipeline/openshift-nfd.yaml
- pipeline/openshift-operators.yaml
- pipeline/openshift-user-workload-monitoring.yaml
- pipeline/redhat-marketplace.yaml
Expand Down
62 changes: 61 additions & 1 deletion rbac/install/namespaces.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ metadata:
apiVersion: v1
kind: Namespace
metadata:
name: db2u
name: sls-{{ mas_instance_id }}
---
apiVersion: v1
kind: Namespace
Expand All @@ -48,3 +48,63 @@ apiVersion: v1
kind: Namespace
metadata:
name: openshift-pipelines
---
apiVersion: v1
kind: Namespace
metadata:
name: openshift-nfd
---
apiVersion: v1
kind: Namespace
metadata:
name: nvidia-gpu-operator
---
apiVersion: v1
kind: Namespace
metadata:
name: ibm-cpd-operators
---
apiVersion: v1
kind: Namespace
metadata:
name: ibm-cpd
---
apiVersion: v1
kind: Namespace
metadata:
name: db2u
---
apiVersion: v1
kind: Namespace
metadata:
name: mas-{{ mas_instance_id }}-manage
---
apiVersion: v1
kind: Namespace
metadata:
name: mas-{{ mas_instance_id }}-monitor
---
apiVersion: v1
kind: Namespace
metadata:
name: mas-{{ mas_instance_id }}-health
---
apiVersion: v1
kind: Namespace
metadata:
name: mas-{{ mas_instance_id }}-predict
---
apiVersion: v1
kind: Namespace
metadata:
name: mas-{{ mas_instance_id }}-assist
---
apiVersion: v1
kind: Namespace
metadata:
name: mas-{{ mas_instance_id }}-visualinspection
---
apiVersion: v1
kind: Namespace
metadata:
name: mas-{{ mas_instance_id }}-iot
53 changes: 53 additions & 0 deletions rbac/install/pipeline/clusterrole.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -106,3 +106,56 @@ rules:
- create
- patch
- list

# Creating routes with custom hostnames requires cluster-wide permission
- apiGroups:
- route.openshift.io
resources:
- routes/custom-host
verbs:
- create
- update

# Nvidia GPU operator ClusterPolicy is cluster-scoped
- apiGroups:
- nvidia.com
resources:
- clusterpolicies
verbs:
- get
- list
- create
- patch
- update
- watch

# Cloud Pak for Data requires wildcard permissions to delegate to namespace roles
# This allows CPD operators to create roles with any permissions within their namespaces
- apiGroups:
- "*"
resources:
- "*"
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- deletecollection
- impersonate

# Allow binding and escalating ClusterRoles (including admin) without having all their permissions
# This is required for CPD to assign the admin role to service accounts
- apiGroups:
- rbac.authorization.k8s.io
resources:
- clusterroles
verbs:
- bind
- escalate
resourceNames:
- admin
- edit
- view
24 changes: 24 additions & 0 deletions rbac/install/pipeline/db2u.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,18 @@ rules:
- create
- patch
- list
# DB2 setup requires pod exec access to copy files and run commands
- apiGroups:
- ""
resources:
- pods
- pods/log
- pods/exec
verbs:
- get
- list
- create


# DB2 requires cert-manager issuers and certificates for SSL
- apiGroups:
Expand All @@ -107,3 +119,15 @@ rules:
- patch
- list
- watch


# DB2 requires routes for external access
- apiGroups:
- route.openshift.io
resources:
- routes
verbs:
- get
- create
- patch
- list
129 changes: 129 additions & 0 deletions rbac/install/pipeline/ibm-cpd.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: mas:{{ mas_instance_id }}:install-pipeline:ibm-cpd-operators
namespace: ibm-cpd-operators
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: mas:{{ mas_instance_id }}:install-pipeline:ibm-cpd-operators
subjects:
- kind: ServiceAccount
name: mas-{{ mas_instance_id }}-install-pipeline
namespace: mas-{{ mas_instance_id }}-pipelines
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: mas:{{ mas_instance_id }}:install-pipeline:ibm-cpd-operators
namespace: ibm-cpd-operators
rules:
# Cloud Pak for Data operator installation
- apiGroups:
- operators.coreos.com
resources:
- installplans
- operatorgroups
- subscriptions
verbs:
- get
- list
- create
- patch
# IBM entitlement key secret and service accounts
- apiGroups:
- ""
resources:
- secrets
- serviceaccounts
verbs:
- get
- list
- create
- patch
- update
# CPD operators need to create RBAC resources
- apiGroups:
- rbac.authorization.k8s.io
resources:
- roles
- rolebindings
verbs:
- get
- list
- create
- patch
- update
- delete
# Grant wildcard permissions that CPD operators need to delegate
- apiGroups:
- "*"
resources:
- "*"
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- deletecollection
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: mas:{{ mas_instance_id }}:install-pipeline:ibm-cpd
namespace: ibm-cpd
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: mas:{{ mas_instance_id }}:install-pipeline:ibm-cpd
subjects:
- kind: ServiceAccount
name: mas-{{ mas_instance_id }}-install-pipeline
namespace: mas-{{ mas_instance_id }}-pipelines
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: mas:{{ mas_instance_id }}:install-pipeline:ibm-cpd
namespace: ibm-cpd
rules:
# Cloud Pak for Data instance management
- apiGroups:
- ""
resources:
- secrets
- configmaps
- serviceaccounts
verbs:
- get
- list
- create
- patch
- update
# CPD services and deployments
- apiGroups:
- apps
resources:
- deployments
- statefulsets
verbs:
- get
- list
- create
- patch
- update
# CPD routes
- apiGroups:
- route.openshift.io
resources:
- routes
verbs:
- get
- list
- create
- patch
- update
Loading
Loading