Runtime Security
What you’ll accomplish
Section titled “What you’ll accomplish”You’ll verify and tune the HA defaults for Falco and Falcosidekick, ensuring runtime threat detection and alert delivery remain available during node failures or pod rescheduling.
Falco detects runtime threats like unexpected process execution, file access, and network connections. If Falcosidekick — the component responsible for delivering those detections to your SIEM, Alertmanager, or chat integrations — loses a replica, alerts may be delayed or dropped entirely. Ensuring redundancy in the alert delivery path means your security team never misses a detection.
Prerequisites
Section titled “Prerequisites”- UDS CLI installed
- Access to a Kubernetes cluster (multi-node, multi-AZ recommended)
Before you begin
Section titled “Before you begin”Falco runs as a DaemonSet — one pod per node — so it automatically scales with your cluster. No replica configuration is needed for Falco itself.
Falcosidekick — the component that fans out alerts to your configured destinations — runs with 2 replicas by default for HA.
-
Tune Falcosidekick replicas and resources
To adjust the replica count for environments with higher alert volume or stricter delivery requirements:
uds-bundle.yaml packages:- name: corerepository: registry.defenseunicorns.com/public/coreref: x.x.x-upstreamoverrides:falco:falco:values:# Number of Falcosidekick alert processing replicas- path: falcosidekick.replicaCountvalue: 3# Falcosidekick resources (adjust for your environment)- path: falcosidekick.resourcesvalue:requests:cpu: 100mmemory: 128Milimits:cpu: 200mmemory: 256MiFor the full list of Falcosidekick helm values, see the Falcosidekick chart documentation.
-
Tune Falco resources
Falco’s resource needs depend on the number of syscall events being processed. For nodes with high workload density, increase the default allocation:
uds-bundle.yaml packages:- name: corerepository: registry.defenseunicorns.com/public/coreref: x.x.x-upstreamoverrides:falco:falco:values:# Falco DaemonSet resources (adjust for your environment)- path: resourcesvalue:requests:cpu: 100mmemory: 512Milimits:cpu: 1000mmemory: 1Gi -
Create and deploy your bundle
Terminal window uds create <path-to-bundle-dir>uds deploy uds-bundle-<name>-<arch>-<version>.tar.zst
Verification
Section titled “Verification”# Check Falcosidekick replicasuds zarf tools kubectl get pods -n falco -l app.kubernetes.io/name=falcosidekick
# Verify Falco DaemonSet coverage (one pod per node)uds zarf tools kubectl get pods -n falco -l app.kubernetes.io/name=falco -o wideSuccess criteria:
- Falcosidekick shows the expected number of replicas (default: 2), all
Running - Falco DaemonSet has one pod per node
Troubleshooting
Section titled “Troubleshooting”Problem: Falcosidekick alerts not reaching external destinations
Section titled “Problem: Falcosidekick alerts not reaching external destinations”Symptoms: Alerts appear in Falco logs but do not arrive in Slack, SIEM, or other configured destinations.
Solution: Check Falcosidekick logs for delivery errors:
uds zarf tools kubectl logs -n falco -l app.kubernetes.io/name=falcosidekick --tail=50Common causes include network policies blocking outbound traffic and incorrect webhook URLs.
Related Documentation
Section titled “Related Documentation”- Falco Helm Chart — full list of Falco helm values
- Falcosidekick Helm Chart — full list of Falcosidekick helm values
- Falco: Default Rules Reference — built-in detection rules
- Falco: Outputs and Alerting — how Falco delivers alerts to Falcosidekick and other destinations
- Falcosidekick: Configuration — supported output destinations and tuning options
Next steps
Section titled “Next steps”These guides and concepts may be useful to explore next: