diff --git a/cmd/compose/convert.go b/cmd/compose/convert.go index cb66ebba3..0ad85fa19 100644 --- a/cmd/compose/convert.go +++ b/cmd/compose/convert.go @@ -44,6 +44,7 @@ type convertOptions struct { quiet bool resolveImageDigests bool noInterpolate bool + noNormalize bool services bool volumes bool profiles bool @@ -66,6 +67,9 @@ func convertCommand(p *projectOptions, backend api.Service) *cobra.Command { } os.Stdout = devnull } + if p.Compatibility { + opts.noNormalize = true + } return nil }), RunE: Adapt(func(ctx context.Context, args []string) error { @@ -91,6 +95,7 @@ func convertCommand(p *projectOptions, backend api.Service) *cobra.Command { flags.BoolVar(&opts.resolveImageDigests, "resolve-image-digests", false, "Pin image tags to digests.") flags.BoolVarP(&opts.quiet, "quiet", "q", false, "Only validate the configuration, don't print anything.") flags.BoolVar(&opts.noInterpolate, "no-interpolate", false, "Don't interpolate environment variables.") + flags.BoolVar(&opts.noNormalize, "no-normalize", false, "Don't normalize compose model.") flags.BoolVar(&opts.services, "services", false, "Print the service names, one per line.") flags.BoolVar(&opts.volumes, "volumes", false, "Print the volume names, one per line.") @@ -103,7 +108,10 @@ func convertCommand(p *projectOptions, backend api.Service) *cobra.Command { func runConvert(ctx context.Context, backend api.Service, opts convertOptions, services []string) error { var json []byte - project, err := opts.toProject(services, cli.WithInterpolation(!opts.noInterpolate), cli.WithResolvedPaths(true)) + project, err := opts.toProject(services, + cli.WithInterpolation(!opts.noInterpolate), + cli.WithResolvedPaths(true), + cli.WithNormalization(!opts.noNormalize)) if err != nil { return err } diff --git a/go.mod b/go.mod index a1b52c33c..ba5bf25f3 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/AlecAivazis/survey/v2 v2.2.3 github.com/buger/goterm v1.0.0 github.com/cnabio/cnab-to-oci v0.3.1-beta1 - github.com/compose-spec/compose-go v1.0.5 + github.com/compose-spec/compose-go v1.0.6-0.20211119110428-ae73362e0b78 github.com/containerd/console v1.0.2 github.com/containerd/containerd v1.5.8 github.com/distribution/distribution/v3 v3.0.0-20210316161203-a01c71e2477e diff --git a/go.sum b/go.sum index bdfb55b80..c1c127f0b 100644 --- a/go.sum +++ b/go.sum @@ -197,8 +197,8 @@ github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnht github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/codahale/hdrhistogram v0.0.0-20160425231609-f8ad88b59a58/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/compose-spec/compose-go v1.0.5 h1:WtfK7tJsk5C8h12iggum7p28kTxeXH7Xi5c/pLfnBwk= -github.com/compose-spec/compose-go v1.0.5/go.mod h1:LQ/JAjSIyh8bTu4RV6nkyf0Ow/Yf3qpvzrdEigxduiw= +github.com/compose-spec/compose-go v1.0.6-0.20211119110428-ae73362e0b78 h1:8zmr/JM1PS8orwbSNMnQEPTVEcRVQxRs5iVwKyw54wI= +github.com/compose-spec/compose-go v1.0.6-0.20211119110428-ae73362e0b78/go.mod h1:LQ/JAjSIyh8bTu4RV6nkyf0Ow/Yf3qpvzrdEigxduiw= github.com/compose-spec/godotenv v1.1.0 h1:wzShe5P6L/Aw3wsV357eWlZdMcPaOe2V2+3+qGwMEL4= github.com/compose-spec/godotenv v1.1.0/go.mod h1:zF/3BOa18Z24tts5qnO/E9YURQanJTBUf7nlcCTNsyc= github.com/containerd/aufs v0.0.0-20200908144142-dab0cbea06f4/go.mod h1:nukgQABAEopAHvB6j7cnP5zJ+/3aVcE7hCYqvIwAHyE=