Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions loader/loader.go
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,7 @@ func loadSections(filename string, config map[string]interface{}, configDetails
return nil, err
}

cfg.Networks, err = LoadNetworks(getSection(config, "networks"), configDetails.Version)
cfg.Networks, err = LoadNetworks(getSection(config, "networks"))
if err != nil {
return nil, err
}
Expand Down Expand Up @@ -426,6 +426,14 @@ func formatInvalidKeyError(keyPrefix string, key interface{}) error {
func LoadServices(filename string, servicesDict map[string]interface{}, workingDir string, lookupEnv template.Mapping, opts *Options) ([]types.ServiceConfig, error) {
var services []types.ServiceConfig

x, ok := servicesDict["extensions"]
if ok {
// as a top-level attribute, "services" doesn't support extensions, and a service can be named `x-foo`
for k, v := range x.(map[string]interface{}) {
servicesDict[k] = v
}
}

for name := range servicesDict {
serviceConfig, err := loadServiceWithExtends(filename, name, servicesDict, workingDir, lookupEnv, opts, &cycleTracker{})
if err != nil {
Expand Down Expand Up @@ -620,7 +628,7 @@ func transformUlimits(data interface{}) (interface{}, error) {

// LoadNetworks produces a NetworkConfig map from a compose file Dict
// the source Dict is not validated if directly used. Use Load() to enable validation
func LoadNetworks(source map[string]interface{}, version string) (map[string]types.NetworkConfig, error) {
func LoadNetworks(source map[string]interface{}) (map[string]types.NetworkConfig, error) {
networks := make(map[string]types.NetworkConfig)
err := Transform(source, &networks)
if err != nil {
Expand Down
4 changes: 2 additions & 2 deletions loader/loader_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1362,7 +1362,7 @@ func TestLoadNetworksWarnOnDeprecatedExternalNameVersion35(t *testing.T) {
},
},
}
networks, err := LoadNetworks(source, "3.5")
networks, err := LoadNetworks(source)
assert.NilError(t, err)
expected := map[string]types.NetworkConfig{
"foo": {
Expand All @@ -1386,7 +1386,7 @@ func TestLoadNetworksWarnOnDeprecatedExternalName(t *testing.T) {
},
},
}
networks, err := LoadNetworks(source, "3.4")
networks, err := LoadNetworks(source)
assert.NilError(t, err)
expected := map[string]types.NetworkConfig{
"foo": {
Expand Down