1from __future__ import absolute_import 2from __future__ import unicode_literals 3 4import sys 5 6from .version import ComposeVersion 7 8DEFAULT_TIMEOUT = 10 9HTTP_TIMEOUT = 60 10IS_WINDOWS_PLATFORM = (sys.platform == "win32") 11LABEL_CONTAINER_NUMBER = 'com.docker.compose.container-number' 12LABEL_ONE_OFF = 'com.docker.compose.oneoff' 13LABEL_PROJECT = 'com.docker.compose.project' 14LABEL_SERVICE = 'com.docker.compose.service' 15LABEL_NETWORK = 'com.docker.compose.network' 16LABEL_VERSION = 'com.docker.compose.version' 17LABEL_SLUG = 'com.docker.compose.slug' 18LABEL_VOLUME = 'com.docker.compose.volume' 19LABEL_CONFIG_HASH = 'com.docker.compose.config-hash' 20NANOCPUS_SCALE = 1000000000 21PARALLEL_LIMIT = 64 22 23SECRETS_PATH = '/run/secrets' 24WINDOWS_LONGPATH_PREFIX = '\\\\?\\' 25 26COMPOSEFILE_V1 = ComposeVersion('1') 27COMPOSEFILE_V2_0 = ComposeVersion('2.0') 28COMPOSEFILE_V2_1 = ComposeVersion('2.1') 29COMPOSEFILE_V2_2 = ComposeVersion('2.2') 30COMPOSEFILE_V2_3 = ComposeVersion('2.3') 31COMPOSEFILE_V2_4 = ComposeVersion('2.4') 32 33COMPOSEFILE_V3_0 = ComposeVersion('3.0') 34COMPOSEFILE_V3_1 = ComposeVersion('3.1') 35COMPOSEFILE_V3_2 = ComposeVersion('3.2') 36COMPOSEFILE_V3_3 = ComposeVersion('3.3') 37COMPOSEFILE_V3_4 = ComposeVersion('3.4') 38COMPOSEFILE_V3_5 = ComposeVersion('3.5') 39COMPOSEFILE_V3_6 = ComposeVersion('3.6') 40COMPOSEFILE_V3_7 = ComposeVersion('3.7') 41 42API_VERSIONS = { 43 COMPOSEFILE_V1: '1.21', 44 COMPOSEFILE_V2_0: '1.22', 45 COMPOSEFILE_V2_1: '1.24', 46 COMPOSEFILE_V2_2: '1.25', 47 COMPOSEFILE_V2_3: '1.30', 48 COMPOSEFILE_V2_4: '1.35', 49 COMPOSEFILE_V3_0: '1.25', 50 COMPOSEFILE_V3_1: '1.25', 51 COMPOSEFILE_V3_2: '1.25', 52 COMPOSEFILE_V3_3: '1.30', 53 COMPOSEFILE_V3_4: '1.30', 54 COMPOSEFILE_V3_5: '1.30', 55 COMPOSEFILE_V3_6: '1.36', 56 COMPOSEFILE_V3_7: '1.38', 57} 58 59API_VERSION_TO_ENGINE_VERSION = { 60 API_VERSIONS[COMPOSEFILE_V1]: '1.9.0', 61 API_VERSIONS[COMPOSEFILE_V2_0]: '1.10.0', 62 API_VERSIONS[COMPOSEFILE_V2_1]: '1.12.0', 63 API_VERSIONS[COMPOSEFILE_V2_2]: '1.13.0', 64 API_VERSIONS[COMPOSEFILE_V2_3]: '17.06.0', 65 API_VERSIONS[COMPOSEFILE_V2_4]: '17.12.0', 66 API_VERSIONS[COMPOSEFILE_V3_0]: '1.13.0', 67 API_VERSIONS[COMPOSEFILE_V3_1]: '1.13.0', 68 API_VERSIONS[COMPOSEFILE_V3_2]: '1.13.0', 69 API_VERSIONS[COMPOSEFILE_V3_3]: '17.06.0', 70 API_VERSIONS[COMPOSEFILE_V3_4]: '17.06.0', 71 API_VERSIONS[COMPOSEFILE_V3_5]: '17.06.0', 72 API_VERSIONS[COMPOSEFILE_V3_6]: '18.02.0', 73 API_VERSIONS[COMPOSEFILE_V3_7]: '18.06.0', 74} 75