Overview
Pod isolation actions let you respond to a threat directly from RAD Security — without leaving the platform and withoutkubectl access to the cluster. When you create an action, RAD Security queues it for the cluster, and the rad-sync plugin already running in that cluster picks it up and applies the change through the Kubernetes API.
Three action types are available:
Actions are available both from the Actions tab of a cluster in the UI and from the Cluster Actions API. Every action — whichever way it was created — is recorded with its author, timestamps, and execution result.
Actions target pods. To isolate a workload permanently, address the controller (Deployment, StatefulSet, DaemonSet) as well — see Terminate Pod.
Prerequisites
The cluster is connected to RAD Security and the
sync plugin is running and healthy. The plugin status is shown on the Overview tab of the cluster details panel. See Kubernetes Setup and rad-sync.The
rad-sync ClusterRole grants the permissions the actions require. The default Helm chart already includes them:Your RAD Security user or access key has modify permission on the account. Listing and viewing actions requires read permission.
How execution works
1
The action is created
You submit an action from the UI or the API. RAD Security stores it with status
Pending and returns an action ID in the form ca-<ksuid>.2
rad-sync picks it up
The
rad-sync plugin in the target cluster polls RAD Security for pending work. The default poll interval is 60 seconds (sync-interval), so an action typically starts executing within a minute.3
The change is applied
rad-sync applies the operation with the Kubernetes API using the cluster’s own service account — RAD Security never connects inbound to your cluster.4
The result is reported back
rad-sync reports the outcome, and the action moves to Executed or Failed. The result field carries the message shown in the UI, for example Resource default/nginx-new has been deleted.5
Failures are retried
A failing action is retried on each sync cycle up to 5 times (
max-sync-retries). After that it is marked Failed with a result of Max retries reached: 5. Last error: ....Action statuses
Using the UI
Open Data Sources → Connections → Clusters, select the cluster, and open the Actions tab.
Creating an action
1
Open the dialog
Select New Action in the top right of the Actions tab.

2
Choose the action type
Pick Terminate Pod, Disable Outbound Traffic, or Label Pod. A short description of the selected action appears under the field.

3
Select the namespace
Namespaces are loaded from the cluster inventory and can be filtered by typing.

4
Select the pod
The pod list is scoped to the namespace you selected. Changing the namespace resets the pod selection.
5
Fill in action-specific fields and confirm
For Label Pod, add one or more key/value pairs. Then confirm with the action button — Terminate Pod, Disable Outbound, or Apply Labels.
Pending and updates to Executed or Failed on its own once rad-sync has processed it.
Terminate Pod

Disable Outbound Traffic

-
A
label_podaction that applies the quarantine labels to the target pod: -
A
disable_outboundaction that creates a deny-all-egressNetworkPolicynameddeny-egress-<quarantine_id>in the pod’s namespace, selecting exactly those labels:
quarantine_id, each quarantine is independent — quarantining a second pod in the same namespace does not widen or replace the first policy.
Ingress traffic is not affected. The policy sets
policyTypes: [Egress] only, so existing connections into the pod and its Service continue to work. That is deliberate: it keeps the pod reachable for forensics while cutting off command-and-control and data exfiltration.Label Pod

metadata.labels on the target pod. Existing labels that you do not name are left untouched.
Labels are useful to mark a pod for follow-up tooling — for example to make it selectable by your own NetworkPolicies, admission controls, or dashboards:
Removing a quarantine
There is no “undo” action. To lift a quarantine, remove the objects in the cluster directly:quarantine_id is shown on the action entry in the Actions tab and returned in the action’s parameters.
API reference
All endpoints are served fromhttps://api.rad.security.
Authentication
Create an access key in Settings → Access Keys, exchange it for a session token, and send the token as a bearer token. See Managing API Keys.Create actions
201 Created with the created actions.
Request fields
Response
A single
disable_outbound request returns two action objects — the label_pod action that applies the quarantine labels and the disable_outbound action that creates the NetworkPolicy. Both must reach Executed for the pod to be quarantined. The generated quarantine_id is in the parameters of both.List actions
Get an action
Pending.
Action object
Validation rules
Requests are validated before anything is queued. A rejected request returns400 and creates no actions — including the other entries in the same batch.
Validation does not check that the pod exists. An action targeting a missing pod is accepted, then reported as
Failed by rad-sync with the Kubernetes “not found” error.Label validation rules
Troubleshooting
The action stays Pending
The action stays Pending
The cluster has not picked it up yet. Check the Overview tab of the cluster details panel: the
sync plugin must be listed and healthy, and the cluster’s Last seen timestamp should be recent.The default poll interval is 60 seconds, so allow at least a minute. If the plugin is not running, or the cluster has lost connectivity to api.rad.security on port 443, actions queue up and execute once it reconnects.Failed: pods ... not found
Failed: pods ... not found
The pod no longer exists under that name in that namespace — it was already deleted, or it is controller-managed and was recreated with a new name. Refresh the pod list and create the action against the current pod name.
Failed: is forbidden
Failed: is forbidden
The
rad-sync service account is missing the RBAC permission for the operation. Confirm the rad-sync ClusterRole grants delete/patch on pods and create on networkpolicies (see Prerequisites), and upgrade the rad-plugins Helm release if the chart predates these rules.disable_outbound reports Executed but traffic still flows
disable_outbound reports Executed but traffic still flows
The NetworkPolicy was created, but nothing enforces it. Verify your CNI implements NetworkPolicy, then confirm the policy and the pod labels line up:Both quarantine labels must be present on the pod. If the
label_pod half of the pair failed, the policy selects nothing.The terminated pod came back
The terminated pod came back
Expected when a controller owns the pod. Terminating a pod stops the running process; the Deployment or ReplicaSet then schedules a replacement. Scale the controller to zero, or delete it, to keep the workload down.
403 or 401 from the API
403 or 401 from the API
Session tokens are short-lived — re-authenticate to get a fresh token. Creating actions requires modify permission on the account; listing them requires read.
Next Steps
Kubernetes Setup
Connect a cluster and install the RAD plugins.
rad-sync
The plugin that applies isolation actions in your cluster.
Managing API Keys
Create the access key used to call the Cluster Actions API.
Runtime Security
Detect the behavior that warrants an isolation action.