func NewCompose(dockerHost, composeFilePath, projectName string) (*Compose, error) { ctx := project.Context{ ComposeFiles: []string{composeFilePath}, ProjectName: projectName, } ctx.ResourceLookup = &lookup.FileResourceLookup{} ctx.EnvironmentLookup = &lookup.ComposableEnvLookup{ Lookups: []config.EnvironmentLookup{ &lookup.OsEnvLookup{}, }, } prj := project.NewProject(&ctx, nil, nil) if err := prj.Parse(); err != nil { return nil, errors.Wrap(err, "Failed to parse docker-compose.yml.") } return &Compose{ ComposeFilePath: composeFilePath, ProjectName: projectName, dockerHost: dockerHost, project: prj, }, nil }