@@ -14,23 +14,23 @@ import (
1414 executorpkg "github.com/docker/docker/daemon/cluster/executor"
1515 clustertypes "github.com/docker/docker/daemon/cluster/provider"
1616 networktypes "github.com/docker/libnetwork/types"
17+ "github.com/docker/swarmkit/agent"
1718 "github.com/docker/swarmkit/agent/exec"
18- "github.com/docker/swarmkit/agent/secrets"
1919 "github.com/docker/swarmkit/api"
2020 "github.com/docker/swarmkit/api/naming"
2121 "golang.org/x/net/context"
2222)
2323
2424type executor struct {
25- backend executorpkg.Backend
26- secrets exec.SecretsManager
25+ backend executorpkg.Backend
26+ dependencies exec.DependencyManager
2727}
2828
2929// NewExecutor returns an executor from the docker client.
3030func NewExecutor (b executorpkg.Backend ) exec.Executor {
3131 return & executor {
32- backend : b ,
33- secrets : secrets . NewManager (),
32+ backend : b ,
33+ dependencies : agent . NewDependencyManager (),
3434 }
3535}
3636
@@ -162,8 +162,10 @@ func (e *executor) Configure(ctx context.Context, node *api.Node) error {
162162
163163// Controller returns a docker container runner.
164164func (e * executor ) Controller (t * api.Task ) (exec.Controller , error ) {
165+ dependencyGetter := agent .Restrict (e .dependencies , t )
166+
165167 if t .Spec .GetAttachment () != nil {
166- return newNetworkAttacherController (e .backend , t , e . secrets )
168+ return newNetworkAttacherController (e .backend , t , dependencyGetter )
167169 }
168170
169171 var ctlr exec.Controller
@@ -188,7 +190,7 @@ func (e *executor) Controller(t *api.Task) (exec.Controller, error) {
188190 return ctlr , fmt .Errorf ("unsupported runtime type: %q" , r .Generic .Kind )
189191 }
190192 case * api.TaskSpec_Container :
191- c , err := newController (e .backend , t , secrets . Restrict ( e . secrets , t ) )
193+ c , err := newController (e .backend , t , dependencyGetter )
192194 if err != nil {
193195 return ctlr , err
194196 }
@@ -218,7 +220,11 @@ func (e *executor) SetNetworkBootstrapKeys(keys []*api.EncryptionKey) error {
218220}
219221
220222func (e * executor ) Secrets () exec.SecretsManager {
221- return e .secrets
223+ return e .dependencies .Secrets ()
224+ }
225+
226+ func (e * executor ) Configs () exec.ConfigsManager {
227+ return e .dependencies .Configs ()
222228}
223229
224230type sortedPlugins []api.PluginDescription
0 commit comments