From 426377a4c9e3292ac50f9f55d65f2fdc50681c66 Mon Sep 17 00:00:00 2001 From: Nicolas De Loof Date: Mon, 13 Nov 2023 16:37:26 +0100 Subject: [PATCH] reject compose file using `secrets|configs.driver or template_driver` Signed-off-by: Nicolas De Loof --- pkg/compose/create.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/pkg/compose/create.go b/pkg/compose/create.go index b7c4505e7..2932f0a41 100644 --- a/pkg/compose/create.go +++ b/pkg/compose/create.go @@ -20,6 +20,7 @@ import ( "bytes" "context" "encoding/json" + "errors" "fmt" "os" "path" @@ -804,6 +805,13 @@ func buildContainerConfigMounts(p types.Project, s types.ServiceConfig) ([]mount return nil, fmt.Errorf("unsupported external config %s", definedConfig.Name) } + if definedConfig.Driver != "" { + return nil, errors.New("Docker Compose does not support configs.*.driver") + } + if definedConfig.TemplateDriver != "" { + return nil, errors.New("Docker Compose does not support configs.*.template_driver") + } + bindMount, err := buildMount(p, types.ServiceVolumeConfig{ Type: types.VolumeTypeBind, Source: definedConfig.File, @@ -843,6 +851,13 @@ func buildContainerSecretMounts(p types.Project, s types.ServiceConfig) ([]mount return nil, fmt.Errorf("unsupported external secret %s", definedSecret.Name) } + if definedSecret.Driver != "" { + return nil, errors.New("Docker Compose does not support secrets.*.driver") + } + if definedSecret.TemplateDriver != "" { + return nil, errors.New("Docker Compose does not support secrets.*.template_driver") + } + if definedSecret.Environment != "" { continue }