snp-daemon/src/config.rs
2024-12-06 01:30:57 +02:00

37 lines
683 B
Rust

#![allow(dead_code)]
use cidr::Ipv4Cidr;
use cidr::Ipv6Cidr;
use core::net::Ipv4Addr;
use core::net::Ipv6Addr;
struct Volume {
path: String,
// maximum allowed storage in MB
max_storage: u64,
}
struct Interface {
r#type: InterfaceType,
name: String,
ipv4_ranges: Vec<Ipv4Cidr>,
reserved_v4_addrs: Vec<Ipv4Addr>,
ipv6_ranges: Vec<Ipv6Cidr>,
reserved_v6_addrs: Vec<Ipv6Addr>,
// TODO: add bandwidth
}
enum InterfaceType {
NAT,
MACVTAP,
IPVTAP,
Bridge,
}
struct Config {
max_cores_per_vm: u64,
max_cpu_reservation: u64,
max_mem_reservation: u64,
network_interfaces: Vec<Interface>,
volumes: Vec<Volume>,
}