Skip to main content

ControlPlane

Trait ControlPlane 

Source
pub trait ControlPlane {
    // Required methods
    fn initialize(&mut self) -> Result<()>;
    fn is_initialized(&self) -> bool;
    fn evaluate(
        &mut self,
        subject: &Subject,
        action: &Action,
    ) -> Result<SecurityDecision>;
    fn enforce(&mut self, decision: &SecurityDecision) -> Result<()>;
    fn shutdown(&mut self) -> Result<()>;
}
Expand description

Control plane for enforcing security policies on agents.

Implementations provide Linux-native security mechanisms such as:

  • BPF LSM hooks
  • cgroup v2 restrictions
  • Landlock sandboxing
  • seccomp filters
  • eBPF programs

Required Methods§

Source

fn initialize(&mut self) -> Result<()>

Initialize the control plane.

Source

fn is_initialized(&self) -> bool

Check if the control plane is initialized and ready.

Source

fn evaluate( &mut self, subject: &Subject, action: &Action, ) -> Result<SecurityDecision>

Evaluate an action and return a security decision.

Source

fn enforce(&mut self, decision: &SecurityDecision) -> Result<()>

Enforce a security decision.

Source

fn shutdown(&mut self) -> Result<()>

Release resources held by this control plane.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§