---
schema_version: "1"
id: 98687992d789fc9eff4b5fcde7b88ddfa6d70e90df2e7fbdab001b482a1785f5
title: RTFCTL Kubernetes Permissions
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/runtime-fabric/2.7/rtfctl-permissions.md
canonical_url: https://docs.mulesoft.com/runtime-fabric/2.7/rtfctl-permissions
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 2e8748a4082ab08f4700ede23637c016b0b8b9a9075b5e074d54f41427ac7150
description: MuleSoft Documentation Site
release: "2.7"
latest: false
---
---
product: Runtime Fabric
version: 2.7
---

# RTFCTL Kubernetes Permissions

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

To successfully run `rtfctl` commands, you must understand and enable specific role permissions over
Kubernetes resources.

The following table lists the permissions that you configure using Kubernetes (K8s) RBACs
([role-based access control](https://kubernetes.io/docs/reference/access-authn-authz/rbac/)):

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>rtfctl Command</th><th>Namespace</th><th>API Groups</th><th>Kubernetes Resources</th><th>Verbs</th></tr></thead><tbody><tr><td rowspan="6"><p><code>apply</code></p></td><td rowspan="2"><p>rtf</p></td><td></td><td><p>configmaps</p></td><td><p>create, get, patch, update</p></td></tr><tr><td></td><td><p>pods</p></td><td><p>deletecollection</p></td></tr><tr><td><p>&lt;app-namespace&gt;</p></td><td></td><td><p>secrets</p></td><td><p>get, list, watch</p></td></tr><tr><td><p>rtfctl-audit</p></td><td></td><td><p>secrets</p></td><td><p>create, get, patch, update</p></td></tr><tr><td rowspan="2"></td><td></td><td><p>namespaces</p></td><td><p>create, get, list, watch</p></td></tr><tr><td></td><td><p>secrets</p></td><td><p>create, get, patch, update</p></td></tr><tr><td rowspan="3"><p><code>update</code></p></td><td><p>rtf</p></td><td></td><td><p>configmaps, secrets</p></td><td><p>get</p></td></tr><tr><td rowspan="2"><p>rtfctl-audit</p></td><td></td><td><p>secrets</p></td><td><p>create, get, patch, update</p></td></tr><tr><td></td><td><p>namespaces</p></td><td><p>create</p></td></tr><tr><td rowspan="4"><p><code>wait</code></p></td><td><p>rtf</p></td><td></td><td><p>configmaps, secret</p></td><td><p>get</p></td></tr><tr><td><p>rtfctl-audit</p></td><td></td><td><p>secrets</p></td><td><p>create, get, patch, update</p></td></tr><tr><td rowspan="2"></td><td><p>apps</p></td><td><p>daemonsets, deployments</p></td><td><p>get, list, watch</p></td></tr><tr><td></td><td><p>namespaces</p></td><td><p>create</p></td></tr><tr><td rowspan="8"><p><code>install</code></p></td><td rowspan="5"><p>rtf</p></td><td></td><td><p>configmaps, pods/log</p></td><td><p>get</p></td></tr><tr><td></td><td><p>pods</p></td><td><p>get, list, watch</p></td></tr><tr><td></td><td><p>secrets</p></td><td><p>create, get</p></td></tr><tr><td></td><td><p>serviceaccounts</p></td><td><p>create</p></td></tr><tr><td><p>batch</p></td><td><p>jobs</p></td><td><p>create, get</p></td></tr><tr><td><p>rtfctl-audit</p></td><td></td><td><p>secrets</p></td><td><p>create, get, patch, update</p></td></tr><tr><td rowspan="2"></td><td></td><td><p>namespaces</p></td><td><p>create</p></td></tr><tr><td><p>rbac.authorization.k8s.io</p></td><td><p>clusterrolebindings, clusterroles</p></td><td><p>create</p></td></tr><tr><td rowspan="10"><p><code>backup</code></p></td><td><p>rtfctl-audit</p></td><td></td><td><p>secrets</p></td><td><p>create, get, patch, update</p></td></tr><tr><td rowspan="9"></td><td></td><td><p>namespaces</p></td><td><p>create, get, list, watch</p></td></tr><tr><td></td><td><p>configmaps, namespaces, secrets, serviceaccounts, services</p></td><td><p>get, list, watch</p></td></tr><tr><td><p>apiextensions.k8s.io</p></td><td><p>customresourcedefinitions</p></td><td><p>get</p></td></tr><tr><td><p>apps</p></td><td><p>daemonsets, deployments</p></td><td><p>get, list, watch</p></td></tr><tr><td><p>batch</p></td><td><p>cronjobs</p></td><td><p>get, list, watch</p></td></tr><tr><td><p>networking.k8s.io</p></td><td><p>ingresses</p></td><td><p>get, list, watch</p></td></tr><tr><td><p>rbac.authorization.k8s.io</p></td><td><p>clusterrolebindings, clusterroles, rolebindings, roles</p></td><td><p>get, list, watch</p></td></tr><tr><td><p>rtf.mulesoft.com</p></td><td><p>persistencegateways</p></td><td><p>get, list, watch</p></td></tr><tr><td><p>scheduling.k8s.io</p></td><td><p>priorityclasses</p></td><td><p>get</p></td></tr><tr><td rowspan="10"><p><code>restore</code></p></td><td rowspan="3"><p>rtf</p></td><td><p>apps</p></td><td><p>daemonsets</p></td><td><p>create, get, patch, update</p></td></tr><tr><td><p>batch</p></td><td><p>cronjobs</p></td><td><p>create, get, patch, update</p></td></tr><tr><td><p>rtf.mulesoft.com</p></td><td><p>persistencegateways</p></td><td><p>get, list, watch</p></td></tr><tr><td><p>rtfctl-audit</p></td><td></td><td><p>secrets</p></td><td><p>create, get, patch, update</p></td></tr><tr><td rowspan="6"></td><td></td><td><p>configmaps, namespaces, secrets, serviceaccounts, services</p></td><td><p>create, get, patch, update</p></td></tr><tr><td><p>apiextensions.k8s.io</p></td><td><p>customresourcedefinitions</p></td><td><p>get, patch, update</p></td></tr><tr><td><p>apps</p></td><td><p>deployments</p></td><td><p>create, get, patch, update</p></td></tr><tr><td><p>networking.k8s.io</p></td><td><p>ingresses</p></td><td><p>create, get, patch, update</p></td></tr><tr><td><p>rbac.authorization.k8s.io</p></td><td><p>clusterrolebindings, clusterroles</p></td><td><p>create, get, patch, update</p></td></tr><tr><td><p>scheduling.k8s.io</p></td><td><p>priorityclasses</p></td><td><p>create, get, patch, update</p></td></tr><tr><td rowspan="13"><p><code>validate</code></p></td><td rowspan="4"><p>rtf</p></td><td></td><td><p>configmaps</p></td><td><p>get</p></td></tr><tr><td></td><td><p>pods</p></td><td><p>deletecollection</p></td></tr><tr><td></td><td><p>secrets</p></td><td><p>delete, get</p></td></tr><tr><td><p>batch</p></td><td><p>jobs</p></td><td><p>delete</p></td></tr><tr><td rowspan="4"><p>rtf-validate</p></td><td></td><td><p>namespaces</p></td><td><p>delete, get</p></td></tr><tr><td></td><td><p>pods/log</p></td><td><p>get</p></td></tr><tr><td></td><td><p>secrets, serviceaccounts</p></td><td><p>create</p></td></tr><tr><td><p>batch</p></td><td><p>jobs</p></td><td><p>create, get</p></td></tr><tr><td><p>rtfctl-audit</p></td><td></td><td><p>secrets</p></td><td><p>create, get, patch, update</p></td></tr><tr><td rowspan="4"></td><td></td><td><p>namespaces</p></td><td><p>create</p></td></tr><tr><td></td><td><p>nodes, pods</p></td><td><p>get, list, watch</p></td></tr><tr><td><p>authorization.k8s.io</p></td><td><p>selfsubjectaccessreviews</p></td><td><p>create</p></td></tr><tr><td><p>rbac.authorization.k8s.io</p></td><td><p>clusterrolebindings, clusterroles</p></td><td><p>create, delete</p></td></tr><tr><td rowspan="3"><p><code>version</code></p></td><td><p>rtf</p></td><td></td><td><p>configmaps, secrets</p></td><td><p>get</p></td></tr><tr><td><p>rtfctl-audit</p></td><td></td><td><p>secrets</p></td><td><p>create, get, patch, update</p></td></tr><tr><td></td><td></td><td><p>namespaces</p></td><td><p>create</p></td></tr><tr><td rowspan="5"><p><code>delete</code></p></td><td rowspan="2"><p>&lt;app-namespace&gt;</p></td><td></td><td><p>pods</p></td><td><p>get, list, watch</p></td></tr><tr><td></td><td><p>secrets</p></td><td><p>get, list, patch, update, watch</p></td></tr><tr><td><p>rtf</p></td><td></td><td><p>configmaps, secrets</p></td><td><p>get</p></td></tr><tr><td><p>rtfctl-audit</p></td><td></td><td><p>secrets</p></td><td><p>create, get, patch, update</p></td></tr><tr><td></td><td></td><td><p>namespaces</p></td><td><p>create</p></td></tr><tr><td rowspan="5"><p><code>describe</code></p></td><td><p>&lt;app-namespace&gt;</p></td><td></td><td><p>pods</p></td><td><p>get, list, watch</p></td></tr><tr><td><p>rtf</p></td><td></td><td><p>configmaps, secrets</p></td><td><p>get</p></td></tr><tr><td><p>rtfctl-audit</p></td><td></td><td><p>secrets</p></td><td><p>create, get, patch, update</p></td></tr><tr><td rowspan="2"></td><td></td><td><p>namespaces</p></td><td><p>create</p></td></tr><tr><td><p>apps</p></td><td><p>deployments</p></td><td><p>get, list, watch</p></td></tr><tr><td rowspan="5"><p><code>disk</code></p></td><td rowspan="2"><p>&lt;app-namespace&gt;</p></td><td></td><td><p>pods</p></td><td><p>get, list, watch</p></td></tr><tr><td></td><td><p>pods/exec</p></td><td><p>create</p></td></tr><tr><td><p>rtf</p></td><td></td><td><p>configmaps, secrets</p></td><td><p>get</p></td></tr><tr><td><p>rtfctl-audit</p></td><td></td><td><p>secrets</p></td><td><p>create, get, patch, update</p></td></tr><tr><td></td><td></td><td><p>namespaces</p></td><td><p>create</p></td></tr><tr><td rowspan="5"><p><code>memory</code></p></td><td rowspan="2"><p>&lt;app-namespace&gt;</p></td><td></td><td><p>pods</p></td><td><p>get, list, watch</p></td></tr><tr><td></td><td><p>pods/exec</p></td><td><p>create</p></td></tr><tr><td><p>rtf</p></td><td></td><td><p>configmaps, secrets</p></td><td><p>get</p></td></tr><tr><td><p>rtfctl-audit</p></td><td></td><td><p>secrets</p></td><td><p>create, get, patch, update</p></td></tr><tr><td></td><td></td><td><p>namespaces</p></td><td><p>create</p></td></tr><tr><td rowspan="5"><p><code>package</code></p></td><td rowspan="2"><p>&lt;app-namespace&gt;</p></td><td></td><td><p>pods</p></td><td><p>get, list, watch</p></td></tr><tr><td></td><td><p>pods/exec</p></td><td><p>create</p></td></tr><tr><td><p>rtf</p></td><td></td><td><p>configmaps, secrets</p></td><td><p>get</p></td></tr><tr><td><p>rtfctl-audit</p></td><td></td><td><p>secrets</p></td><td><p>create, get, patch, update</p></td></tr><tr><td></td><td></td><td><p>namespaces</p></td><td><p>create</p></td></tr><tr><td rowspan="4"><p><code>restart</code></p></td><td><p>&lt;app-namespace&gt;</p></td><td></td><td><p>pods</p></td><td><p>delete, get, list, watch</p></td></tr><tr><td><p>rtf</p></td><td></td><td><p>configmaps, secrets</p></td><td><p>get</p></td></tr><tr><td><p>rtfctl-audit</p></td><td></td><td><p>secrets</p></td><td><p>create, get, patch, update</p></td></tr><tr><td></td><td></td><td><p>namespaces</p></td><td><p>create</p></td></tr><tr><td rowspan="5"><p><code>heapdump</code></p></td><td rowspan="2"><p>&lt;app-namespace&gt;</p></td><td></td><td><p>pods</p></td><td><p>get, list, watch</p></td></tr><tr><td></td><td><p>pods/exec</p></td><td><p>create</p></td></tr><tr><td><p>rtf</p></td><td></td><td><p>configmaps, secrets</p></td><td><p>get</p></td></tr><tr><td><p>rtfctl-audit</p></td><td></td><td><p>secrets</p></td><td><p>create, get, patch, update</p></td></tr><tr><td></td><td></td><td><p>namespaces</p></td><td><p>create</p></td></tr><tr><td rowspan="5"><p><code>threaddump</code></p></td><td rowspan="2"><p>&lt;app-namespace&gt;</p></td><td></td><td><p>secrets</p></td><td><p>get, list, watch</p></td></tr><tr><td></td><td><p>pods/exec</p></td><td><p>create</p></td></tr><tr><td><p>rtf</p></td><td></td><td><p>configmaps, secrets</p></td><td><p>get</p></td></tr><tr><td><p>rtfctl-audit</p></td><td></td><td><p>secrets</p></td><td><p>create, get, patch, update</p></td></tr><tr><td></td><td></td><td><p>namespaces</p></td><td><p>create</p></td></tr><tr><td rowspan="5"><p><code>get</code></p></td><td><p>&lt;app-namespace&gt;</p></td><td></td><td><p>secrets</p></td><td><p>get, list, watch</p></td></tr><tr><td><p>rtf</p></td><td></td><td><p>configmaps, secrets</p></td><td><p>get</p></td></tr><tr><td><p>rtfctl-audit</p></td><td></td><td><p>secrets</p></td><td><p>create, get, patch, update</p></td></tr><tr><td></td><td></td><td><p>namespaces</p></td><td><p>create</p></td></tr><tr><td></td><td><p>apps</p></td><td><p>deployments</p></td><td><p>get, list, watch</p></td></tr><tr><td rowspan="12"><p><code>report</code></p></td><td rowspan="8"><p>rtf</p></td><td></td><td><p>configmaps, limitranges, resourcequotas, secrets, serviceaccounts, services</p></td><td><p>get, list, watch</p></td></tr><tr><td></td><td><p>endpoints, pods/log</p></td><td><p>get</p></td></tr><tr><td><p>apps</p></td><td><p>daemonsets, deployments, replicasets</p></td><td><p>get, list, watch</p></td></tr><tr><td><p>batch</p></td><td><p>cronjobs</p></td><td><p>get, list, watch</p></td></tr><tr><td><p>batch</p></td><td><p>jobs</p></td><td><p>create, delete, get, list, watch</p></td></tr><tr><td><p>networking.k8s.io</p></td><td><p>ingresses</p></td><td><p>get, list, watch</p></td></tr><tr><td><p>rbac.authorization.k8s.io</p></td><td><p>rolebindings, roles</p></td><td><p>get, list, watch</p></td></tr><tr><td><p>rtf.mulesoft.com</p></td><td><p>persistencegateways, kubernetestemplates</p></td><td><p>get, list, watch</p></td></tr><tr><td><p>kube-node-lease</p></td><td><p>coordination.k8s.io</p></td><td><p>leases</p></td><td><p>get</p></td></tr><tr><td><p>rtfctl-audit</p></td><td></td><td><p>secrets</p></td><td><p>create, get, patch, update</p></td></tr><tr><td></td><td></td><td><p>namespaces</p></td><td><p>create, get, list, watch</p></td></tr><tr><td></td><td></td><td><p>events, nodes, pods</p></td><td><p>get, list, watch</p></td></tr><tr><td rowspan="5"><p><code>status</code></p></td><td rowspan="3"><p>rtf</p></td><td></td><td><p>configmaps, pods/log, secrets</p></td><td><p>get</p></td></tr><tr><td></td><td><p>pods</p></td><td><p>create, delete, get, list, watch</p></td></tr><tr><td><p>batch</p></td><td><p>jobs</p></td><td><p>create, delete, get</p></td></tr><tr><td><p>rtfctl-audit</p></td><td></td><td><p>secrets</p></td><td><p>create, get, patch, update</p></td></tr><tr><td></td><td></td><td><p>namespaces</p></td><td><p>create</p></td></tr><tr><td rowspan="6"><p><code>test</code></p></td><td rowspan="3"><p>rtf</p></td><td></td><td><p>configmaps, pods/log, secrets</p></td><td><p>get</p></td></tr><tr><td></td><td><p>pods</p></td><td><p>create, delete, get, list, watch</p></td></tr><tr><td><p>batch</p></td><td><p>jobs</p></td><td><p>create, delete, get</p></td></tr><tr><td><p>rtfctl-audit</p></td><td></td><td><p>secrets</p></td><td><p>create, get, patch, update</p></td></tr><tr><td rowspan="2"></td><td></td><td><p>nodes</p></td><td><p>get, list, watch</p></td></tr><tr><td></td><td><p>namespaces</p></td><td><p>create</p></td></tr></tbody></table>

- Namespace

  Permissions can be role-based or cluster role-based:

- Role-based: the namespace can be rtf, <app-namespace>, rtf-validate, or kube-node-lease.

- Cluster role-based: because it applies to the entire cluster, the namespace field doesn’t exist
  and is blank in the table.

- apiGroups

  The API group for the K8s resources. When you create a role, each K8s resource declares its API
  group or uses the core API group if not specified. Refer to
  [API groups](https://kubernetes.io/docs/reference/using-api/#api-groups) for details.

- Kubernetes Resource

  Type of Kubernetes resources, for example, `pods`, `services`, or `secrets` to which the
  permissions apply.

- Verbs

  Actions that are allowed on the specified Kubernetes resources.

## See Also

- [Runtime Fabric Core Software Kubernetes Permissions](https://docs.mulesoft.com/runtime-fabric/2.7/rtf-permissions)

- [Mule App Deployments Kubernetes Permissions on Runtime Fabric](https://docs.mulesoft.com/runtime-fabric/2.7/rtf-mule-app-permissions)
