rename schema to compose_spec

Signed-off-by: aiordache <anca.iordache@docker.com>
This commit is contained in:
aiordache 2020-07-09 15:07:09 +02:00
parent c06b30548d
commit cb56036a6e
14 changed files with 24 additions and 20 deletions

View File

@ -12,8 +12,8 @@ import yaml
from cached_property import cached_property
from . import types
from ..const import COMPOSE_SPEC as VERSION
from ..const import COMPOSEFILE_V1 as V1
from ..const import COMPOSEFILE_V4 as VERSION
from ..utils import build_string_dict
from ..utils import json_hash
from ..utils import parse_bytes
@ -214,7 +214,7 @@ class ConfigFile(namedtuple('_ConfigFile', 'filename config')):
.format(self.filename))
if isinstance(version, str):
version_pattern = re.compile(r"^[1-4]+(\.\d+)?$")
version_pattern = re.compile(r"^[1-3]+(\.\d+)?$")
if not version_pattern.match(version):
raise ConfigurationError(
'Version "{}" in "{}" is invalid.'

View File

@ -1,6 +1,6 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "config_schema_v4.0.json",
"id": "config_schema_compose_spec.json",
"type": "object",
"properties": {
"version": {

View File

@ -1,8 +1,8 @@
import yaml
from compose.config import types
from compose.const import COMPOSE_SPEC as VERSION
from compose.const import COMPOSEFILE_V1 as V1
from compose.const import COMPOSEFILE_V4 as VERSION
def serialize_config_type(dumper, data):

View File

@ -282,7 +282,7 @@ def handle_error_for_schema_with_id(error, path):
invalid_config_key = parse_key_from_error_msg(error)
return get_unsupported_config_msg(path, invalid_config_key)
if schema_id.startswith('config_schema_v'):
if schema_id.startswith('config_schema_'):
invalid_config_key = parse_key_from_error_msg(error)
return ('Invalid top-level property "{key}". Valid top-level '
'sections for this Compose file are: {properties}, and '
@ -487,9 +487,13 @@ def get_schema_path():
def load_jsonschema(version):
suffix = "compose_spec"
if version == V1:
suffix = "v1"
filename = os.path.join(
get_schema_path(),
"config_schema_v{0}.json".format(version))
"config_schema_{0}.json".format(suffix))
if not os.path.exists(filename):
raise ConfigurationError(

View File

@ -24,16 +24,16 @@ SECRETS_PATH = '/run/secrets'
WINDOWS_LONGPATH_PREFIX = '\\\\?\\'
COMPOSEFILE_V1 = ComposeVersion('1')
COMPOSEFILE_V4 = ComposeVersion('4.0')
COMPOSE_SPEC = ComposeVersion('3')
# minimum DOCKER ENGINE API version needed to support
# features for each compose schema version
API_VERSIONS = {
COMPOSEFILE_V1: '1.21',
COMPOSEFILE_V4: '1.38',
COMPOSE_SPEC: '1.38',
}
API_VERSION_TO_ENGINE_VERSION = {
API_VERSIONS[COMPOSEFILE_V1]: '1.9.0',
API_VERSIONS[COMPOSEFILE_V4]: '18.06.0',
API_VERSIONS[COMPOSE_SPEC]: '18.06.0',
}

View File

@ -23,8 +23,8 @@ exe = EXE(pyz,
'DATA'
),
(
'compose/config/config_schema_v4.0.json',
'compose/config/config_schema_v4.0.json',
'compose/config/config_schema_compose_spec.json',
'compose/config/config_schema_compose_spec.json',
'DATA'
),
(

View File

@ -32,8 +32,8 @@ coll = COLLECT(exe,
'DATA'
),
(
'compose/config/config_schema_v4.0.json',
'compose/config/config_schema_v4.0.json',
'compose/config/config_schema_compose_spec.json',
'compose/config/config_schema_compose_spec.json',
'DATA'
),
(

View File

@ -20,8 +20,8 @@ from ..helpers import BUSYBOX_IMAGE_WITH_TAG
from ..helpers import create_host_file
from compose.cli.command import get_project
from compose.config.errors import DuplicateOverrideFileFound
from compose.const import COMPOSE_SPEC as VERSION
from compose.const import COMPOSEFILE_V1 as V1
from compose.const import COMPOSEFILE_V4 as VERSION
from compose.container import Container
from compose.project import OneOffFilter
from compose.utils import nanoseconds_from_time_seconds

View File

@ -21,7 +21,7 @@ from compose.config import ConfigurationError
from compose.config import types
from compose.config.types import VolumeFromSpec
from compose.config.types import VolumeSpec
from compose.const import COMPOSEFILE_V4 as VERSION
from compose.const import COMPOSE_SPEC as VERSION
from compose.const import LABEL_PROJECT
from compose.const import LABEL_SERVICE
from compose.container import Container

View File

@ -11,8 +11,8 @@ from compose.cli.docker_client import docker_client
from compose.config.config import resolve_environment
from compose.config.environment import Environment
from compose.const import API_VERSIONS
from compose.const import COMPOSE_SPEC as VERSION
from compose.const import COMPOSEFILE_V1 as V1
from compose.const import COMPOSEFILE_V4 as VERSION
from compose.const import LABEL_PROJECT
from compose.progress_stream import stream_output
from compose.service import Service

View File

@ -26,8 +26,8 @@ from compose.config.serialize import denormalize_service_dict
from compose.config.serialize import serialize_config
from compose.config.serialize import serialize_ns_time_value
from compose.config.types import VolumeSpec
from compose.const import COMPOSE_SPEC as VERSION
from compose.const import COMPOSEFILE_V1 as V1
from compose.const import COMPOSEFILE_V4 as VERSION
from compose.const import IS_WINDOWS_PLATFORM
from tests import mock
from tests import unittest

View File

@ -8,7 +8,7 @@ from compose.config.interpolation import Interpolator
from compose.config.interpolation import InvalidInterpolation
from compose.config.interpolation import TemplateWithDefaults
from compose.config.interpolation import UnsetRequiredSubstitution
from compose.const import COMPOSEFILE_V4 as VERSION
from compose.const import COMPOSE_SPEC as VERSION
@pytest.fixture

View File

@ -5,8 +5,8 @@ from compose.config.types import parse_extra_hosts
from compose.config.types import ServicePort
from compose.config.types import VolumeFromSpec
from compose.config.types import VolumeSpec
from compose.const import COMPOSE_SPEC as VERSION
from compose.const import COMPOSEFILE_V1 as V1
from compose.const import COMPOSEFILE_V4 as VERSION
def test_parse_extra_hosts_list():

View File

@ -13,8 +13,8 @@ from ..helpers import BUSYBOX_IMAGE_WITH_TAG
from compose.config import ConfigurationError
from compose.config.config import Config
from compose.config.types import VolumeFromSpec
from compose.const import COMPOSE_SPEC as VERSION
from compose.const import COMPOSEFILE_V1 as V1
from compose.const import COMPOSEFILE_V4 as VERSION
from compose.const import DEFAULT_TIMEOUT
from compose.const import LABEL_SERVICE
from compose.container import Container