Browse code

update to support latest swarm changes

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>

Evan Hazlett authored on 2016/10/28 02:34:58
Showing 4 changed files
... ...
@@ -30,10 +30,10 @@ import (
30 30
 type containerAdapter struct {
31 31
 	backend   executorpkg.Backend
32 32
 	container *containerConfig
33
-	secrets   exec.SecretProvider
33
+	secrets   exec.SecretGetter
34 34
 }
35 35
 
36
-func newContainerAdapter(b executorpkg.Backend, task *api.Task, secrets exec.SecretProvider) (*containerAdapter, error) {
36
+func newContainerAdapter(b executorpkg.Backend, task *api.Task, secrets exec.SecretGetter) (*containerAdapter, error) {
37 37
 	ctnr, err := newContainerConfig(task)
38 38
 	if err != nil {
39 39
 		return nil, err
... ...
@@ -20,7 +20,7 @@ type networkAttacherController struct {
20 20
 	closed  chan struct{}
21 21
 }
22 22
 
23
-func newNetworkAttacherController(b executorpkg.Backend, task *api.Task, secrets exec.SecretProvider) (*networkAttacherController, error) {
23
+func newNetworkAttacherController(b executorpkg.Backend, task *api.Task, secrets exec.SecretGetter) (*networkAttacherController, error) {
24 24
 	adapter, err := newContainerAdapter(b, task, secrets)
25 25
 	if err != nil {
26 26
 		return nil, err
... ...
@@ -33,7 +33,7 @@ type controller struct {
33 33
 var _ exec.Controller = &controller{}
34 34
 
35 35
 // NewController returns a docker exec runner for the provided task.
36
-func newController(b executorpkg.Backend, task *api.Task, secrets exec.SecretProvider) (*controller, error) {
36
+func newController(b executorpkg.Backend, task *api.Task, secrets exec.SecretGetter) (*controller, error) {
37 37
 	adapter, err := newContainerAdapter(b, task, secrets)
38 38
 	if err != nil {
39 39
 		return nil, err
... ...
@@ -10,18 +10,21 @@ import (
10 10
 	clustertypes "github.com/docker/docker/daemon/cluster/provider"
11 11
 	networktypes "github.com/docker/libnetwork/types"
12 12
 	"github.com/docker/swarmkit/agent/exec"
13
+	"github.com/docker/swarmkit/agent/secrets"
13 14
 	"github.com/docker/swarmkit/api"
14 15
 	"golang.org/x/net/context"
15 16
 )
16 17
 
17 18
 type executor struct {
18 19
 	backend executorpkg.Backend
20
+	secrets exec.SecretsManager
19 21
 }
20 22
 
21 23
 // NewExecutor returns an executor from the docker client.
22 24
 func NewExecutor(b executorpkg.Backend) exec.Executor {
23 25
 	return &executor{
24 26
 		backend: b,
27
+		secrets: secrets.NewManager(),
25 28
 	}
26 29
 }
27 30
 
... ...
@@ -120,12 +123,12 @@ func (e *executor) Configure(ctx context.Context, node *api.Node) error {
120 120
 }
121 121
 
122 122
 // Controller returns a docker container runner.
123
-func (e *executor) Controller(t *api.Task, secrets exec.SecretProvider) (exec.Controller, error) {
123
+func (e *executor) Controller(t *api.Task) (exec.Controller, error) {
124 124
 	if t.Spec.GetAttachment() != nil {
125
-		return newNetworkAttacherController(e.backend, t, secrets)
125
+		return newNetworkAttacherController(e.backend, t, e.secrets)
126 126
 	}
127 127
 
128
-	ctlr, err := newController(e.backend, t, secrets)
128
+	ctlr, err := newController(e.backend, t, e.secrets)
129 129
 	if err != nil {
130 130
 		return nil, err
131 131
 	}
... ...
@@ -150,6 +153,10 @@ func (e *executor) SetNetworkBootstrapKeys(keys []*api.EncryptionKey) error {
150 150
 	return nil
151 151
 }
152 152
 
153
+func (e *executor) Secrets() exec.SecretsManager {
154
+	return e.secrets
155
+}
156
+
153 157
 type sortedPlugins []api.PluginDescription
154 158
 
155 159
 func (sp sortedPlugins) Len() int { return len(sp) }