Skip to content

Commit 814bb73

Browse files
committed
adapt ssh json schema declaration to follow specification change
Signed-off-by: Guillaume Lours <[email protected]>
1 parent 13546f9 commit 814bb73

File tree

4 files changed

+17
-11
lines changed

4 files changed

+17
-11
lines changed

loader/full-example.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ services:
77
dockerfile: Dockerfile
88
args:
99
foo: bar
10-
ssh: default
10+
ssh:
11+
- default
1112
target: foo
1213
network: foo
1314
cache_from:

loader/loader.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -981,10 +981,19 @@ var transformServiceNetworkMap TransformerFunc = func(value interface{}) (interf
981981

982982
var transformSSHConfig TransformerFunc = func(data interface{}) (interface{}, error) {
983983
switch value := data.(type) {
984+
case map[string]interface{}:
985+
var result []types.SSHKey
986+
for key, val := range value {
987+
if val == nil {
988+
val = ""
989+
}
990+
result = append(result, types.SSHKey{ID: key, Path: val.(string)})
991+
}
992+
return result, nil
984993
case []interface{}:
985994
var result []types.SSHKey
986-
for _, value := range value {
987-
key, val := transformValueToMapEntry(value.(string), "=", false)
995+
for _, v := range value {
996+
key, val := transformValueToMapEntry(v.(string), "=", false)
988997
result = append(result, types.SSHKey{ID: key, Path: val.(string)})
989998
}
990999
return result, nil

loader/loader_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1898,7 +1898,7 @@ services:
18981898
test:
18991899
build:
19001900
context: .
1901-
ssh: default
1901+
ssh: [default]
19021902
`)
19031903
assert.NilError(t, err)
19041904
svc, err := actual.GetService("test")
@@ -1914,7 +1914,8 @@ services:
19141914
test:
19151915
build:
19161916
context: .
1917-
ssh: key1=value1
1917+
ssh:
1918+
key1: value1
19181919
`)
19191920
assert.NilError(t, err)
19201921
svc, err := actual.GetService("test")

schema/compose-spec.json

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -91,12 +91,7 @@
9191
"context": {"type": "string"},
9292
"dockerfile": {"type": "string"},
9393
"args": {"$ref": "#/definitions/list_or_dict"},
94-
"ssh": {
95-
"oneOf": [
96-
{"type": "string"},
97-
{"$ref": "#/definitions/list_or_dict"}
98-
]
99-
},
94+
"ssh": {"$ref": "#/definitions/list_or_dict"},
10095
"labels": {"$ref": "#/definitions/list_or_dict"},
10196
"cache_from": {"type": "array", "items": {"type": "string"}},
10297
"cache_to": {"type": "array", "items": {"type": "string"}},

0 commit comments

Comments
 (0)