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.