pass json encoded compose file to docker-compose to prevent yaml format mismatch

Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
This commit is contained in:
Nicolas De Loof 2020-11-17 11:02:31 +01:00
parent bc966daf34
commit 976eacd198
No known key found for this signature in database
GPG Key ID: 9858809D6F8F6E7E

View File

@ -20,6 +20,7 @@ import (
"bufio" "bufio"
"bytes" "bytes"
"context" "context"
"encoding/json"
"fmt" "fmt"
"io" "io"
"os" "os"
@ -57,7 +58,7 @@ func (e ecsLocalSimulation) Up(ctx context.Context, project *types.Project, deta
return fmt.Errorf("ECS simulation mode require Docker-compose 1.27, found %s", version) return fmt.Errorf("ECS simulation mode require Docker-compose 1.27, found %s", version)
} }
converted, err := e.Convert(ctx, project, "yaml") converted, err := e.Convert(ctx, project, "json")
if err != nil { if err != nil {
return err return err
} }
@ -137,7 +138,15 @@ func (e ecsLocalSimulation) Convert(ctx context.Context, project *types.Project,
"secrets": project.Secrets, "secrets": project.Secrets,
"configs": project.Configs, "configs": project.Configs,
} }
return yaml.Marshal(config) switch format {
case "json":
return json.MarshalIndent(config, "", " ")
case "yaml":
return yaml.Marshal(config)
default:
return nil, fmt.Errorf("unsupported format %q", format)
}
} }
func (e ecsLocalSimulation) Down(ctx context.Context, projectName string) error { func (e ecsLocalSimulation) Down(ctx context.Context, projectName string) error {