use metrics_exporter_prometheus::PrometheusBuilder;
use restrict::{
policy::{Policy, Syscall},
SeccompError, TraceAction,
};
use std::fs;
fn main() -> Result<(), SeccompError> {
let recorder = PrometheusBuilder::new()
.install_recorder()
.expect("Failed to install recorder");
let mut policy = Policy::allow_all()?;
policy.deny(Syscall::Munmap);
policy.deny(Syscall::ExitGroup);
policy.trace(Syscall::Openat, |syscall| {
println!("Syscall {:?} triggered", syscall);
return TraceAction::Continue;
});
policy.apply()?;
let open_file = fs::File::open("test.txt");
println!("Opened file {:?}", open_file);
println!("{}", recorder.render());
Ok(())
}