Documentation ¶
Index ¶
- Constants
- func NewPlugin(logger hclog.Logger) drivers.DriverPlugin
- type DriverExtra
- func (de *DriverExtra) DestroyTask(driverCtx context.Context, tracer trace.Tracer, _ hclog.Logger, ...) error
- func (de *DriverExtra) StartTask(driverCtx context.Context, tracer trace.Tracer, logger hclog.Logger, ...) (*drivers.TaskHandle, *drivers.DriverNetwork, error)
- func (de *DriverExtra) StopTask(driverCtx context.Context, tracer trace.Tracer, _ hclog.Logger, ...) error
- func (de *DriverExtra) TaskStats(ctx, driverCtx context.Context, tracer trace.Tracer, _ hclog.Logger, ...) (<-chan *structs.TaskResourceUsage, error)
- func (de *DriverExtra) WaitTask(ctx, driverCtx context.Context, tracer trace.Tracer, _ hclog.Logger, ...) (<-chan *drivers.ExitResult, error)
- type TaskConfig
- type TaskState
Constants ¶
View Source
const ( PluginName = "env-instance-task-driver" PluginVersion = "0.2.0" )
Variables ¶
This section is empty.
Functions ¶
func NewPlugin ¶
func NewPlugin(logger hclog.Logger) drivers.DriverPlugin
Types ¶
type DriverExtra ¶
type DriverExtra struct {
// contains filtered or unexported fields
}
func (*DriverExtra) DestroyTask ¶
func (*DriverExtra) StartTask ¶
func (de *DriverExtra) StartTask( driverCtx context.Context, tracer trace.Tracer, logger hclog.Logger, cfg *drivers.TaskConfig, tasks *driver.TaskStore[*driver.TaskHandle[*extraTaskHandle]], ) (*drivers.TaskHandle, *drivers.DriverNetwork, error)
func (*DriverExtra) TaskStats ¶
func (de *DriverExtra) TaskStats( ctx, driverCtx context.Context, tracer trace.Tracer, _ hclog.Logger, tasks *driver.TaskStore[*driver.TaskHandle[*extraTaskHandle]], taskID string, interval time.Duration, ) (<-chan *structs.TaskResourceUsage, error)
func (*DriverExtra) WaitTask ¶
func (de *DriverExtra) WaitTask( ctx, driverCtx context.Context, tracer trace.Tracer, _ hclog.Logger, tasks *driver.TaskStore[*driver.TaskHandle[*extraTaskHandle]], taskID string, ) (<-chan *drivers.ExitResult, error)
type TaskConfig ¶
type TaskConfig struct { InstanceID string `codec:"InstanceID"` EnvID string `codec:"EnvID"` KernelVersion string `codec:"KernelVersion"` FirecrackerVersion string `codec:"FirecrackerVersion"` HugePages bool `codec:"HugePages"` TeamID string `codec:"TeamID"` TraceID string `codec:"TraceID"` SpanID string `codec:"SpanID"` LogsProxyAddress string `codec:"LogsProxyAddress"` ConsulToken string `codec:"ConsulToken"` }
Click to show internal directories.
Click to hide internal directories.