From e02fcfd34e666267bf229cc7f898f840a9ff58ec Mon Sep 17 00:00:00 2001 From: Li Yi Date: Wed, 30 Aug 2017 09:09:06 +0800 Subject: [PATCH] Change the type of interval, timeout and start_period of healthcheck from string to * time.Duration Signed-off-by: Li Yi --- cli/compose/convert/service.go | 22 +++++-------------- cli/compose/convert/service_test.go | 10 +++++---- cli/compose/loader/loader_test.go | 6 ++--- cli/compose/schema/bindata.go | 2 +- .../schema/data/config_schema_v3.4.json | 6 ++--- cli/compose/types/types.go | 6 ++--- 6 files changed, 22 insertions(+), 30 deletions(-) diff --git a/cli/compose/convert/service.go b/cli/compose/convert/service.go index d4f14a7b169f..48df2d7e02e3 100644 --- a/cli/compose/convert/service.go +++ b/cli/compose/convert/service.go @@ -366,7 +366,6 @@ func convertHealthcheck(healthcheck *composetypes.HealthCheckConfig) (*container return nil, nil } var ( - err error timeout, interval, startPeriod time.Duration retries int ) @@ -379,23 +378,14 @@ func convertHealthcheck(healthcheck *composetypes.HealthCheckConfig) (*container }, nil } - if healthcheck.Timeout != "" { - timeout, err = time.ParseDuration(healthcheck.Timeout) - if err != nil { - return nil, err - } + if healthcheck.Timeout != nil { + timeout = *healthcheck.Timeout } - if healthcheck.Interval != "" { - interval, err = time.ParseDuration(healthcheck.Interval) - if err != nil { - return nil, err - } + if healthcheck.Interval != nil { + interval = *healthcheck.Interval } - if healthcheck.StartPeriod != "" { - startPeriod, err = time.ParseDuration(healthcheck.StartPeriod) - if err != nil { - return nil, err - } + if healthcheck.StartPeriod != nil { + startPeriod = *healthcheck.StartPeriod } if healthcheck.Retries != nil { retries = int(*healthcheck.Retries) diff --git a/cli/compose/convert/service_test.go b/cli/compose/convert/service_test.go index 3a0bf0e75e43..1945e22d092d 100644 --- a/cli/compose/convert/service_test.go +++ b/cli/compose/convert/service_test.go @@ -109,16 +109,18 @@ func TestConvertResourcesOnlyMemory(t *testing.T) { func TestConvertHealthcheck(t *testing.T) { retries := uint64(10) + timeout := 30 * time.Second + interval := 2 * time.Millisecond source := &composetypes.HealthCheckConfig{ Test: []string{"EXEC", "touch", "/foo"}, - Timeout: "30s", - Interval: "2ms", + Timeout: &timeout, + Interval: &interval, Retries: &retries, } expected := &container.HealthConfig{ Test: source.Test, - Timeout: 30 * time.Second, - Interval: 2 * time.Millisecond, + Timeout: timeout, + Interval: interval, Retries: 10, } diff --git a/cli/compose/loader/loader_test.go b/cli/compose/loader/loader_test.go index 7cee33313c25..fb866cf1438c 100644 --- a/cli/compose/loader/loader_test.go +++ b/cli/compose/loader/loader_test.go @@ -757,10 +757,10 @@ func TestFullExample(t *testing.T) { }, HealthCheck: &types.HealthCheckConfig{ Test: types.HealthCheckTest([]string{"CMD-SHELL", "echo \"hello world\""}), - Interval: "10s", - Timeout: "1s", + Interval: durationPtr(10 * time.Second), + Timeout: durationPtr(1 * time.Second), Retries: uint64Ptr(5), - StartPeriod: "15s", + StartPeriod: durationPtr(15 * time.Second), }, Hostname: "foo", Image: "redis", diff --git a/cli/compose/schema/bindata.go b/cli/compose/schema/bindata.go index 8f9b678d9cd7..f295006ed54f 100644 --- a/cli/compose/schema/bindata.go +++ b/cli/compose/schema/bindata.go @@ -152,7 +152,7 @@ func dataConfig_schema_v33Json() (*asset, error) { return a, nil } -var _dataConfig_schema_v34Json = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5b\x4f\x73\xdb\x3a\x0e\xbf\xfb\x53\x68\xf4\xde\xad\x76\xd2\x99\xed\xec\xcc\xf6\xb6\xc7\x3d\xed\x9e\x37\xe3\x6a\x68\x0a\xb6\xd9\x50\x24\x0b\x52\x4e\xdc\x4e\xbe\xfb\x8e\x44\x49\xd6\x1f\x4a\xa4\x6c\xa5\x49\xf7\xf5\x94\x58\x02\x40\x02\x20\x7e\x00\x48\xea\xc7\x2a\x8a\xe2\x3f\x35\x3d\x42\x46\xe2\xcf\x51\x7c\x34\x46\x7d\xbe\xbf\xff\xaa\xa5\xd8\xd8\xa7\x77\x12\x0f\xf7\x29\x92\xbd\xd9\x7c\xfc\x74\x6f\x9f\xfd\x11\xaf\x0b\x3e\x96\x16\x2c\x54\x8a\x3d\x3b\x24\xf6\x4d\x72\xfa\xdb\xdd\xa7\xbb\x82\xdd\x92\x98\xb3\x82\x82\x48\xee\xbe\x02\x35\xf6\x19\xc2\xb7\x9c\x21\x14\xcc\x0f\xf1\x09\x50\x33\x29\xe2\xed\x7a\x55\xbc\x53\x28\x15\xa0\x61\xa0\xe3\xcf\x51\x31\xb9\x28\x6a\x48\xea\x07\x2d\xb1\xda\x20\x13\x87\xb8\x7c\xfc\x52\x4a\x88\xa2\x58\x03\x9e\x18\x6d\x49\x68\xa6\xfa\xc7\xfd\x45\xfe\x7d\x43\xb6\xee\x4b\x6d\x4d\xb6\x7c\xae\x88\x31\x80\xe2\x3f\xc3\xb9\x95\xaf\xbf\x3c\x90\xcd\xf7\x7f\x6e\xfe\xfb\x71\xf3\x8f\xbb\x64\xb3\xfd\xf0\x67\xe7\x75\x61\x5f\x84\xbd\x1d\x3e\x85\x3d\x13\xcc\x30\x29\x9a\xf1\xe3\x86\xf2\xa5\xfa\xef\xa5\x19\x98\xa4\x69\x49\x4c\x78\x67\xec\x3d\xe1\x1a\xba\x3a\x0b\x30\x4f\x12\x1f\x7d\x3a\x37\x64\x6f\xa4\x73\x35\xbe\x43\xe7\xae\x3a\x27\xc9\xf3\xcc\xeb\xc1\x9a\xea\x8d\x94\xb1\xc3\x2f\xe3\x3f\x0d\x14\xc1\xf8\x97\xac\xa5\x7a\xb3\x15\x5b\x0c\xbf\x8c\xc2\x16\x35\x7c\x0a\xd7\x54\x6f\xa4\xb0\x1d\xfe\x36\x85\x57\xb5\xd2\xee\x39\xc6\x5f\x9e\x37\xc5\xdf\x97\x52\xe6\xa4\x3c\x2b\xa5\x35\xbf\x52\x89\x0e\xe6\xb9\xcc\xe9\xc2\x9c\x71\x7b\x36\x06\x1d\xb1\x64\x0a\x8a\xcb\x73\x39\x73\xb7\xcd\x2c\x41\x06\xc2\xc4\x8d\x99\xa2\x28\xde\xe5\x8c\xa7\x7d\xab\x4b\x01\xff\x2e\x44\x3c\xb4\x1e\x46\xd1\x8f\x3e\xbc\xb7\xe4\x94\xef\x3b\xbf\xc6\x17\x45\xf3\x7e\x44\x97\xe6\x3d\x95\xc2\xc0\xb3\x29\x95\x9a\x1e\xda\x9a\x40\xd2\x47\xc0\x3d\xe3\x10\xca\x41\xd0\xae\xf4\x11\x93\x71\xa6\x4d\x22\x31\x49\x19\x35\x4e\x7e\x4e\x76\xc0\x6f\x92\x40\x09\x3d\x42\xb2\x47\x99\x79\xa5\xec\x13\xab\x89\x76\x0a\xaa\x11\x3c\x50\x73\x43\xf0\x00\x6e\xcb\xf6\x88\x07\xdc\xfe\xd8\x6a\x58\x5b\xbf\xb6\x2b\x87\xc0\x98\x12\x95\x90\x34\xed\xcc\x83\x20\x92\x73\xbc\x8e\x62\x66\x20\xd3\x6e\x85\xa2\x38\x17\xec\x5b\x0e\xff\xaa\x48\x0c\xe6\xd0\x97\x9b\xa2\x54\xcb\x0b\x3e\xa0\xcc\x55\xa2\x08\x16\x81\x34\x6d\xec\x98\xca\x2c\x23\x62\xa9\xe8\x9a\xa3\x47\x80\xe5\x07\x38\x1f\xb5\x43\xb6\x1a\xa3\xfd\xaa\x19\xad\x33\xad\x11\x6d\xfc\xfa\x0c\xf1\xc2\x8f\x18\x7e\xcc\x28\x20\x57\xe6\x48\x43\x21\x60\x3a\x14\x9c\xf4\x39\x4b\xc3\x89\x0f\x73\x88\x33\x99\x76\xe7\x2d\xf2\x6c\x07\x38\x08\xc9\x6e\x64\x0d\x7f\x6f\x57\xae\x37\x3d\xef\x1b\xc2\x04\x60\x22\x48\xe6\xb3\x55\x4c\x11\x52\x10\x86\x11\x9e\x68\x05\xb4\x43\x5e\x7b\x6a\xc2\x33\x71\x10\x24\xc7\x08\x07\xa6\x0d\x9e\xa7\x41\xe9\xa5\x3d\xb1\x14\x14\x88\x54\x27\xb6\x09\x99\x8f\x9e\x71\x0a\x4d\x47\xb2\x28\x4c\xa4\x62\x2a\x2b\x58\x31\x45\x5e\x28\xe6\x16\xf7\x18\x13\x0d\x04\xe9\xf1\x4a\x7e\x99\x11\x26\x42\x9c\x0a\xc2\xe0\x59\x49\x66\x61\xec\xdd\xe1\x13\x88\x53\xd2\xac\x9b\xd9\x66\x00\x71\x62\x28\x45\x56\x83\x74\x58\x76\x6e\xf1\x3f\x2b\xa9\xe1\x76\x70\xac\x38\x1e\x6a\xc5\xd7\x4d\x4c\x6f\xbb\xd6\x8b\xf7\x12\x33\x52\x4c\xb6\x1e\xbb\x1d\xc3\x9d\xa1\x86\x2b\xaf\x6d\xc0\xb6\x0e\x45\x55\x4b\x78\xc2\x99\x78\x5c\x7e\x89\xc3\xb3\x41\x92\x1c\xa5\x36\xd7\x14\x40\xf1\x11\x08\x37\x47\x7a\x04\xfa\x38\xc1\xde\xa6\xea\x70\x4b\x6d\x42\x16\x39\xcb\xc8\xc1\x4f\xa4\xa8\x8f\xe4\xea\x42\x2f\x5e\xd4\xf8\x2d\xb1\xf2\x70\x28\x48\xc7\x56\xdc\xa0\x71\xa8\x5e\xfb\x4a\xee\x14\xd9\x09\x30\xb4\x8a\x94\xea\xd2\xef\xf4\x5f\x86\x64\x73\x6f\x83\xd8\x21\xfd\x72\x67\xfb\xc3\x89\xa8\x2a\xff\xe3\x3c\xde\x0e\x53\xe6\x30\x69\xf6\x9f\xf4\x34\x0c\xab\x73\x3b\x5e\xc9\x08\x2d\xca\x59\x04\x3d\xe2\xd7\x0b\x69\x55\xaf\x27\x83\x9c\x7f\xa1\x1d\x10\x0f\x12\xeb\x18\x52\x5f\xd5\x46\xcc\x6f\xdf\x82\x5c\xe7\xed\xf1\x3d\xda\x8c\x4d\x2f\x74\x9a\x97\xe9\xfa\x97\x58\x49\x47\x38\x23\x1a\xfc\xc1\x3e\xd9\x8f\x35\xd2\x98\x3a\x7d\x0a\x5c\x13\x2e\xde\xbf\x4f\xf2\x8e\xb0\x8e\xca\x0c\x6f\xdd\x3c\xa2\xda\x25\x2a\xe7\xce\x89\x6c\xfd\x45\xeb\x6b\x76\x96\xaa\x5b\x78\x77\xb1\xa2\x44\x88\x76\x80\x29\x89\xe6\xa7\xf4\x42\x17\x9c\xba\x24\x7c\x3b\xf8\xb0\x3d\xea\xbb\x3b\x88\xe9\x75\x7a\xaa\x09\x94\x72\x50\x3b\x3a\x2a\x26\x0c\x1c\x8a\x56\xc6\x9d\x04\xf2\x1d\x67\xfa\x08\xe9\x1c\x1e\x94\x46\x52\xc9\xc3\x02\xc3\xb9\xfb\x13\x1e\x0c\x13\xfd\xd5\x55\xb5\x99\x42\x76\x62\x1c\x0e\x3d\x8d\x77\x52\x72\x20\xa2\x93\x28\x10\x48\x9a\x48\xc1\xcf\x01\x94\xda\x10\xf4\xee\x4a\x68\xa0\x39\x32\x73\x4e\xa4\x32\x8b\x57\x85\xfa\x98\x25\x9a\x7d\x87\x6e\xec\x5d\x56\x7d\x25\x68\xdb\x9b\x50\x6f\x8f\x3d\xfa\xbd\x15\xf1\x97\xd9\x8a\xd0\x67\x4d\xcd\x75\xb5\xb5\x36\x29\x13\x89\x54\x20\xbc\xb1\xa1\x8d\x54\xc9\x01\x09\x85\x44\x01\x32\xe9\x34\x45\x07\x60\xd3\x1c\x49\x31\xfe\x50\x8c\x66\x07\x41\xdc\xb8\xd3\x22\x35\x99\xda\x5f\xb9\x09\x60\x8c\x3f\xd8\x73\xce\x32\x36\x1e\x34\x8e\x55\x1b\x50\xaf\xd9\x5a\xcd\x5d\xa2\x4d\x94\x67\x41\x90\x3d\xd1\x21\x4c\x37\x08\x01\x9d\xc1\x91\xe0\x8c\xd4\x51\x06\xe6\x7e\x24\x3f\xb9\xfa\x06\xe7\xbc\x3a\xa7\xe5\xa5\xbc\x75\x35\x91\xad\x93\x7e\x56\xe9\xd5\x9f\xc6\x76\xb4\xfa\x71\x07\x55\xae\xbd\x4d\x5c\x49\x23\xf4\x54\x03\xd2\x90\x0e\x8f\x7d\xa3\x5f\x02\xa1\x3b\x3e\x2a\xc9\x1d\xbe\x09\xc0\xf1\x6a\xa4\x40\xec\x7c\x6d\xd4\x0f\xae\x08\x5a\x3c\x54\x0a\xcd\xb4\x01\x41\xdd\xfb\xab\x4e\xa6\x1d\x1b\x1c\x5e\x0c\x8d\x32\xdd\x77\x85\x75\x5d\x25\x15\x39\x58\xbc\x0d\x6e\x74\xc2\x63\xb5\xba\x11\xf0\x53\x54\x11\x92\x4a\x35\xe2\x9a\x70\x35\xe6\xa6\xd9\xde\xd6\xc5\x44\x1d\x3a\x06\x19\x4f\x12\x1f\x8b\x84\x94\x32\x37\x72\xac\x7a\x2c\x33\xee\x14\xf4\xf6\xfa\x6a\x01\xae\x83\xf0\x36\xa9\xf7\x72\xc1\xf4\xa1\x7c\x45\x34\x7a\x60\xce\x34\xd9\xf5\xce\x25\x5c\x89\xb6\xc8\x0c\x78\xf2\xe7\x7b\x04\x83\xac\x77\x94\x50\x17\x4d\xed\xdc\x0e\xfa\x7d\x6e\xb8\x1b\x96\x81\xcc\xfd\xdd\x43\xd1\x62\x4c\xd4\x50\x83\x8b\x43\xd6\xd8\x97\xcb\x07\x9e\x05\xd0\xa2\xec\xfb\xff\xa1\x75\xd8\x64\x7b\x78\xaf\x93\x43\x92\x1b\x88\xb4\x3c\x06\x09\xca\x84\x08\x8a\x33\x4a\xb4\xaf\xda\xb8\x61\xc7\x38\x57\x29\x31\x90\x54\x77\x5c\xe6\xd4\x77\x13\x85\x9d\x22\x48\x38\x07\xce\x74\x16\x52\x28\xc5\x29\x70\xe2\xcc\x14\xde\x1a\xb9\x64\xdf\x13\xc6\x73\x84\x84\xd0\x51\x48\xef\x71\x64\x52\x30\x23\x9d\xd0\x13\x36\x64\x46\x9e\x93\x7a\xd8\x92\xc4\x13\x89\x25\x93\xc4\xd4\x5d\x28\xad\x8b\x75\x91\x67\x8e\x52\xc5\x46\xc0\x66\xcf\x50\x1b\xdb\xd1\x4a\x55\xfd\xea\x42\xf2\xcb\xe8\x2e\x41\xe8\xc6\x72\x6b\xd5\xd9\x9a\x62\x5e\xb9\x3f\xb1\x1c\x2e\xcd\xc3\xc8\xea\xac\x47\x1c\x58\x0c\x41\x17\x70\xd8\xec\xfb\x7b\xf9\x17\xb5\x82\x05\x1f\xc9\x99\x2d\x63\x96\x30\x05\x95\xc2\xce\x23\x64\x95\xde\x18\x16\xc5\x1a\x2d\x9a\xb0\x4c\x19\x2f\x82\x94\x0c\x4f\x4c\xa4\xf2\x69\xc6\x80\xcb\x59\x5b\x71\x42\xa1\x87\xd8\xb7\x1a\x5a\x1b\x24\x4c\x98\xd9\xe7\x61\x7d\xb3\x28\x84\x3d\x20\x88\x61\x44\x44\xd3\x7d\x49\x34\xde\x9b\xf8\x74\xf3\x6b\x58\x51\x68\x55\x14\xe8\x6f\xb0\x2d\x79\xab\xf3\x6f\xa8\xf0\x9a\x70\xf7\x64\xf7\x86\xce\x5b\xdb\x8d\x65\x74\xaa\x72\xef\xd9\x5a\x06\x99\x9c\xbe\x47\x72\xc3\x55\x6e\x9f\x8a\x35\xd9\x02\xd5\x4b\xd0\x61\x6c\x45\x95\x48\xb5\xfc\x6e\x90\xff\xc0\x75\xeb\xdf\x8b\x60\x8a\x64\x4b\x61\x48\xf0\xf1\x74\xec\x2c\x9f\xa2\x77\x80\x0e\xf9\x4e\x84\x5d\xbc\x7c\x67\xe8\xd0\xbd\xfa\x51\xde\x2c\x19\xf1\xea\x43\xd3\x47\xad\x1b\x5b\x6d\x83\x5d\x3c\x7a\xad\x63\xb9\xf9\x97\x2d\x5d\x7f\x0b\xd7\xd5\xfb\x11\x63\x08\x3d\x06\xb5\x89\x33\xeb\xfd\x1b\x70\x68\xb0\x99\xe1\x84\xa1\x8a\x6a\x01\x14\x0a\xb9\x67\xf3\xff\x81\x54\xbf\xfa\xba\xfe\x79\x6b\xb0\xfa\xe2\xc4\xfb\x55\x43\x49\x75\x75\xae\x0f\xb8\x37\xfa\x0e\x7c\xf6\xc6\xae\x18\x24\x3a\xa7\x2b\x2a\xaa\xdf\xae\x78\xd5\xa8\xe8\x1e\xe9\xb5\x5c\x32\xdc\xe1\x9b\xb2\x64\xf0\xbd\xa3\x8a\x63\xdb\x9d\x46\x9f\xcc\xf1\x7d\x66\xb7\xf6\x99\x3a\xf0\xaf\x49\x46\x76\x94\x7b\x83\x56\x46\x9c\xd6\x7c\x41\xdc\xbf\xfb\x30\x51\xe1\x4d\xdd\x0f\x7c\xa5\xd2\x68\x81\xcb\x14\x6e\x9f\xf6\x9a\xe7\xda\xba\xc3\xcf\xcb\xc6\xe3\xbf\xe6\x1f\x7c\x6c\x56\xe8\x29\xce\x83\x1d\xe8\x1f\xdd\xe3\x33\xfb\xa1\xd8\xb6\x63\x9f\x1e\x89\xbd\x6d\xdb\x4a\xb4\xdb\xf6\x7e\xc2\xe8\xe7\x01\xae\x4f\xd0\xfa\x87\x77\xf5\xa7\x60\x23\xf7\x09\x56\xed\xbf\xe5\xa7\x7d\xab\x97\xd5\xff\x02\x00\x00\xff\xff\x0a\xb3\x24\xb8\x44\x3d\x00\x00") +var _dataConfig_schema_v34Json = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5b\x4f\x73\xdb\x3a\x0e\xbf\xfb\x53\x68\xf4\xde\xad\x76\xd2\x99\xed\xec\xcc\xf6\xb6\xc7\x3d\xed\x9e\x37\xe3\x6a\x68\x0a\xb6\xd9\x50\x24\x0b\x52\x4e\xdc\x4e\xbe\xfb\x8e\xfe\x9a\x92\x28\x91\xb2\x95\x26\xdd\xd7\x53\x62\x09\x00\x09\x10\xf8\x01\x20\xa9\x1f\xab\x28\x8a\xff\xd4\xf4\x08\x19\x89\x3f\x47\xf1\xd1\x18\xf5\xf9\xfe\xfe\xab\x96\x62\x53\x3d\xbd\x93\x78\xb8\x4f\x91\xec\xcd\xe6\xe3\xa7\xfb\xea\xd9\x1f\xf1\xba\xe0\x63\x69\xc1\x42\xa5\xd8\xb3\x43\x52\xbd\x49\x4e\x7f\xbb\xfb\x74\x57\xb0\x57\x24\xe6\xac\xa0\x20\x92\xbb\xaf\x40\x4d\xf5\x0c\xe1\x5b\xce\x10\x0a\xe6\x87\xf8\x04\xa8\x99\x14\xf1\x76\xbd\x2a\xde\x29\x94\x0a\xd0\x30\xd0\xf1\xe7\xa8\x98\x5c\x14\xb5\x24\xcd\x03\x4b\xac\x36\xc8\xc4\x21\x2e\x1f\xbf\x94\x12\xa2\x28\xd6\x80\x27\x46\x2d\x09\xed\x54\xff\xb8\xbf\xc8\xbf\x6f\xc9\xd6\x7d\xa9\xd6\x64\xcb\xe7\x8a\x18\x03\x28\xfe\x33\x9c\x5b\xf9\xfa\xcb\x03\xd9\x7c\xff\xe7\xe6\xbf\x1f\x37\xff\xb8\x4b\x36\xdb\x0f\x7f\x76\x5e\x17\xf6\x45\xd8\x57\xc3\xa7\xb0\x67\x82\x19\x26\x45\x3b\x7e\xdc\x52\xbe\xd4\xff\xbd\xb4\x03\x93\x34\x2d\x89\x09\xef\x8c\xbd\x27\x5c\x43\x57\x67\x01\xe6\x49\xe2\xa3\x4f\xe7\x96\xec\x8d\x74\xae\xc7\x77\xe8\xdc\x55\xe7\x24\x79\x9e\x79\x57\xb0\xa1\x7a\x23\x65\xaa\xe1\x97\x59\x3f\x0d\x14\xc1\xf8\x5d\xb6\xa2\x7a\x33\x8f\x2d\x86\x5f\x46\xe1\x0a\x35\x7c\x0a\x37\x54\x6f\xa4\x70\x35\xfc\x6d\x0a\xaf\x1a\xa5\xdd\x73\x8c\xbf\x3c\x6f\x8a\xbf\x2f\xa5\xcc\x49\x79\x95\x14\x6b\x7e\xa5\x12\x1d\xcc\x73\x99\xd3\x85\x39\xe3\xf6\x6c\x0d\x3a\x62\xc9\x14\x14\x97\xe7\x72\xe6\x6e\x9b\x55\x04\x19\x08\x13\xb7\x66\x8a\xa2\x78\x97\x33\x9e\xf6\xad\x2e\x05\xfc\xbb\x10\xf1\x60\x3d\x8c\xa2\x1f\x7d\x78\xb7\xe4\x94\xef\x3b\xbf\xc6\x9d\xa2\x7d\x3f\xa2\x4b\xfb\x9e\x4a\x61\xe0\xd9\x94\x4a\x4d\x0f\x5d\x99\x40\xd2\x47\xc0\x3d\xe3\x10\xca\x41\xb0\xf2\xf4\x11\x93\x71\xa6\x4d\x22\x31\x49\x19\x35\x4e\x7e\x4e\x76\xc0\x6f\x92\x40\x09\x3d\x42\xb2\x47\x99\x79\xa5\xec\x93\x4a\x13\xed\x14\xd4\x20\x78\xa0\xe6\x86\xe0\x01\xdc\x96\xed\x11\x0f\xb8\xfd\xb1\xd5\xb2\x5a\xbf\xb6\x2b\x87\xc0\x98\x12\x95\x90\x34\xed\xcc\x83\x20\x92\x73\xbc\x8e\x62\x66\x20\xd3\x6e\x85\xa2\x38\x17\xec\x5b\x0e\xff\xaa\x49\x0c\xe6\xd0\x97\x9b\xa2\x54\xcb\x0b\x3e\xa0\xcc\x55\xa2\x08\x16\x81\x34\x6d\xec\x98\xca\x2c\x23\x62\xa9\xe8\x9a\xa3\x47\x80\xe5\x07\x38\x1f\xd9\x21\x5b\x8f\x61\xbf\x6a\x47\xeb\x4c\x6b\x44\x1b\xbf\x3e\x43\xbc\xf0\x23\x86\x1f\x33\x0a\xc8\x95\x39\xd2\x50\x08\x98\x0e\x05\x27\x7d\xce\xd2\x70\xe2\xc3\x1c\xe2\x4c\xa6\xdd\x79\x8b\x3c\xdb\x01\x0e\x42\xb2\x1b\x59\xc3\xdf\xdb\x95\xeb\x4d\x6f\xf5\x0d\x61\x02\x30\x11\x24\xf3\xd9\x2a\xa6\x08\x29\x08\xc3\x08\x4f\xb4\x02\xda\x21\x6f\x56\x6a\x62\x65\xe2\x20\x48\x8e\x11\x0e\x4c\x1b\x3c\x4f\x83\xd2\x8b\x3d\xb1\x14\x14\x88\x54\x27\x55\x13\x32\x1f\x3d\xe3\x14\xda\x8e\x64\x51\x98\x48\xc5\x54\x56\xa8\xc4\x14\x79\xa1\x98\x5b\xdc\x63\x4c\x34\x10\xa4\xc7\x2b\xf9\x65\x46\x98\x08\x59\x54\x10\x06\xcf\x4a\xb2\x0a\xc6\xde\x1d\x3e\x81\x38\x25\xad\xdf\xcc\x36\x03\x88\x13\x43\x29\xb2\x06\xa4\xc3\xb2\xb3\xc5\xff\xac\xa4\x86\xdb\xc1\xb1\xe6\x78\x68\x14\x5f\xb7\x31\xbd\xed\x5a\x2f\xde\x4b\xcc\x48\x31\xd9\x66\x6c\x3b\x86\x3b\x43\x0d\x3d\xcf\x36\xa0\xad\x43\x51\xd5\x12\x9e\x70\x26\x1e\x97\x77\x71\x78\x36\x48\x92\xa3\xd4\xe6\x9a\x02\x28\x3e\x02\xe1\xe6\x48\x8f\x40\x1f\x27\xd8\x6d\xaa\x0e\xb7\xd4\x26\xc4\xc9\x59\x46\x0e\x7e\x22\x45\x7d\x24\x57\x17\x7a\xf1\xa2\xc6\xb7\xc4\xca\xc3\xa1\x20\x1d\xf3\xb8\x41\xe3\x50\xbf\xf6\x95\xdc\x29\xb2\x13\x60\x68\x15\x29\xd5\xa5\xdf\xe9\xbf\x0c\xc9\xe6\xde\x06\xb1\x43\xfa\xe5\xae\xea\x0f\x27\xa2\xaa\xfc\x8f\xf3\x78\x3b\x4c\x99\xc3\xa4\xd9\x7f\xd2\xd3\x30\xac\xce\xed\xac\x4a\x46\x68\x51\xce\x22\xe8\x91\x75\xbd\x90\xd6\xf5\x7a\x32\xc8\xf9\x17\xda\x01\xf1\x20\xb1\x8e\x21\xf5\x55\x6d\xc4\xfc\xf6\x2d\x68\xe9\xbc\x3d\xbe\x47\x9b\xb1\xe9\x85\x4e\xf3\x32\x5d\xbf\x8b\x95\x74\x84\x33\xa2\xc1\x1f\xec\x93\xfd\x58\x2b\x8d\xa9\xd3\xa7\x40\x9f\x70\xf1\xfe\x7d\x92\x77\x84\x75\x54\x66\x78\xeb\xe6\x11\x65\x97\xa8\x9c\x3b\x27\xb2\xf5\x17\xad\xaf\xd9\x59\xaa\x6e\xe1\xdd\xc5\x8a\x12\x21\xec\x00\x53\x12\xcd\x4f\xe9\x85\x2e\x38\x75\x49\xf8\xd5\xe0\xc3\xf6\xa8\xbf\xdc\x41\x4c\xaf\xd3\x53\x4d\xa0\x94\x83\xda\xd1\x51\x31\x61\xe0\x50\xb4\x32\xee\x24\x90\xef\x38\xd3\x47\x48\xe7\xf0\xa0\x34\x92\x4a\x1e\x16\x18\xce\xdd\x9f\xf0\x60\x98\xe8\xaf\xae\xaa\xcd\x14\xb2\x13\xe3\x70\xe8\x69\xbc\x93\x92\x03\x11\x9d\x44\x81\x40\xd2\x44\x0a\x7e\x0e\xa0\xd4\x86\xa0\x77\x57\x42\x03\xcd\x91\x99\x73\x22\x95\x59\xbc\x2a\xd4\xc7\x2c\xd1\xec\x3b\x74\x63\xef\xe2\xf5\xb5\xa0\x6d\x6f\x42\xbd\x3d\xf6\xe8\xf7\x56\xc4\x5f\x66\x2b\x42\x9f\x35\x35\xd7\xd5\xd6\xda\xa4\x4c\x24\x52\x81\xf0\xc6\x86\x36\x52\x25\x07\x24\x14\x12\x05\xc8\xa4\xd3\x14\x1d\x80\x4d\x73\x24\xc5\xf8\x43\x31\x9a\x1d\x04\x71\xe3\x8e\x45\x6a\x32\xb5\xbf\x72\x13\xc0\x18\x7f\xb0\xe7\x9c\x65\x6c\x3c\x68\x1c\x5e\x1b\x50\xaf\x55\xb5\x9a\xbb\x44\x9b\x28\xcf\x82\x20\x7b\xa2\x43\x98\x6e\x10\x02\x3a\x83\x23\xc1\x19\xa9\xa3\x0c\xcc\xfd\x48\x7e\x72\xf5\x0d\xce\x79\x75\x4e\xcb\x4b\x79\xeb\x7a\x22\x5b\x27\xfd\xac\xd2\xab\x3f\x8d\xed\x68\xf5\xe3\x0e\xaa\x5c\x7b\x9b\xb8\x92\x46\xe8\xa9\x06\xa4\x25\x1d\x1e\xfb\x46\xbf\x04\x42\x77\xd6\xa8\x24\x77\xac\x4d\x00\x8e\xd7\x23\x05\x62\xe7\x6b\xa3\x7e\x70\x45\x60\xf1\x50\x29\x34\xd3\x06\x04\x75\xef\xaf\x3a\x99\x76\x6c\x70\x78\x31\x34\xca\x74\xdf\x15\xd6\x75\x95\x54\xe4\x50\xe1\x6d\x70\xa3\x13\x1e\xab\xf5\x8d\x80\x9f\xa2\x8a\x90\x54\xaa\x91\xa5\x09\x57\x63\x6e\x9a\xed\x6d\x5d\x4c\xd4\xa1\x63\x90\xf1\x24\xf1\xb1\x48\x48\x29\x73\x23\xc7\xaa\xc7\x32\xe3\x4e\x41\x6f\xaf\xaf\x11\xe0\x3a\x08\xb7\x49\xbd\x97\x0b\xa6\x0f\xe5\x6b\xa2\xd1\x03\x73\xa6\xc9\xae\x77\x2e\xe1\x4a\xb4\x45\x66\xc0\x93\x3b\xdf\xfb\x0b\x06\x04\x83\xac\x77\xc0\xd0\x94\x52\x76\xc6\x07\xfd\x3e\xb7\xe1\x0d\xcb\x40\xe6\x4e\x70\x0a\xa9\x96\x08\x9a\xf9\xf5\xd6\xca\x76\xd3\x5a\x5e\x6c\x5d\x5f\xf0\xb8\x90\x45\xd9\xf7\xa0\x07\xeb\xb8\xaa\xda\x05\xf0\xba\x49\x48\x7a\x04\x91\x96\x07\x29\x41\xb9\x14\x41\x71\x46\x89\xf6\xd5\x2b\x37\xec\x39\xe7\x2a\x25\x06\x92\xfa\x96\xcc\x9c\x0a\x71\xa2\x34\x54\x04\x09\xe7\xc0\x99\xce\x42\x4a\xad\x38\x05\x4e\x9c\xb9\xc6\xeb\x37\x25\xfb\x9e\x30\x9e\x23\x24\x84\x8e\x26\x85\x1e\x47\x26\x05\x33\xd2\x09\x5e\x61\x43\x66\xe4\x39\x69\x86\x2d\x49\x3c\x51\x5b\x32\x49\x4c\xdd\xa5\xd6\xba\xf0\x8b\x3c\x73\x14\x3b\x55\x5c\x6c\xf6\x0c\xb5\xa9\x7a\x62\xa9\xea\x5f\x5d\x50\x7f\x19\xdd\x67\x08\xdd\x9a\xb6\xbc\xae\xaa\x4a\xe6\x35\x0c\x13\xee\x70\x69\x3f\x46\xbc\xb3\x19\x71\x60\x31\x04\x5d\x00\x6a\x7b\x72\xe0\xe5\x5f\xd4\x0a\x15\x24\x49\xce\xaa\x42\x68\x09\x53\x50\x29\xaa\x79\x84\x78\xe9\x8d\x61\x51\xf8\x68\xd1\xc6\x65\xca\x78\x11\xa4\x64\x78\x62\x22\x95\x4f\xf3\xd1\x77\x01\x6b\x2b\x4e\x28\xf4\x10\xfb\x56\x43\x6b\x83\x84\x09\x33\xfb\x44\xad\x6f\x16\x85\xb0\x07\x04\x31\x8c\x88\x68\xba\xb3\x89\xc6\xbb\x1b\x9f\x6e\x7e\x0d\x6b\x0a\xad\x8a\x12\xff\x0d\x36\x36\x6f\x5d\xfc\x1b\x6a\xc4\x36\xdc\x3d\xd9\xbd\xa5\xf3\x56\x87\x63\x19\x9d\xaa\xdc\x7b\x3a\x97\x41\x26\xa7\x6f\xa2\xdc\x70\x19\xdc\xa7\x62\x43\xb6\x40\xf5\x12\x74\x9c\x5b\x53\x25\x52\x2d\xbf\x9f\xe4\x3f\xb2\xdd\xfa\x77\x33\x98\x22\xd9\x52\x18\x12\x7c\xc0\x1d\x3b\xcb\xa7\xe8\x1d\xa0\x43\xbe\x13\x61\x57\x37\xdf\x19\x3a\x74\x2f\x8f\x94\x77\x53\x46\x56\xf5\xa1\xed\xc4\xd6\xad\xad\xb6\xc1\x4b\x3c\x7a\x31\x64\xb9\xf9\x97\x4d\x61\x7f\x13\xd8\xd5\x3d\x12\x63\x08\x3d\x06\x35\x9a\x33\xeb\xfd\x1b\x70\x68\xb0\x1d\xe2\x84\xa1\x9a\x6a\x01\x14\x0a\xb9\xa9\xf3\xff\x81\x54\xbf\xba\x5f\xff\x3c\x1f\xac\xbf\x59\xf1\x7e\x17\x51\x52\x5d\x9d\xeb\x03\x6e\x9e\xbe\x83\x35\x7b\xe3\xa5\x18\x24\x3a\xe7\x52\xd4\x54\xbf\x97\xe2\x55\xa3\xa2\x7b\x28\x68\x2d\xc9\x70\x37\x70\xca\x92\xc1\x37\x97\x6a\x8e\x6d\x77\x1a\x7d\x32\xc7\x17\x9e\xdd\xda\x67\xea\xca\x40\x43\x32\xb2\x27\xdd\x1b\xb4\x36\xe2\xb4\xe6\x0b\xe2\xfe\xdd\x87\x89\x0a\x6f\xea\x86\xe1\x2b\x95\x46\x0b\x5c\xc7\x70\xaf\x69\xaf\x79\x6e\xac\x3b\xfc\x40\x6d\x3c\xfe\x1b\xfe\xc1\xe7\x6a\x85\x9e\xe2\x3c\xd8\xad\xfe\xd1\x3d\x80\xab\x3e\x35\xdb\x76\xec\xd3\x23\xa9\xee\xeb\x5a\x89\x76\x6b\xef\x27\x8c\x7e\x60\xe0\xfa\x88\xad\x7f\xfc\xd7\x7c\x4c\x36\x72\x23\x61\x65\xff\x2d\x3f\x0e\x5c\xbd\xac\xfe\x17\x00\x00\xff\xff\xf4\xc7\x3d\x6c\x86\x3d\x00\x00") func dataConfig_schema_v34JsonBytes() ([]byte, error) { return bindataRead( diff --git a/cli/compose/schema/data/config_schema_v3.4.json b/cli/compose/schema/data/config_schema_v3.4.json index 79fc4cb614d8..f2e315ba8e29 100644 --- a/cli/compose/schema/data/config_schema_v3.4.json +++ b/cli/compose/schema/data/config_schema_v3.4.json @@ -316,7 +316,7 @@ "additionalProperties": false, "properties": { "disable": {"type": "boolean"}, - "interval": {"type": "string"}, + "interval": {"type": "string", "format": "duration"}, "retries": {"type": "number"}, "test": { "oneOf": [ @@ -324,8 +324,8 @@ {"type": "array", "items": {"type": "string"}} ] }, - "timeout": {"type": "string"}, - "start_period": {"type": "string"} + "timeout": {"type": "string", "format": "duration"}, + "start_period": {"type": "string", "format": "duration"} } }, "deployment": { diff --git a/cli/compose/types/types.go b/cli/compose/types/types.go index 968664968295..a360a8a9b951 100644 --- a/cli/compose/types/types.go +++ b/cli/compose/types/types.go @@ -169,10 +169,10 @@ type DeployConfig struct { // HealthCheckConfig the healthcheck configuration for a service type HealthCheckConfig struct { Test HealthCheckTest - Timeout string - Interval string + Timeout *time.Duration + Interval *time.Duration Retries *uint64 - StartPeriod string `mapstructure:"start_period"` + StartPeriod *time.Duration `mapstructure:"start_period"` Disable bool }