Skip to content

Commit

Permalink
chore: support newer compose-go library with lagoon workarounds
Browse files Browse the repository at this point in the history
  • Loading branch information
shreddedbacon committed Feb 13, 2025
1 parent 35d7fdf commit bed8c56
Show file tree
Hide file tree
Showing 19 changed files with 306 additions and 105 deletions.
11 changes: 6 additions & 5 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ require (
github.com/PaesslerAG/gval v1.2.4
github.com/amazeeio/dbaas-operator v0.3.0
github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883
github.com/compose-spec/compose-go v1.2.7
github.com/compose-spec/compose-go/v2 v2.0.0-rc.8
github.com/cxmcc/unixsums v0.0.0-20131125091133-89564297d82f
github.com/distribution/reference v0.6.0
github.com/docker/cli v27.5.1+incompatible
Expand All @@ -18,6 +18,7 @@ require (
github.com/hashicorp/go-retryablehttp v0.7.7
github.com/k8up-io/k8up/v2 v2.11.3
github.com/robfig/cron/v3 v3.0.1
github.com/sirupsen/logrus v1.9.3
github.com/spf13/cobra v1.8.1
github.com/uselagoon/machinery v0.0.31
github.com/vshn/k8up v1.99.99
Expand All @@ -31,7 +32,6 @@ require (

require (
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/distribution/distribution/v3 v3.0.0-20210316161203-a01c71e2477e // indirect
github.com/docker/docker-credential-helpers v0.8.2 // indirect
github.com/docker/go-connections v0.5.0 // indirect
github.com/docker/go-units v0.5.0 // indirect
Expand All @@ -49,13 +49,14 @@ require (
github.com/google/uuid v1.6.0 // indirect
github.com/gorilla/websocket v1.5.3 // indirect
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
github.com/imdario/mergo v1.0.1 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/mailru/easyjson v0.9.0 // indirect
github.com/mattn/go-shellwords v1.0.12 // indirect
github.com/mitchellh/copystructure v1.2.0 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/mitchellh/reflectwalk v1.0.2 // indirect
github.com/moby/spdystream v0.5.0 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
Expand All @@ -65,12 +66,12 @@ require (
github.com/pkg/errors v0.9.1 // indirect
github.com/sergi/go-diff v1.1.0 // indirect
github.com/shopspring/decimal v1.4.0 // indirect
github.com/sirupsen/logrus v1.9.3 // indirect
github.com/spf13/pflag v1.0.5 // indirect
github.com/x448/float16 v0.8.4 // indirect
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
github.com/xeipuuv/gojsonschema v1.2.0 // indirect
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect
golang.org/x/net v0.34.0 // indirect
golang.org/x/oauth2 v0.25.0 // indirect
golang.org/x/sync v0.10.0 // indirect
Expand All @@ -92,6 +93,6 @@ require (

replace github.com/imdario/mergo => github.com/imdario/mergo v0.3.16

replace github.com/compose-spec/compose-go v1.2.7 => github.com/shreddedbacon/compose-go v0.0.0-20220616064547-4e908a2865c1
replace github.com/compose-spec/compose-go/v2 v2.0.0-rc.8 => github.com/shreddedbacon/compose-go/v2 v2.0.0-20240312080248-f885cd14d500

// replace github.com/compose-spec/compose-go v1.2.7 => ../../compose-spec/compose-go
52 changes: 8 additions & 44 deletions go.sum

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion internal/generator/buildvalues.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package generator

import (
composetypes "github.com/compose-spec/compose-go/types"
composetypes "github.com/compose-spec/compose-go/v2/types"
"github.com/uselagoon/build-deploy-tool/internal/dbaasclient"
"github.com/uselagoon/build-deploy-tool/internal/lagoon"
corev1 "k8s.io/api/core/v1"
Expand Down
2 changes: 1 addition & 1 deletion internal/generator/images.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import (
"os"
"strings"

composetypes "github.com/compose-spec/compose-go/types"
composetypes "github.com/compose-spec/compose-go/v2/types"
"github.com/drone/envsubst"
"github.com/uselagoon/build-deploy-tool/internal/lagoon"
)
Expand Down
2 changes: 1 addition & 1 deletion internal/generator/services.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (
"strconv"
"strings"

composetypes "github.com/compose-spec/compose-go/types"
composetypes "github.com/compose-spec/compose-go/v2/types"
"github.com/uselagoon/build-deploy-tool/internal/helpers"
"github.com/uselagoon/build-deploy-tool/internal/lagoon"
"github.com/uselagoon/build-deploy-tool/internal/servicetypes"
Expand Down
2 changes: 1 addition & 1 deletion internal/generator/services_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (
"time"

"github.com/andreyvit/diff"
composetypes "github.com/compose-spec/compose-go/types"
composetypes "github.com/compose-spec/compose-go/v2/types"
"github.com/uselagoon/build-deploy-tool/internal/dbaasclient"
"github.com/uselagoon/build-deploy-tool/internal/helpers"
"github.com/uselagoon/build-deploy-tool/internal/lagoon"
Expand Down
2 changes: 1 addition & 1 deletion internal/generator/volumes.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package generator
import (
"fmt"

composetypes "github.com/compose-spec/compose-go/types"
composetypes "github.com/compose-spec/compose-go/v2/types"
"github.com/uselagoon/build-deploy-tool/internal/lagoon"
"github.com/uselagoon/build-deploy-tool/internal/servicetypes"
)
Expand Down
13 changes: 9 additions & 4 deletions internal/lagoon/compose.go
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
package lagoon

import (
"context"
"fmt"
"io"
"os"
"strings"

"github.com/compose-spec/compose-go/cli"
"github.com/compose-spec/compose-go/loader"
composetypes "github.com/compose-spec/compose-go/types"
"github.com/compose-spec/compose-go/v2/cli"
"github.com/compose-spec/compose-go/v2/loader"
composetypes "github.com/compose-spec/compose-go/v2/types"
"github.com/sirupsen/logrus"
goyaml "gopkg.in/yaml.v2"
goyamlv3 "gopkg.in/yaml.v3"
utilvalidation "k8s.io/apimachinery/pkg/util/validation"
Expand All @@ -26,6 +29,8 @@ type OriginalVolumeOrder OriginalServiceOrder

// UnmarshaDockerComposeYAML unmarshal the lagoon.yml file into a YAML and map for consumption.
func UnmarshaDockerComposeYAML(file string, ignoreErrors, ignoreMissingEnvFiles bool, envvars map[string]string) (*composetypes.Project, []OriginalServiceOrder, []OriginalVolumeOrder, error) {
// disable logging output for now, maybe capture this in a buffer for later analysis
logrus.SetOutput(io.Discard)
options, err := cli.NewProjectOptions([]string{file},
cli.WithResolvedPaths(false),
cli.WithLoadOptions(
Expand All @@ -41,7 +46,7 @@ func UnmarshaDockerComposeYAML(file string, ignoreErrors, ignoreMissingEnvFiles
return nil, nil, nil, err
}
options.Environment = envvars
l, err := cli.ProjectFromOptions(options)
l, err := cli.ProjectFromOptions(context.Background(), options)
if err != nil {
return nil, nil, nil, err
}
Expand Down
Loading

0 comments on commit bed8c56

Please sign in to comment.