Skip to main content

Role Permissions Reference

This page lists the full Kubernetes Role-Based Access Control (RBAC) permissions that PaletteAI grants to each Tenant and Project role. For an overview of each role and how OpenID Connect (OIDC) groups bind to roles, refer to the Roles and Permissions concept page.

In the tables below, * means the role has full access to the resource (get, list, watch, create, update, patch, delete).

Tenant Role Permissions

When you create a Tenant, PaletteAI automatically creates a role named prj-<project-name>-tnt-adm in each Project namespace with the following permissions.

ResourcesPermissionsAPI
ConfigMap*v1
Event*v1
PersistentVolumeClaim*v1
Pod*v1
Secret*v1
Service*v1
ServiceAccount*v1
All resources*apps
HelmRepositoryget, list, watch, create, update, patch, deletesource.toolkit.fluxcd.io
OCIRepositoryget, list, watch, create, update, patch, deletesource.toolkit.fluxcd.io
AIWorkload*spectrocloud.com/v1alpha1
Compute*spectrocloud.com/v1alpha1
ComputeConfig*spectrocloud.com/v1alpha1
ComputePool*spectrocloud.com/v1alpha1
ComputePoolEvaluation*spectrocloud.com/v1alpha1
Project*spectrocloud.com/v1alpha1
ScalingPolicy*spectrocloud.com/v1alpha1
Settings*spectrocloud.com/v1alpha1
ComponentDefinition*spectrocloud.com/v1beta1
DefinitionRevision*spectrocloud.com/v1beta1
Environment*spectrocloud.com/v1beta1
PolicyDefinition*spectrocloud.com/v1beta1
ProfileBundle*spectrocloud.com/v1beta1
TraitDefinition*spectrocloud.com/v1beta1
VariableSet*spectrocloud.com/v1beta1
Workload*spectrocloud.com/v1beta1
WorkloadDeployment*spectrocloud.com/v1beta1
WorkloadProfile*spectrocloud.com/v1beta1
Hub*fleetconfig.open-cluster-management.io/v1beta1
Spoke*fleetconfig.open-cluster-management.io/v1beta1

All OIDC groups in the Tenant tenantRoleMapping bind to this single role through one RoleBinding.

Tenant Admin Cluster Permissions

Tenant admins also receive a ClusterRole named mural-tenant-admin and a matching ClusterRoleBinding with create-only permissions, enabling Project and resource creation cluster-wide.

ResourcesPermissionsAPI
Secretcreatev1
ComputeConfigcreatespectrocloud.com/v1alpha1
Projectcreatespectrocloud.com/v1alpha1
Settingscreatespectrocloud.com/v1alpha1

Tenant Namespace Permissions

All Project users (Viewers, Editors, Admins, and Tenant admins) receive view-only access to the Tenant namespace through a Role named mural-tenant-viewer and a matching RoleBinding. This enables access to Tenant-level configuration such as Settings and Secrets.

ResourcesPermissionsAPI
Secretget, list, watchv1
Settingsget, list, watchspectrocloud.com/v1alpha1

Project Role Permissions

Each Project automatically creates three distinct roles with escalating permissions.

Viewer Role Permissions

The Viewer role can view all resources but cannot make any modifications.

ResourcesPermissionsAPI
ConfigMapget, list, watchv1
Eventget, list, watchv1
PersistentVolumeClaimget, list, watchv1
Podget, list, watchv1
Secretget, list, watchv1
Serviceget, list, watchv1
ServiceAccountget, list, watchv1
All resourcesget, list, watchapps
HelmRepositoryget, list, watchsource.toolkit.fluxcd.io
OCIRepositoryget, list, watchsource.toolkit.fluxcd.io
AIWorkloadget, list, watchspectrocloud.com/v1alpha1
Computeget, list, watchspectrocloud.com/v1alpha1
ComputeConfigget, list, watchspectrocloud.com/v1alpha1
ComputePoolget, list, watchspectrocloud.com/v1alpha1
ComputePoolEvaluationget, list, watchspectrocloud.com/v1alpha1
Projectget, list, watchspectrocloud.com/v1alpha1
ScalingPolicyget, list, watchspectrocloud.com/v1alpha1
Settingsget, list, watchspectrocloud.com/v1alpha1
ComponentDefinitionget, list, watchspectrocloud.com/v1beta1
DefinitionRevisionget, list, watchspectrocloud.com/v1beta1
Environmentget, list, watchspectrocloud.com/v1beta1
PolicyDefinitionget, list, watchspectrocloud.com/v1beta1
ProfileBundleget, list, watchspectrocloud.com/v1beta1
TraitDefinitionget, list, watchspectrocloud.com/v1beta1
VariableSetget, list, watchspectrocloud.com/v1beta1
Workloadget, list, watchspectrocloud.com/v1beta1
WorkloadDeploymentget, list, watchspectrocloud.com/v1beta1
WorkloadProfileget, list, watchspectrocloud.com/v1beta1

Editor Role Permissions

The Editor role can deploy and manage AIWorkload resources within their assigned Project.

ResourcesPermissionsAPI
ConfigMapget, list, watch, create, update, patch, deletev1
Eventget, list, watch, create, update, patch, deletev1
PersistentVolumeClaimget, list, watch, create, update, patch, deletev1
Podget, list, watch, create, update, patch, deletev1
Secretget, list, watch, create, update, patch, deletev1
Serviceget, list, watch, create, update, patch, deletev1
ServiceAccountget, list, watch, create, update, patch, deletev1
All resourcesget, list, watch, create, update, patch, deleteapps
HelmRepositoryget, list, watch, create, update, patch, deletesource.toolkit.fluxcd.io
OCIRepositoryget, list, watch, create, update, patch, deletesource.toolkit.fluxcd.io
AIWorkloadget, list, watch, create, update, patch, deletespectrocloud.com/v1alpha1
Computeget, list, watch, create, update, patch, deletespectrocloud.com/v1alpha1
ComputeConfigget, list, watch, create, update, patch, deletespectrocloud.com/v1alpha1
ComputePoolget, list, watchspectrocloud.com/v1alpha1
ComputePoolEvaluationget, list, watch, create, update, patch, deletespectrocloud.com/v1alpha1
Projectget, list, watchspectrocloud.com/v1alpha1
ScalingPolicyget, list, watch, create, update, patch, deletespectrocloud.com/v1alpha1
Settingsget, list, watchspectrocloud.com/v1alpha1
ComponentDefinitionget, list, watchspectrocloud.com/v1beta1
DefinitionRevisionget, list, watchspectrocloud.com/v1beta1
Environmentget, list, watchspectrocloud.com/v1beta1
PolicyDefinitionget, list, watchspectrocloud.com/v1beta1
ProfileBundleget, list, watch, create, update, patch, deletespectrocloud.com/v1beta1
TraitDefinitionget, list, watchspectrocloud.com/v1beta1
VariableSetget, list, watch, update, patchspectrocloud.com/v1beta1
Workloadget, list, watchspectrocloud.com/v1beta1
WorkloadDeploymentget, list, watchspectrocloud.com/v1beta1
WorkloadProfileget, list, watch, create, update, patch, deletespectrocloud.com/v1beta1

Admin Role Permissions

The Admin role has full control over all resources and configurations in the Project scope.

ResourcesPermissionsAPI
ConfigMap*v1
Event*v1
PersistentVolumeClaim*v1
Pod*v1
Secret*v1
Service*v1
ServiceAccount*v1
All resources*apps
HelmRepositoryget, list, watch, create, update, patch, deletesource.toolkit.fluxcd.io
OCIRepositoryget, list, watch, create, update, patch, deletesource.toolkit.fluxcd.io
AIWorkload*spectrocloud.com/v1alpha1
Compute*spectrocloud.com/v1alpha1
ComputeConfig*spectrocloud.com/v1alpha1
ComputePool*spectrocloud.com/v1alpha1
ComputePoolEvaluation*spectrocloud.com/v1alpha1
Projectget, list, patch, watch, update, deletespectrocloud.com/v1alpha1
ScalingPolicy*spectrocloud.com/v1alpha1
Settings*spectrocloud.com/v1alpha1
ComponentDefinition*spectrocloud.com/v1beta1
DefinitionRevision*spectrocloud.com/v1beta1
Environment*spectrocloud.com/v1beta1
PolicyDefinition*spectrocloud.com/v1beta1
ProfileBundle*spectrocloud.com/v1beta1
TraitDefinition*spectrocloud.com/v1beta1
VariableSet*spectrocloud.com/v1beta1
Workload*spectrocloud.com/v1beta1
WorkloadDeployment*spectrocloud.com/v1beta1
WorkloadProfile*spectrocloud.com/v1beta1

System Roles

In the system namespace (mural-system), PaletteAI creates three roles:

RolePurpose
ViewerRead-only access to system definitions
EditorRead-only access to system definitions
AdminRead-only access to system definitions

All three system roles share the same read-only permissions. For each Project created, role bindings are created in the mural-system namespace to grant Project users access to system-level definitions. These role bindings map Project roles to pre-existing system roles, allowing users to access system-level definitions in addition to Project-level definitions.

Each role binding is named <project-name>-mural-project-<viewer|editor|admin> and binds the Project's OIDC groups to the corresponding system role in the mural-system namespace.

The following permissions are applied to the mural-system namespace only.

ResourcesPermissionsAPI
ConfigMapget, list, watchv1
ScalingPolicyget, list, watchspectrocloud.com/v1alpha1
ComponentDefinitionget, list, watchspectrocloud.com/v1beta1
DefinitionRevisionget, list, watchspectrocloud.com/v1beta1
PolicyDefinitionget, list, watchspectrocloud.com/v1beta1
ProfileBundleget, list, watchspectrocloud.com/v1beta1
TraitDefinitionget, list, watchspectrocloud.com/v1beta1
WorkloadDeploymentget, list, watchspectrocloud.com/v1beta1
WorkloadProfileget, list, watchspectrocloud.com/v1beta1
info

The ConfigMap permissions are resource-specific. They only grant access to the mural-feature-flags and branding ConfigMaps in the system namespace.