From fdf4fc6737b3e3203508d8b3cbc0bf22cdeda92c Mon Sep 17 00:00:00 2001 From: decentral1se Date: Sun, 21 Nov 2021 14:55:55 +0100 Subject: [PATCH] fix: ensure validation takes place Part of https://git.coopcloud.tech/coop-cloud/organising/issues/243#issuecomment-10434. --- pkg/upstream/stack/loader.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkg/upstream/stack/loader.go b/pkg/upstream/stack/loader.go index 88527660..369244de 100644 --- a/pkg/upstream/stack/loader.go +++ b/pkg/upstream/stack/loader.go @@ -13,6 +13,11 @@ import ( "github.com/sirupsen/logrus" ) +// DontSkipValidation ensures validation is done for compose file loading +func DontSkipValidation(opts *loader.Options) { + opts.SkipValidation = false +} + // LoadComposefile parse the composefile specified in the cli and returns its Config and version. func LoadComposefile(opts Deploy, appEnv map[string]string) (*composetypes.Config, error) { configDetails, err := getConfigDetails(opts.Composefiles, appEnv) @@ -21,13 +26,12 @@ func LoadComposefile(opts Deploy, appEnv map[string]string) (*composetypes.Confi } dicts := getDictsFrom(configDetails.ConfigFiles) - config, err := loader.Load(configDetails) + config, err := loader.Load(configDetails, DontSkipValidation) if err != nil { if fpe, ok := err.(*loader.ForbiddenPropertiesError); ok { return nil, fmt.Errorf("compose file contains unsupported options:\n\n%s", propertyWarnings(fpe.Properties)) } - return nil, err }