Documentation ¶
Index ¶
- func IsJailActive(jailname string) bool
- func Jailcmd(params map[string]string) (error, string)
- func Jailrctl(jname string, params map[string]uint64) error
- func NewJailDriver(logger hclog.Logger) drivers.DriverPlugin
- func RemoveDuplicatesFromSlice(s []string) []string
- func WaitTillStopped(jname string) (bool, error)
- type Config
- type Driver
- func (d *Driver) Capabilities() (*drivers.Capabilities, error)
- func (d *Driver) ConfigSchema() (*hclspec.Spec, error)
- func (d *Driver) DestroyTask(taskID string, force bool) error
- func (d *Driver) ExecTask(taskID string, cmd []string, timeout time.Duration) (*drivers.ExecTaskResult, error)
- func (d *Driver) Fingerprint(ctx context.Context) (<-chan *drivers.Fingerprint, error)
- func (d *Driver) InspectTask(taskID string) (*drivers.TaskStatus, error)
- func (d *Driver) PluginInfo() (*base.PluginInfoResponse, error)
- func (d *Driver) RecoverTask(handle *drivers.TaskHandle) error
- func (d *Driver) SetConfig(cfg *base.Config) error
- func (d *Driver) Shutdown(ctx context.Context) error
- func (d *Driver) SignalTask(taskID string, signal string) error
- func (d *Driver) StartTask(cfg *drivers.TaskConfig) (*drivers.TaskHandle, *drivers.DriverNetwork, error)
- func (d *Driver) StopTask(taskID string, timeout time.Duration, signal string) error
- func (d *Driver) TaskConfigSchema() (*hclspec.Spec, error)
- func (d *Driver) TaskEvents(ctx context.Context) (<-chan *drivers.TaskEvent, error)
- func (d *Driver) TaskStats(ctx context.Context, taskID string, interval time.Duration) (<-chan *drivers.TaskResourceUsage, error)
- func (d *Driver) WaitTask(ctx context.Context, taskID string) (<-chan *drivers.ExitResult, error)
- type Rctl
- type RctlOpts
- type TaskConfig
- type TaskState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsJailActive ¶
func NewJailDriver ¶
func NewJailDriver(logger hclog.Logger) drivers.DriverPlugin
func WaitTillStopped ¶
Types ¶
type Config ¶
type Config struct { }
Config is the driver configuration set by the SetConfig RPC call
type Driver ¶
type Driver struct {
// contains filtered or unexported fields
}
func (*Driver) Capabilities ¶
func (d *Driver) Capabilities() (*drivers.Capabilities, error)
func (*Driver) Fingerprint ¶
func (*Driver) InspectTask ¶
func (d *Driver) InspectTask(taskID string) (*drivers.TaskStatus, error)
func (*Driver) PluginInfo ¶
func (d *Driver) PluginInfo() (*base.PluginInfoResponse, error)
func (*Driver) RecoverTask ¶
func (d *Driver) RecoverTask(handle *drivers.TaskHandle) error
func (*Driver) StartTask ¶
func (d *Driver) StartTask(cfg *drivers.TaskConfig) (*drivers.TaskHandle, *drivers.DriverNetwork, error)
func (*Driver) TaskEvents ¶
type Rctl ¶
type Rctl struct { Cputime RctlOpts `codec:"Cputime"` Datasize RctlOpts `codec:"Datasize"` Coredumpsize RctlOpts `codec:"Coredumpsize"` Stacksize RctlOpts `codec:"Stacksize"` Memoryuse RctlOpts `codec:"Memoryuse"` Memorylocked RctlOpts `codec:"Memorylocked"` Maxproc RctlOpts `codec:"Maxproc"` Openfiles RctlOpts `codec:"Openfiles"` Vmemoryuse RctlOpts `codec:"Vmemoryuse"` Pseudoterminals RctlOpts `codec:"Pseudoterminals"` Swapuse RctlOpts `codec:"Swapuse"` Nthr RctlOpts `codec:"Nthr"` Msgqqueued RctlOpts `codec:"Msgqqueued"` Msgqsize RctlOpts `codec:"Msgqsize"` Nmsgq RctlOpts `codec:"Nmsgq"` Nsemop RctlOpts `codec:"Nsemop"` Nshm RctlOpts `codec:"Nshm"` Shmsize RctlOpts `codec:"Shmsize"` Wallclock RctlOpts `codec:"Wallclock"` Pcpu RctlOpts `codec:"Pcpu"` Readbps RctlOpts `codec:"Readbps"` Writebps RctlOpts `codec:"Writebps"` Readiops RctlOpts `codec:"Readiops"` Writeiops RctlOpts `codec:"Writeiops"` }
type TaskConfig ¶
type TaskConfig struct { Path string `codec:"Path"` Docker string `codec:"Docker"` Jid string `codec:"Jid"` Ip4_addr string `codec:"Ip4_addr"` Ip4_saddrsel bool `codec:"Ip4_saddrsel"` Ip4 string `codec:"Ip4"` Ip6_addr string `codec:"Ip6_addr"` Ip6_saddrsel bool `codec:"Ip6_saddrsel"` Ip6 string `codec:"Ip6"` Vnet string `codec:"Vnet"` Host_hostname string `codec:"Host_hostname"` Host string `codec:"Host"` Securelevel string `codec:"Securelevel"` Devfs_ruleset string `codec:"Devfs_ruleset"` Children_max uint `codec:"Children_max"` Children_cur uint `codec:"Children_cur"` Enforce_statfs uint `codec:"Enforce_statfs"` Persist bool `codec:"Persist"` Osrelease string `codec:"Osrelease"` Osreldate string `codec:"Osreldate"` Allow_set_hostname bool `codec:"Allow_set_hostname"` Allow_sysvipc bool `codec:"Allow_sysvipc"` Allow_raw_sockets bool `codec:"Allow_raw_sockets"` Allow_chflags bool `codec:"Allow_chflags"` Allow_mount bool `codec:"Allow_mount"` Allow_mount_devfs bool `codec:"Allow_mount.devfs"` Allow_quotas bool `codec:"Allow_quotas"` Allow_read_msgbuf bool `codec:"Allow_read_msgbuf"` Allow_socket_af bool `codec:"Allow_socket_af"` Allow_reserved_ports bool `codec:"Allow_reserved_ports"` Allow_mlock bool `codec:"Allow_mlock"` Allow_mount_fdescfs bool `codec:"Allow_mount_fdescfs"` Allow_mount_fusefs bool `codec:"Allow_mount_fusefs"` Allow_mount_nullfs bool `codec:"Allow_mount_nullfs"` Allow_mount_procfs bool `codec:"Allow_mount_procfs"` Allow_mount_linprocfs bool `codec:"Allow_mount_linprocfs"` Allow_mount_linsysfs bool `codec:"Allow_mount_linsysfs"` Allow_mount_tmpfs bool `codec:"Allow_mount_tmpfs"` Allow_mount_zfs bool `codec:"Allow_mount_zfs"` Allow_vmm bool `codec:"Allow_vmm"` Linux string `codec:"Linux"` Linux_osname string `codec:"Linux_osname"` Linux_osrelease string `codec:"Linux_osrelease"` Linux_oss_version string `codec:"Linux_oss_version"` Sysvmsg string `codec:"Sysvmsg"` Sysvsem string `codec:"Sysvsem"` Sysvshm string `codec:"Sysvshm"` Exec_prestart string `codec:"Exec_prestart"` Exec_prestop string `codec:"Exec_prestop"` Exec_created string `codec:"Exec_created"` Exec_start string `codec:"Exec_start"` Exec_stop string `codec:"Exec_stop"` Exec_poststart string `codec:"Exec_postart"` Exec_poststop string `codec:"Exec_poststop"` Exec_clean bool `codec:"Exec_clean"` Exec_jail_user string `codec:"Exec_jail_user"` Exec_system_jail_user string `codec:"Exec_system_jail_user"` Exec_system_user string `codec:"Exec_system_user"` Exec_timeout uint `codec:"Exec_timeout"` Exec_consolelog string `codec:"Exec_consolelog"` Exec_fib string `codec:"Exec_fib"` Stop_timeout uint `codec:"Stop_timeout"` Nic string `codec:"Nic"` Vnet_nic string `codec:"Vnet_nic"` Ip_hostname string `codec:"Ip_hostname"` Mount bool `codec:"Mount"` Mount_fstab string `codec:"Mount_fstab"` Mount_devfs bool `codec:"Mount_devfs"` Mount_fdescfs bool `codec:"Mount_fdescfs"` Depend string `codec:"Depend"` Rctl Rctl `codec:"Rctl"` }
TaskConfig is the driver configuration of a task within a job
Click to show internal directories.
Click to hide internal directories.