From 1a055deb49a39ec52504984de9175a9decd31e61 Mon Sep 17 00:00:00 2001 From: Lucas Roesler Date: Tue, 7 Nov 2017 10:11:59 +0100 Subject: [PATCH] Add secret management to the update handler **What** - Pass secrets to the updateSpec method Signed-off-by: Lucas Roesler --- gateway/handlers/update_handler.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/gateway/handlers/update_handler.go b/gateway/handlers/update_handler.go index 9fe554d5..989deea3 100644 --- a/gateway/handlers/update_handler.go +++ b/gateway/handlers/update_handler.go @@ -45,7 +45,14 @@ func MakeUpdateFunctionHandler(metricsOptions metrics.MetricOptions, c *client.C return } - updateSpec(&request, &service.Spec, maxRestarts, restartDelay) + secrets, err := makeSecretsArray(c, request.Secrets) + if err != nil { + log.Println(err) + w.WriteHeader(http.StatusBadRequest) + w.Write([]byte("Deployment error: " + err.Error())) + return + } + updateSpec(&request, &service.Spec, maxRestarts, restartDelay, secrets) updateOpts := types.ServiceUpdateOptions{} updateOpts.RegistryAuthFrom = types.RegistryAuthFromSpec @@ -72,7 +79,7 @@ func MakeUpdateFunctionHandler(metricsOptions metrics.MetricOptions, c *client.C } } -func updateSpec(request *requests.CreateFunctionRequest, spec *swarm.ServiceSpec, maxRestarts uint64, restartDelay time.Duration) { +func updateSpec(request *requests.CreateFunctionRequest, spec *swarm.ServiceSpec, maxRestarts uint64, restartDelay time.Duration, secrets []*swarm.SecretReference) { constraints := []string{} if request.Constraints != nil && len(request.Constraints) > 0 { @@ -103,6 +110,7 @@ func updateSpec(request *requests.CreateFunctionRequest, spec *swarm.ServiceSpec Target: request.Network, }, } + spec.TaskTemplate.ContainerSpec.Secrets = secrets spec.TaskTemplate.Resources = buildResources(request)