From 51054f54484a4e8aa2bbd10b77708c3bff2020d2 Mon Sep 17 00:00:00 2001 From: Rob Murray Date: Tue, 14 May 2024 18:23:56 +0100 Subject: [PATCH 1/3] Bump compose-go version to latest main Signed-off-by: Rob Murray --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a0fb6f388a9..88706c058fb 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/Microsoft/go-winio v0.6.2 github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d github.com/buger/goterm v1.0.4 - github.com/compose-spec/compose-go/v2 v2.1.1-0.20240516145816-197e6352c64a + github.com/compose-spec/compose-go/v2 v2.1.1-0.20240514125539-94bd7356c641 github.com/containerd/console v1.0.4 github.com/containerd/containerd v1.7.16 github.com/davecgh/go-spew v1.1.1 diff --git a/go.sum b/go.sum index 454bd65fef3..8a1591c3dee 100644 --- a/go.sum +++ b/go.sum @@ -90,8 +90,8 @@ github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 h1:/inchEIKaYC1Akx+H+g github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb h1:EDmT6Q9Zs+SbUoc7Ik9EfrFqcylYqgPZ9ANSbTAntnE= github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb/go.mod h1:ZjrT6AXHbDs86ZSdt/osfBi5qfexBrKUdONk989Wnk4= -github.com/compose-spec/compose-go/v2 v2.1.1-0.20240516145816-197e6352c64a h1:R0ufvPulvRvFa8JaFEWzSJmkhjfeArXD9vKk0jpmpM4= -github.com/compose-spec/compose-go/v2 v2.1.1-0.20240516145816-197e6352c64a/go.mod h1:bEPizBkIojlQ20pi2vNluBa58tevvj0Y18oUSHPyfdc= +github.com/compose-spec/compose-go/v2 v2.1.0 h1:qdW2qISQlCQG8v1O2TChcdxgAWTUGgUX/CPSO+ES9+E= +github.com/compose-spec/compose-go/v2 v2.1.0/go.mod h1:bEPizBkIojlQ20pi2vNluBa58tevvj0Y18oUSHPyfdc= github.com/containerd/cgroups v1.1.0 h1:v8rEWFl6EoqHB+swVNjVoCJE8o3jX7e8nqBGPLaDFBM= github.com/containerd/cgroups v1.1.0/go.mod h1:6ppBcbh/NOOUU+dMKrykgaBnK9lCIBxHqJDGwsa1mIw= github.com/containerd/console v1.0.4 h1:F2g4+oChYvBTsASRTz8NP6iIAi97J3TtSAsLbIFn4ro= From 6b97b940fd04c9ed9684ac6b32fa1bb522dce841 Mon Sep 17 00:00:00 2001 From: Rob Murray Date: Tue, 14 May 2024 12:00:06 +0100 Subject: [PATCH 2/3] Set endpoint-specific DriverOpts Signed-off-by: Rob Murray --- pkg/compose/create.go | 3 +++ pkg/compose/create_test.go | 52 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) diff --git a/pkg/compose/create.go b/pkg/compose/create.go index a5aa9f9e2ef..73ff473723d 100644 --- a/pkg/compose/create.go +++ b/pkg/compose/create.go @@ -439,6 +439,7 @@ func createEndpointSettings(p *types.Project, service types.ServiceConfig, servi ipv4Address string ipv6Address string macAddress string + driverOpts types.Options ) if config != nil { ipv4Address = config.Ipv4Address @@ -449,6 +450,7 @@ func createEndpointSettings(p *types.Project, service types.ServiceConfig, servi LinkLocalIPs: config.LinkLocalIPs, } macAddress = config.MacAddress + driverOpts = config.DriverOpts } return &network.EndpointSettings{ Aliases: getAliases(p, service, serviceIndex, networkKey, useNetworkAliases), @@ -457,6 +459,7 @@ func createEndpointSettings(p *types.Project, service types.ServiceConfig, servi IPv6Gateway: ipv6Address, IPAMConfig: ipam, MacAddress: macAddress, + DriverOpts: driverOpts, } } diff --git a/pkg/compose/create_test.go b/pkg/compose/create_test.go index 81ce8e12478..34d5f59c47a 100644 --- a/pkg/compose/create_test.go +++ b/pkg/compose/create_test.go @@ -25,6 +25,7 @@ import ( "gotest.tools/v3/assert/cmp" "github.com/docker/compose/v2/pkg/api" + "github.com/docker/docker/api/types/network" composetypes "github.com/compose-spec/compose-go/v2/types" moby "github.com/docker/docker/api/types" @@ -275,3 +276,54 @@ func TestDefaultNetworkSettings(t *testing.T) { assert.Check(t, cmp.Nil(networkConfig)) }) } + +func TestCreateEndpointSettings(t *testing.T) { + eps := createEndpointSettings( + &composetypes.Project{ + Name: "projName", + }, + composetypes.ServiceConfig{ + Name: "serviceName", + ContainerName: "containerName", + Networks: map[string]*composetypes.ServiceNetworkConfig{ + "netName": { + Priority: 100, + Aliases: []string{"alias1", "alias2"}, + Ipv4Address: "10.16.17.18", + Ipv6Address: "fdb4:7a7f:373a:3f0c::42", + LinkLocalIPs: []string{"169.254.10.20"}, + MacAddress: "10:00:00:00:01", + DriverOpts: composetypes.Options{ + "driverOpt1": "optval1", + "driverOpt2": "optval2", + }, + }, + }, + }, + 0, // serviceIndex + "netName", // networkKey + []string{"link1", "link2"}, // links + true, // useNetworkAliases + ) + assert.Check(t, cmp.DeepEqual(eps, &network.EndpointSettings{ + IPAMConfig: &network.EndpointIPAMConfig{ + IPv4Address: "10.16.17.18", + IPv6Address: "fdb4:7a7f:373a:3f0c::42", + LinkLocalIPs: []string{"169.254.10.20"}, + }, + Links: []string{"link1", "link2"}, + Aliases: []string{"containerName", "serviceName", "alias1", "alias2"}, + MacAddress: "10:00:00:00:01", + DriverOpts: map[string]string{ + "driverOpt1": "optval1", + "driverOpt2": "optval2", + }, + + // FIXME(robmry) - IPAddress and IPv6Gateway are "operational data" fields... + // - The IPv6 address here is the container's address, not the gateway. + // - Both fields will be cleared by the daemon, but they could be removed from + // the request. + IPAddress: "10.16.17.18", + IPv6Gateway: "fdb4:7a7f:373a:3f0c::42", + })) +} From fd1b74e3d8cf8ffc183eed4a5a3dde6ce489cc36 Mon Sep 17 00:00:00 2001 From: Guillaume Lours <705411+glours@users.noreply.github.com> Date: Wed, 22 May 2024 12:16:06 +0200 Subject: [PATCH 3/3] bump compose-go to version v2.1.1 Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 88706c058fb..f68b267859f 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/Microsoft/go-winio v0.6.2 github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d github.com/buger/goterm v1.0.4 - github.com/compose-spec/compose-go/v2 v2.1.1-0.20240514125539-94bd7356c641 + github.com/compose-spec/compose-go/v2 v2.1.1 github.com/containerd/console v1.0.4 github.com/containerd/containerd v1.7.16 github.com/davecgh/go-spew v1.1.1 diff --git a/go.sum b/go.sum index 8a1591c3dee..fca8ed461fb 100644 --- a/go.sum +++ b/go.sum @@ -90,8 +90,8 @@ github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 h1:/inchEIKaYC1Akx+H+g github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb h1:EDmT6Q9Zs+SbUoc7Ik9EfrFqcylYqgPZ9ANSbTAntnE= github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb/go.mod h1:ZjrT6AXHbDs86ZSdt/osfBi5qfexBrKUdONk989Wnk4= -github.com/compose-spec/compose-go/v2 v2.1.0 h1:qdW2qISQlCQG8v1O2TChcdxgAWTUGgUX/CPSO+ES9+E= -github.com/compose-spec/compose-go/v2 v2.1.0/go.mod h1:bEPizBkIojlQ20pi2vNluBa58tevvj0Y18oUSHPyfdc= +github.com/compose-spec/compose-go/v2 v2.1.1 h1:tKuYJwAVgxIryRrsvWJSf1kNviVOQVVqwyHsV6YoIUc= +github.com/compose-spec/compose-go/v2 v2.1.1/go.mod h1:bEPizBkIojlQ20pi2vNluBa58tevvj0Y18oUSHPyfdc= github.com/containerd/cgroups v1.1.0 h1:v8rEWFl6EoqHB+swVNjVoCJE8o3jX7e8nqBGPLaDFBM= github.com/containerd/cgroups v1.1.0/go.mod h1:6ppBcbh/NOOUU+dMKrykgaBnK9lCIBxHqJDGwsa1mIw= github.com/containerd/console v1.0.4 h1:F2g4+oChYvBTsASRTz8NP6iIAi97J3TtSAsLbIFn4ro=