Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
| ... | ... |
@@ -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) }
|