mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
Hide details of delegated agents for PR and LB, to disable docker for LB (#872)
* Move delegated agent creation within NewLBAgent so we can hide the fact we disable docker * Move delegated agent creation within NewPureRunner for better encapsulation
This commit is contained in:
@@ -9,6 +9,7 @@ import (
|
||||
|
||||
"github.com/fnproject/fn/api/agent/drivers"
|
||||
"github.com/fnproject/fn/api/agent/drivers/docker"
|
||||
"github.com/fnproject/fn/api/agent/drivers/mock"
|
||||
"github.com/fnproject/fn/api/agent/protocol"
|
||||
"github.com/fnproject/fn/api/common"
|
||||
"github.com/fnproject/fn/api/id"
|
||||
@@ -111,14 +112,13 @@ type agent struct {
|
||||
}
|
||||
|
||||
func New(da DataAccess) Agent {
|
||||
a := NewSyncOnly(da).(*agent)
|
||||
a := createAgent(da, true).(*agent)
|
||||
a.wg.Add(1)
|
||||
go a.asyncDequeue() // safe shutdown can nanny this fine
|
||||
return a
|
||||
}
|
||||
|
||||
func NewSyncOnly(da DataAccess) Agent {
|
||||
|
||||
func createAgent(da DataAccess, withDocker bool) Agent {
|
||||
cfg, err := NewAgentConfig()
|
||||
if err != nil {
|
||||
logrus.WithError(err).Fatalf("error in agent config cfg=%+v", cfg)
|
||||
@@ -126,9 +126,14 @@ func NewSyncOnly(da DataAccess) Agent {
|
||||
logrus.Infof("agent starting cfg=%+v", cfg)
|
||||
|
||||
// TODO: Create drivers.New(runnerConfig)
|
||||
driver := docker.NewDocker(drivers.Config{
|
||||
ServerVersion: cfg.MinDockerVersion,
|
||||
})
|
||||
var driver drivers.Driver
|
||||
if withDocker {
|
||||
driver = docker.NewDocker(drivers.Config{
|
||||
ServerVersion: cfg.MinDockerVersion,
|
||||
})
|
||||
} else {
|
||||
driver = mock.New()
|
||||
}
|
||||
|
||||
a := &agent{
|
||||
cfg: *cfg,
|
||||
|
||||
@@ -102,7 +102,8 @@ type lbAgent struct {
|
||||
shutdown chan struct{}
|
||||
}
|
||||
|
||||
func NewLBAgent(agent Agent, rp pool.RunnerPool, p pool.Placer) (Agent, error) {
|
||||
func NewLBAgent(da DataAccess, rp pool.RunnerPool, p pool.Placer) (Agent, error) {
|
||||
agent := createAgent(da, false)
|
||||
a := &lbAgent{
|
||||
delegatedAgent: agent,
|
||||
rp: rp,
|
||||
|
||||
@@ -546,15 +546,16 @@ func (pr *pureRunner) Start() error {
|
||||
return err
|
||||
}
|
||||
|
||||
func UnsecuredPureRunner(cancel context.CancelFunc, addr string, a Agent) (*pureRunner, error) {
|
||||
return NewPureRunner(cancel, addr, a, "", "", "", nil)
|
||||
func UnsecuredPureRunner(cancel context.CancelFunc, addr string, da DataAccess) (*pureRunner, error) {
|
||||
return NewPureRunner(cancel, addr, da, "", "", "", nil)
|
||||
}
|
||||
|
||||
func DefaultPureRunner(cancel context.CancelFunc, addr string, a Agent, cert string, key string, ca string) (*pureRunner, error) {
|
||||
return NewPureRunner(cancel, addr, a, cert, key, ca, nil)
|
||||
func DefaultPureRunner(cancel context.CancelFunc, addr string, da DataAccess, cert string, key string, ca string) (*pureRunner, error) {
|
||||
return NewPureRunner(cancel, addr, da, cert, key, ca, nil)
|
||||
}
|
||||
|
||||
func NewPureRunner(cancel context.CancelFunc, addr string, a Agent, cert string, key string, ca string, gate CapacityGate) (*pureRunner, error) {
|
||||
func NewPureRunner(cancel context.CancelFunc, addr string, da DataAccess, cert string, key string, ca string, gate CapacityGate) (*pureRunner, error) {
|
||||
a := createAgent(da, true)
|
||||
var pr *pureRunner
|
||||
var err error
|
||||
if cert != "" && key != "" && ca != "" {
|
||||
|
||||
Reference in New Issue
Block a user