Commit Graph

282 Commits

Author SHA1 Message Date
Drew Romanyk a1ac289943 Add label config validation, fixes #4904
Signed-off-by: Drew Romanyk <drewiswaycool@gmail.com>
2017-11-30 11:57:42 -06:00
Drew Romanyk bee6046043 Add config validation for service volumes, fixes #5352
Signed-off-by: Drew Romanyk <drewiswaycool@gmail.com>
2017-11-30 10:21:27 -06:00
Drew Romanyk badd4d764a Refactor subnet cidr validator & add new test
Signed-off-by: Drew Romanyk <drewiswaycool@gmail.com>
2017-11-13 21:53:14 -06:00
Drew Romanyk 6c8184d0d0 Add format to other v3 configs & remove unix dependency
Signed-off-by: Drew Romanyk <drewiswaycool@gmail.com>
2017-11-10 18:04:11 -06:00
Drew Romanyk 68c636d728 Fix subnet config test for windows
Signed-off-by: Drew Romanyk <drewiswaycool@gmail.com>
2017-11-09 23:41:42 -06:00
Drew Romanyk 5691b8241d Implement subnet config validation (fixes #4552)
Signed-off-by: Drew Romanyk <drewiswaycool@gmail.com>
2017-11-09 22:30:10 -06:00
Joffrey F 4563d8c050 Fix service label parsing
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-11-03 13:51:49 -07:00
Joffrey F 8c0b03a2f5 Add support for BOM-signed env files
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-10-24 12:52:54 -07:00
Guillermo Arribas aa1fb67495 Wrong format in the healthcheck test does not issue a warning (fixes #4424)
Signed-off-by: Guillermo Arribas <garribas@gmail.com>
2017-10-23 14:50:22 -07:00
Joffrey F a07dee9207 Add type converter to interpolation module
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-10-23 12:42:42 -07:00
Guillermo Arribas eebc63c216 Allow empty default values in variable interpolation (fixes #5185)
Signed-off-by: Guillermo Arribas <garribas@gmail.com>
2017-10-20 13:45:47 -07:00
Joffrey F 7df1b53ad2 Move build labels parsing to config module
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-10-16 11:56:36 -07:00
Joffrey F 53e0378379 Mount with same container path and different mode should override
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-10-13 17:04:42 -07:00
Joffrey F 3654f3ac48 Fix oneOf validator parser to correctly process uniqueItems errors
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-09-26 17:21:31 -07:00
Joffrey F fc426e273d Merge extra_hosts instead of overwrite
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-09-01 13:18:44 -07:00
Joffrey F ec1f6c36eb Add support for extension fields in v2.x and v3.4
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-08-31 14:38:32 -07:00
Joffrey F 7210fdb21c Add support for start_period in healthcheck config
Improve merging strategy for healthcheck configs

Signed-off-by: Joffrey F <joffrey@docker.com>
2017-08-11 16:49:29 -07:00
Joffrey F 3fbfb3a5dd Prevent null logging options in `docker-compose config` output
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-08-10 12:21:27 -07:00
Joffrey F 6e802df809 Add support for blkio config keys
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-08-09 19:45:22 -07:00
Joffrey F 3ea8a20cfa Fix ServiceExtendsResolver same-file detection
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-08-03 12:06:06 -07:00
Joffrey F 8102f02cfc 0 is a valid value for a published port
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-07-26 18:17:26 -07:00
Joffrey F 7abae9f536 Escape dollar sign in serialized config output
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-07-26 18:16:55 -07:00
Yong Wen Chua 4a65008199 Add Compose v2.3
Signed-off-by: Yong Wen Chua <me@yongwen.xyz>
2017-07-20 17:06:59 -07:00
Joffrey F 8f0ef26a73 Improved version comparisons throughout the codebase
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-07-11 17:40:53 -07:00
Joffrey F d94fa5428e Make sure y/n values are quoted in serialized output
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-07-06 15:15:12 -07:00
Joffrey F 55bd02f303 `scale` property should be merged according to standard scalar rules
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-07-05 13:10:50 -07:00
Joffrey F f2054f1a7d Fix ports sorting on Python 3
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-06-27 12:50:41 -07:00
Joffrey F f3c1c8d158 ServicePort merge_field should account for external IP and protocol
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-06-12 11:42:29 -07:00
Joffrey F bd8d77feae Add configs tests
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-06-06 11:50:09 -07:00
Joffrey F 36af86b9b2 Always convert port values in ServicePort to integer
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-06-05 15:51:22 -07:00
Joffrey F 9a70db0889 Merge pull request #4864 from shin-/cred_spec_support
Add partial support for v3.3 credential_spec
2017-05-25 17:30:44 -07:00
Joffrey F 73d7865da8 Add partial support (docker-compose config and warnings) for v3.3 credential_spec
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-05-25 14:54:46 -07:00
Joffrey F 062812e4aa Merge all fields inside build dict
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-05-23 15:23:04 -07:00
Joffrey F fa77856c86 Add 3.3 format support
Remove build.labels field from 3.2 schema

Signed-off-by: Joffrey F <joffrey@docker.com>
2017-05-23 12:04:24 -07:00
Colin Hebert 9d78258b44 Fix test type
Signed-off-by: Colin Hebert <hebert.colin@gmail.com>
2017-05-23 12:03:36 -07:00
Colin Hebert 37de55865b Add tests for the labels
Signed-off-by: Colin Hebert <hebert.colin@gmail.com>
2017-05-23 12:03:36 -07:00
Alexey Rokhin 0043dc4fab Add cpu_count, cpu_percent, cpus parameters.
Signed-off-by: Alexey Rokhin <arokhin@mail.ru>
2017-05-17 14:50:29 +03:00
Joffrey F 3e66c68f9f Fix external secrets serialization
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-05-01 14:42:17 -07:00
Joffrey F 1891b2b78c Fix ServicePort.legacy_repr bug for `ext_ip::target` notation
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-04-11 14:45:14 -07:00
Joffrey F 72a2ea9d86 Fix serializer bug (python 3)
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-04-07 16:54:31 -07:00
Joffrey F 2506b72508 Merge pull request #4649 from shin-/bump_docker_py
Bump docker SDK dependency
2017-03-31 14:40:49 -07:00
Joffrey F 48831a8d5f Bump docker SDK dependency
Update invalid ports test

Signed-off-by: Joffrey F <joffrey@docker.com>
2017-03-28 16:15:34 -07:00
King Chung Huang 0e5acfa16c Merge deploy key in service dicts
Update merge_service_dicts() to merge deploy mappings.
Compose file version 3 added the deploy key to service dicts
to specify configs related to Docker services.

Signed-off-by: King Chung Huang <kinghuang@mac.com>
2017-03-24 15:03:53 -06:00
Joffrey F a0add5cc12 Fix ports reparsing for service extends
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-03-22 15:14:13 -07:00
Joffrey F 611f058cde Merge pull request #4632 from shin-/expanded-mounts
Add support for expanded mount/volume notation
2017-03-21 12:36:41 -07:00
Joffrey F 69d0c0e3a0 Add support for expanded mount/volume notation
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-03-17 20:42:59 -07:00
King Chung Huang 0464476f08 Add unit test for image digests in config
Add two unit tests to validate that the denormalize_service_dict
function still works without passing a third argument for image_digest,
and correctly uses an image digest if one is provided.

Signed-off-by: King Chung Huang <kinghuang@mac.com>
2017-03-17 12:22:40 -06:00
Daniel Nephin 2acf286ed6 Support V3.2
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-03-15 11:40:31 -04:00
Joffrey F a6db78e5d4 Enable variable substitution in config.secrets
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-03-13 18:30:37 -07:00
Joffrey F 23b873c2ce Add "secrets" section to docker-compose config output when applicable
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-03-10 14:32:55 -08:00
Dimitar Bonev 707210ae95 Ability to change working directory via a CLI flag
Signed-off-by: Dimitar Bonev <dimitar.bonev@gmail.com>
2017-03-08 14:42:14 -08:00
Joffrey F d5a2d37d05 Properly resolve build args against host environment values
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-03-07 18:13:11 -08:00
Dat Tran 449dcc9d7b support --build-arg for build command
Signed-off-by: Dat Tran <dattran.vn01@gmail.com>
2017-03-07 17:09:35 -08:00
Joffrey F 0167aba2b7 Merge pull request #4541 from shin-/4502-expanded-port-syntax
Add support for expanded port syntax in 3.1 format
2017-03-06 18:32:52 -08:00
George Lester c7b8278e78 Implemented dns_opt
Signed-off-by: George Lester <glester491@gmail.com>
2017-03-03 15:37:21 -08:00
Joffrey F 8d3c8be7d9 Merge pull request #4036 from nbarbey/master
Fix TypeError : unorderable types: str() < int()
2017-03-01 17:25:21 -08:00
Joffrey F 9f8e01fa94 Merge pull request #3543 from milin/master
Replace assertEquals with assertEqual in unittests since the former is getting dep…
2017-03-01 16:27:36 -08:00
Joffrey F 11788ef0ff Add support for expanded port syntax in 3.1 format
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-03-01 12:10:51 -08:00
Joffrey F 8b92049432 Detect the service that causes the invalid service name error
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-02-22 16:21:23 -08:00
Joffrey F abce83ef25 Fix `config` command output with service.secrets section
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-02-13 16:51:50 -08:00
Daniel Nephin dc5b3f3b3e Fix secrets config.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-02-10 17:11:24 -05:00
Daniel Nephin c092fa37de Fix version 3.1
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-02-09 12:39:57 -05:00
Joffrey F 951497c0f2 Merge pull request #4419 from shin-/4418-healthcheck-extends
Don't re-parse healthcheck values coming from extended services
2017-02-03 12:24:53 -08:00
Joffrey F cf43e6edf7 Don't re-parse healthcheck values coming from extended services
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-02-02 14:50:53 -08:00
Joffrey F 7e8958e6ca Add missing comma in DOCKER_CONFIG_KEYS list
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-02-01 16:40:43 -08:00
Joffrey F e10d1140b9 Convert time data back to string values when serializing config
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-01-26 11:59:22 -08:00
Joffrey F 1a02121ab5 depends_on merge now retains condition information when present
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-01-18 17:52:03 -08:00
Joffrey F 2df31bb13c Provide valid serialization of depends_on when format is not 2.1
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-01-11 16:25:40 -08:00
Joffrey F 534b4ed820 Falsy values in COMPOSE_CONVERT_WINDOWS_PATHS are properly recognized
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-01-04 15:45:11 -08:00
Joffrey F bef2308530 Fix condition name in config tests
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-01-04 11:28:30 -08:00
Joffrey F 04394b1d0a Expand depends_on to allow different conditions (service_start, service_healthy)
Rework "up" and "start" to wait on conditional state of dependent services
Add integration tests

Signed-off-by: Joffrey F <joffrey@docker.com>
2017-01-04 11:28:30 -08:00
Aanand Prasad 716a6baa59 Implement 'healthcheck' option
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-11-18 14:47:02 +00:00
Aanand Prasad d717c88b6e Support version 3.0 of the Compose file format
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-11-16 16:07:02 +00:00
Aanand Prasad ba249e5179 Test that values in 'environment' override env files
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-11-09 15:10:27 +00:00
Joffrey F 10417eebd7 Fix logging dict merging
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-11-03 17:22:31 -07:00
Joffrey F efb09af271 Do not normalize volume paths on Windows by default
Add environment variable to enable normalization if needed.
Do not normalize internal paths

Signed-off-by: Joffrey F <joffrey@docker.com>
2016-10-18 12:17:56 -07:00
Nicolas Barbey 086ae04b9e Fix TypeError : unorderable types: str() < int()
While merging list items into a set, strings and ints are compared which is not possible.
We cast everything to strings to avoid the issue.

The issue was seen with python 3.5 while overriding configuration files
with heterogenous port types (int in one file, string in another).

Signed-off-by: Nicolas Barbey <nicolas.a.barbey@gmail.com>
2016-10-18 12:01:00 +02:00
Joffrey F 14716bc2da Merge branch 'master' of https://github.com/dbdd4us/compose into dbdd4us-master 2016-10-17 14:09:09 -07:00
Joffrey F a5c1e4b0cd Merge pull request #3991 from shin-/3906-isolation-config
Add support for "isolation" in config
2016-10-17 11:02:11 -07:00
dbdd bdcce13f4a add support for creating volume and network with label definition
Signed-off-by: dbdd <wangtong2712@gmail.com>
2016-10-12 10:35:14 +08:00
Joffrey F 7f1606545d Merge pull request #4004 from shin-/4000-extend-logging
Properly merge logging dictionaries in overriding configs
2016-10-11 12:00:06 -07:00
Joffrey F 0603b445e2 Properly merge logging dictionaries in overriding configs
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-10-10 15:39:05 -07:00
Daniel Nephin 2bce81508e Support non-alphanumeric default values.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-10-06 17:04:19 -04:00
Daniel Nephin fe08be698d Support inline default values.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-09-29 12:46:11 -04:00
Joffrey F dc8a39f70d Add support for "isolation" in config
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-09-28 15:31:58 -07:00
Joffrey F f65f89ad8c Merge pull request #3653 from shin-/3637-link-local-ips
Add support for link-local IPs in service.networks definition
2016-09-22 11:58:29 -07:00
Joffrey F 7687412e03 Merge pull request #3922 from shin-/3897-volumespec_parse_win32
Improve volumespec parsing on windows platforms
2016-09-20 13:09:37 -07:00
Joffrey F 7911659266 Improve volumespec parsing on windows platforms
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-09-20 11:24:24 -07:00
Joffrey F fd254caa68 Add support for link-local IPs in service.networks definition
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-09-15 14:55:14 -07:00
George Lester dada36f732 Supported group_add
Signed-off-by: George Lester <glester491@gmail.com>
2016-09-11 23:10:49 -07:00
Jean-François Roche d824cb9b06 Add support for swappiness constraint
Run a service using `docker run --memory-swappiness=0` (see
https://docs.docker.com/engine/reference/run/)

refs #2383

Signed-off-by: Jean-François Roche <jfroche@affinitic.be>
2016-08-16 11:02:51 +02:00
Jonathan Giannuzzi 83f35e132b Add support for creating internal networks
Signed-off-by: Jonathan Giannuzzi <jonathan@giannuzzi.be>
2016-07-11 11:34:01 +02:00
George Lester 6fe5d2b543 Implemented oom_score_adj
Signed-off-by: George Lester <glester491@gmail.com>
2016-07-05 23:43:32 -07:00
Aanand Prasad 21f20cbc9b Merge pull request #3449 from Andrey9kin/ready/3281
Fix #3281: Unexpected result when using build args with default values
2016-06-14 08:05:07 -07:00
Joffrey F 60f7e021ad Fix split_path_mapping behavior when mounting "/"
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-06-13 15:32:10 -07:00
Milind Shakya 11a2eab549 Replace assertEquals with assertEqual since the former is getting deprecated soon. Also, fix pep8 E309.
Signed-off-by: Milind Shakya <sh.milind@gmail.com>
2016-06-02 16:35:23 -07:00
Andrey Devyatkin a67ba5536d Fix #3281: Unexpected result when using build args with default values
Fix the issue when build arg is set to None instead of empty string. Usecase:

cat docker-compose.yml
  .... args:
  - http_proxy
  - https_proxy
  - no_proxy

If http_proxy, https_proxy, no_proxy environment variables are not defined then http_proxy,
https_proxy, no_proxy build args will be set to string None which breaks all downloads

With this change undefined build args will be set to empty string instead of string None

Signed-off-by: Andrey Devyatkin <andrey.a.devyatkin@gmail.com>
2016-05-28 11:39:41 +02:00
Andrey Devyatkin c148849f0e Fix #3281: Unexpected result when using build args with default values
Fix the issue when build arg is set to None instead of empty string. Usecase:

cat docker-compose.yml
.... args:
- http_proxy
- https_proxy
- no_proxy

If http_proxy, https_proxy, no_proxy environment variables are not defined then http_proxy,
https_proxy, no_proxy build args will be set to string None which breaks all downloads

With this change undefined build args will be set to empty string instead of string None

Signed-off-by: Andrey Devyatkin <andrey.a.devyatkin@gmail.com>
2016-05-27 20:16:52 +02:00
Joffrey F 842e372258 Eliminate duplicates when merging port mappings from config files
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-05-20 15:28:35 -07:00
Joffrey F 2b5b665d3a Add test for path mapping with Windows containers
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-05-19 14:53:37 -07:00