Skip to content

docs: add example for security agent readiness#101

Open
arnab-logs wants to merge 4 commits intokubernetes-sigs:mainfrom
arnab-logs:main
Open

docs: add example for security agent readiness#101
arnab-logs wants to merge 4 commits intokubernetes-sigs:mainfrom
arnab-logs:main

Conversation

@arnab-logs
Copy link
Contributor

This PR adds a new documentation example demonstrating how to use the Node Readiness Controller to gate node scheduling on the readiness of a security agent (for example, Falco).

The following files were changed:

  • Added a new example at:
    • docs/book/src/examples/security-agent-readiness.md
  • Updated the documentation summary to include the new page:
    • docs/book/src/SUMMARY.md

Fixes #100

@netlify
Copy link

netlify bot commented Jan 21, 2026

Deploy Preview for node-readiness-controller ready!

Name Link
🔨 Latest commit 68e3384
🔍 Latest deploy log https://app.netlify.com/projects/node-readiness-controller/deploys/698456b272b2f100088c46b3
😎 Deploy Preview https://deploy-preview-101--node-readiness-controller.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: arnab-logs
Once this PR has been reviewed and has the lgtm label, please assign dchen1107 for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Jan 21, 2026
@ajaysundark ajaysundark requested review from ajaysundark and removed request for SergeyKanzhelev and haircommander January 22, 2026 09:31
Comment on lines +134 to +138
2. **Install Falco and Apply the RBAC**:
```sh
chmod +x apply-falco.sh
sh apply-falco.sh
```
Copy link
Contributor

Choose a reason for hiding this comment

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

These scripts are not included in this PR. I wonder if you're still working on these or missed to update here.

@arnab-logs
Copy link
Contributor Author

I looked into a couple of approaches for handling the falco.sh file and made updates based on that. Happy to rework anything after review if there’s a preferred direction.


### 1. Deploy the Readiness Condition Reporter

To bridge the security agent’s internal health signal to Kubernetes, we deploy a readiness reporter that updates a Node Condition. This reporter is typically deployed as a sidecar container in the Falco DaemonSet.
Copy link
Contributor

Choose a reason for hiding this comment

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

Calling this as 'typical' is misleading. This just details how this example managed this readiness condition. If a component, eg: Falco, implements a node-status update in-tree this side-car reporter is unnecessary.

memory: "32Mi"
```

> Note: In this example, the security agent’s health is monitored by a side-car, so the reporter’s lifecycle is the same as the pod lifecycle. If the Falco pod is crashlooping, the sidecar will not run and cannot report readiness. For robust `continuous` readiness reporting, the reporter should be deployed `external` to the pod.
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: this could add a reference to npd for clarity, to clarify what do you mean as 'external' here.

metadata:
name: node-status-patch-role
rules:
- apiGroups: [""]
Copy link
Contributor

@ajaysundark ajaysundark Feb 9, 2026

Choose a reason for hiding this comment

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

Did you verify if this RBAC is sufficient for Falco? does it not need a node/get permissions?

spec:
# Conditions that must be satisfied before the taint is removed
conditions:
- type: "security.k8s.io/FalcoReady"
Copy link
Contributor

Choose a reason for hiding this comment

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

we dont need to use the "k8s.io" domain here, as the condition is what is set by Falco. preferably this is in the component's domain name.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs: Add example for security agent readiness

3 participants