Skip to content

Reference library for parsing and loading Compose YAML files

License

Notifications You must be signed in to change notification settings

compose-spec/compose-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

compose-go

Continuous integrationGo Reference

Go reference library for parsing and loading Compose files as specified by the Compose specification.

Usage

package main import ( "context""fmt""log""github.com/compose-spec/compose-go/v2/cli" ) funcmain() { composeFilePath:="docker-compose.yml"projectName:="my_project"ctx:=context.Background() options, err:=cli.NewProjectOptions( []string{composeFilePath}, cli.WithOsEnv, cli.WithDotEnv, cli.WithName(projectName), ) iferr!=nil { log.Fatal(err) } project, err:=options.LoadProject(ctx) iferr!=nil { log.Fatal(err) } // Use the MarshalYAML method to get YAML representationprojectYAML, err:=project.MarshalYAML() iferr!=nil { log.Fatal(err) } fmt.Println(string(projectYAML)) }

Build the library

To build the library, you could either use the makefile

make build

or use the go build command

go build ./...

Run the tests

You can run the tests with the makefile

make test

or with the go test command

gotestsum ./...

Other helpful make commands

Run the linter

make lint

Check the license headers

make check_license

Check the compose-spec.json file is sync with the compose-spec repository

make check_compose_spec

Used by

close