Files
fn-serverless/api/runner/task.go
C Cirello ac0044f7d9 functions: hot containers (#332)
* functions: modify datastore to accomodate hot containers support

* functions: protocol between functions and hot containers

* functions: add hot containers clockwork

* fn: add hot containers support
2016-11-28 15:45:35 -02:00

47 lines
1.4 KiB
Go

package runner
import (
"context"
"io"
"time"
"github.com/fsouza/go-dockerclient"
"github.com/iron-io/functions/api/runner/task"
"github.com/iron-io/runner/drivers"
)
type containerTask struct {
ctx context.Context
cfg *task.Config
canRun chan bool
}
func (t *containerTask) Command() string { return "" }
func (t *containerTask) EnvVars() map[string]string {
return t.cfg.Env
}
func (t *containerTask) Input() io.Reader {
return t.cfg.Stdin
}
func (t *containerTask) Labels() map[string]string {
return map[string]string{
"LogName": t.cfg.AppName,
}
}
func (t *containerTask) Id() string { return t.cfg.ID }
func (t *containerTask) Route() string { return "" }
func (t *containerTask) Image() string { return t.cfg.Image }
func (t *containerTask) Timeout() time.Duration { return t.cfg.Timeout }
func (t *containerTask) Logger() (stdout, stderr io.Writer) { return t.cfg.Stdout, t.cfg.Stderr }
func (t *containerTask) Volumes() [][2]string { return [][2]string{} }
func (t *containerTask) WorkDir() string { return "" }
func (t *containerTask) Close() {}
func (t *containerTask) WriteStat(drivers.Stat) {}
// FIXME: for now just use empty creds => public docker hub image
func (t *containerTask) DockerAuth() docker.AuthConfiguration { return docker.AuthConfiguration{} }