import "go.sbk.wtf/runj/runtimespec"
type FreeBSD struct {
Network *FreeBSDNetwork `json:"network,omitempty"`
}
FreeBSD specifies FreeBSD-specific configuration options
type FreeBSDIPv4 struct {
// Mode specifies the IPv4 mode of the jail. Possible values are "new",
// "inherit", and "disable". Setting the Addr parameter implies a value of
// "new".
Mode FreeBSDIPv4Mode `json:"mode,omitempty"`
// Addr is a list of IPv4 addresses assigned to the jail. If this is set,
// the jail is restricted to using only these addresses.
Addr []string `json:"addr,omitempty"`
}
FreeBSDIPv4 encapsulates IPv4-specific jail options
FreeBSDIPv4Mode describes the mode of IPv4 in the jail. Possible values are "new", "inherit", and "disable". Setting the IPv4 Addr parameter implies a value of "new".
const ( FreeBSDIPv4ModeNew FreeBSDIPv4Mode = "new" FreeBSDIPv4ModeInherit FreeBSDIPv4Mode = "inherit" FreeBSDIPv4ModeDisable FreeBSDIPv4Mode = "disable" )
type FreeBSDNetwork struct {
IPv4 *FreeBSDIPv4 `json:"ipv4,omitempty"`
VNet *FreeBSDVNet `json:"vnet,omitempty"`
}
FreeBSDNetwork specifies how the jail's network should be configured by the kernel
type FreeBSDVNet struct {
// Mode specifies the vnet mode of the jail. Possible values are "new" and
// "inherit". Setting the Interfaces parameter implies a value of "new".
Mode FreeBSDVNetMode `json:"mode,omitempty"`
// Interfaces is a list of interfaces assigned to the jail. If this is set,
// the interfaces are moved into the jail and are inaccessible from the
// host.
Interfaces []string `json:"interfaces,omitempty"`
}
FreeBSDVNet encapsulates vnet-specific jail options
const ( FreeBSDVNetModeNew FreeBSDVNetMode = "new" FreeBSDVNetModeInherit FreeBSDVNetMode = "inherit" )