Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 17 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ request and provide a response, both as JSON data.

Plugins in NRI are daemon-like entities. A single instance of a plugin is
now responsible for handling the full stream of NRI events and requests. A
unix-domain socket is used as the transport for communication. Instead of
unix-domain socket (`/var/run/nri/nri.sock`) is used as the transport for communication. Instead of
JSON requests and responses NRI is defined as a formal, protobuf-based
'NRI plugin protocol' which is compiled into ttRPC bindings. This should
result in improved communication efficiency with lower per-message overhead,
Expand Down Expand Up @@ -491,6 +491,22 @@ access to these sockets and can act as NRI or Device Plugins. See the
and [best practices](https://kubernetes.io/docs/setup/best-practices/enforcing-pod-security-standards/)
about Kubernetes security.

To use the plugins in SELinux-enabled environments, either create a new policy
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
To use the plugins in SELinux-enabled environments, either create a new policy
One expected path for running NRI plugins is to run them as a pod/container in a daemonset on each of the nodes of a cluster.
### SELinux enabled environments
NOTE: To run the plugins, as a pod, in `SELinux-enabled` environments the kubernetes security level assigned to the pod MUST

pod security policies have been deprecated .. they've become levels assigned or via controller.. it's confusing :-)

or set the SELinux type to spc_t (Super Privileged Container) in the pod's security
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
or set the SELinux type to spc_t (Super Privileged Container) in the pod's security
set the SELinux type label to spc_t (Super Privileged Container) in the pod's security

context. For example:
```yaml
spec:
template:
spec:
containers:
- name: plugin
...
securityContext:
...
seLinuxOptions:
type: spc_t
```

## API Stability

NRI APIs should not be considered stable yet. We try to avoid unnecessarily
Expand Down
Loading