Profile
Back to NewsBack
GitHub Trending 1 min
Reader Mode
compose-spec/compose-go: Reference library for parsing and loading Compose YAML files

compose-spec/compose-go: Reference library for parsing and loading Compose YAML files

11 hours ago

compose-go

Continuous integration</a> Go Reference</a>

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" )

func main() { composeFilePath := "docker-compose.yml" projectName := "my_project" ctx := context.Background()

options, err := cli.NewProjectOptions( []string{composeFilePath}, cli.WithOsEnv, cli.WithDotEnv, cli.WithName(projectName), ) if err != nil { log.Fatal(err) }

project, err := options.LoadProject(ctx) if err != nil { log.Fatal(err) }

// Use the MarshalYAML method to get YAML representation projectYAML, err := project.MarshalYAML() if err != 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

Used by

Chat with me