Skip to content

Commit b871254

Browse files
committed
only use ToModel when --no-interpolate is set
Signed-off-by: Nicolas De Loof <[email protected]>
1 parent 34b11c4 commit b871254

File tree

1 file changed

+25
-12
lines changed

1 file changed

+25
-12
lines changed

Diff for: cmd/compose/config.go

+25-12
Original file line numberDiff line numberDiff line change
@@ -136,21 +136,34 @@ func configCommand(p *ProjectOptions, dockerCli command.Cli) *cobra.Command {
136136
}
137137

138138
func runConfig(ctx context.Context, dockerCli command.Cli, opts configOptions, services []string) error {
139-
model, err := opts.ToModel(ctx, dockerCli, services)
140-
if err != nil {
141-
return err
142-
}
143-
144-
if opts.resolveImageDigests {
145-
err = resolveImageDigests(ctx, dockerCli, model)
139+
var content []byte
140+
if opts.noInterpolate {
141+
// we can't use ToProject, so the model we render here is only partially resolved
142+
model, err := opts.ToModel(ctx, dockerCli, services)
146143
if err != nil {
147144
return err
148145
}
149-
}
150146

151-
content, err := formatModel(model, opts.Format)
152-
if err != nil {
153-
return err
147+
if opts.resolveImageDigests {
148+
err = resolveImageDigests(ctx, dockerCli, model)
149+
if err != nil {
150+
return err
151+
}
152+
}
153+
154+
content, err = formatModel(model, opts.Format)
155+
if err != nil {
156+
return err
157+
}
158+
} else {
159+
project, err := opts.ToProject(ctx, dockerCli, services)
160+
if err != nil {
161+
return err
162+
}
163+
content, err = project.MarshalYAML()
164+
if err != nil {
165+
return err
166+
}
154167
}
155168

156169
if !opts.noInterpolate {
@@ -164,7 +177,7 @@ func runConfig(ctx context.Context, dockerCli command.Cli, opts configOptions, s
164177
if opts.Output != "" && len(content) > 0 {
165178
return os.WriteFile(opts.Output, content, 0o666)
166179
}
167-
_, err = fmt.Fprint(dockerCli.Out(), string(content))
180+
_, err := fmt.Fprint(dockerCli.Out(), string(content))
168181
return err
169182
}
170183

0 commit comments

Comments
 (0)