Commit Graph

58 Commits

Author SHA1 Message Date
Daniel Nephin c1b2fad9aa Fix external volume error to pass validation.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-03-24 16:55:04 -04:00
Daniel Nephin c70387aebc Cleanup compose convert error messages.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-03-24 10:43:28 -04:00
Vincent Demeester fe19bc6891 Make sure we error out instead of panic during interpolation
Use type assertion to error out if the type isn't the right one
instead of panic as before this change.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2017-03-23 16:09:57 +01:00
Vincent Demeester a1e1ab78d0 Remove compose types.Dict alias
It is just an alias type and make the code a little bit more complex
and hard to use from outside `compose` package.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2017-03-22 16:16:20 +01:00
Vincent Demeester 4826a5c3af Fixing a small typo in compose loader package
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2017-03-20 15:39:57 +01:00
Vincent Demeester 6e24fc3f58 Merge pull request #30781 from AkihiroSuda/fix-stack-env
compose: fix environment interpolation from the client
2017-03-17 15:56:50 +01:00
Akihiro Suda 2fc6cd4b71 compose: update the comment about MappingWithEquals
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-03-17 06:21:55 +00:00
Sebastiaan van Stijn 2222824fd9 Merge pull request #31896 from aaronlehmann/move-secretrequestoption
api: Remove SecretRequestOption type
2017-03-16 21:31:15 +01:00
Aaron Lehmann 395081fc6b api: Remove SecretRequestOption type
This type is only used by CLI code. It duplicates SecretReference in the
types/swarm package. Change the CLI code to use that type instead.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2017-03-16 11:20:31 -07:00
Daniel Nephin d0fb25319b Fix compose schema id for v3.2
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-03-16 13:53:58 -04:00
Sebastiaan van Stijn 69b7bf5e9f Merge pull request #31302 from dnephin/purge-orphaned-services
Add --prune to stack deploy
2017-03-15 12:57:06 +01:00
Anusha Ragunathan d510306bb7 Merge pull request #31147 from adshmh/30629-print-escaping-hint-on-invalid-interpolation-format
docker stack deploy interpolation format error due to not escaping $ now includes a hint
2017-03-14 17:14:09 -07:00
Daniel Nephin b1a98b55af Add --prune to stack deploy.
Add to command line reference.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-03-14 16:09:28 -04:00
Daniel Nephin 146d3eb304 Fix environment resolving.
Load from env should only happen if the value is unset.
Extract a buildEnvironment function and revert some changes to tests.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-03-14 16:00:43 -04:00
Akihiro Suda b7ffa960bf compose: fix environment interpolation from the client
For an environment variable defined in the yaml without value,
the value needs to be propagated from the client, as in Docker Compose.

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-03-14 15:59:40 -04:00
Daniel Nephin d1fc5acc2e Merge pull request #31795 from dnephin/compose-file-v3.2
Compose file v3.2
2017-03-14 14:10:24 -04:00
Justin Cormack b8c49df008 Merge pull request #30597 from dnephin/add-expanded-mount-format-to-stack-deploy
Add expanded mount format to stack deploy
2017-03-14 17:53:28 +00:00
Daniel Nephin 2e9b15143a Add compose file version 3.2
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-03-13 16:20:42 -04:00
Daniel Nephin 33bfb1e5e5 Move endpoint_mode under deploy and add it to the schema.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-03-13 15:00:56 -04:00
allencloud cd1cde6e77 support both endpoint modes in stack
Signed-off-by: allencloud <allen.sun@daocloud.io>
2017-03-13 15:00:49 -04:00
Sebastiaan van Stijn 4c4af071c7 Merge pull request #31176 from adshmh/29662-stack-deploy-error-if-external-combined-with-other-volume-options
stack deploy exits with error if both 'external' and other options are specified for a volume
2017-03-11 01:59:43 +01:00
Sebastiaan van Stijn 889f0259c2 Merge pull request #31443 from james-nesbitt/export-more-compose-methods
exported add. cli compose loader parsing methods
2017-03-08 15:12:42 +01:00
Arash Deshmeh 789652c41a stack deploy exits with error if both 'external' and any other options are specified for volumes
Signed-off-by: Arash Deshmeh <adeshmeh@ca.ibm.com>
2017-03-07 14:21:45 -05:00
James Nesbitt b6f45eb18e exported cli compose loader parsing methods
Signed-off-by: James Nesbitt <james.nesbitt@wunderkraut.com>
2017-03-07 17:36:35 +02:00
Daniel Nephin 63c3221dd3 Convert new compose volume type to swarm mount type
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-03-06 11:45:01 -05:00
Daniel Nephin 29f39ea244 Support expanded mounts in Compose loader
Add a test for loading expanded mount format.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-03-06 11:45:01 -05:00
Daniel Nephin a442213b92 Parse a volume spec on the client, with support for windows drives
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-03-06 11:45:01 -05:00
Daniel Nephin d2d48f3f69 Add expanded mount syntax to Compose schema and types.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-03-06 11:45:01 -05:00
Daniel Nephin 5de7378cbe Support customizing the default network for a stack.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-02-24 17:32:23 -05:00
Arash Deshmeh 3581bec442 docker compose interpolation format error now includes a hint on escaping $ characters.
Signed-off-by: Arash Deshmeh <adeshmeh@ca.ibm.com>
2017-02-24 11:37:40 -05:00
Brian Goff 7377abd9e0 Merge pull request #31088 from xulike666/make-code-readable-again
Typo fixed and this time I provide my cSpell.json
2017-02-16 22:04:27 -05:00
Brian Goff 325c8823bc Merge pull request #31006 from vdemeester/30991-secret-mode-in-stack-deploy
Set 0444 as default secret mode in stack deploy
2017-02-16 20:34:21 -05:00
Aaron.L.Xu ca2aeb5a3e why there are so many mistakes in our repo (up to /cmd)
Signed-off-by: Aaron.L.Xu <likexu@harmonycloud.cn>
2017-02-17 00:32:48 +08:00
Vincent Demeester 645f6ba7f5 Set 0444 as default secret mode in stack deploy
Change the default secret mode to match the default one used in
`service` subcommands.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2017-02-16 11:26:05 +01:00
bingshen.wbs 6887337d86 fix docker stack volume's nocopy parameter
Signed-off-by: bingshen.wbs <bingshen.wbs@alibaba-inc.com>
2017-02-15 19:46:27 +08:00
Yong Tang c53471254b Support expanded ports in Compose loader
This commit adds support for expanded ports in Compose loader,
and add several unit tests for loading expanded port format.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2017-02-07 09:14:56 -08:00
Yong Tang c69e0f7dd5 Add expanded port syntax to Compose schema and types.
This commit adds expanded port syntax to Compose schema and types
so that it is possible to have
```
ports:
  - mode: host
    target: 80
    published: 9005
```

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2017-02-07 09:12:55 -08:00
Yong Tang 1a677699ae Add compose support of `attachable` in networks
This fix tries to address the issue raised in 29975 where
it was not possible to specify `attachable` flag for networks
in compose format.

NOTE: Compose format aleady supports `labels` in networks.

This fix adds the support of `attachable` for compose v3.1 format.

Additiona unit tests have been updated and added.

This fix fixes 29975.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2017-02-04 14:16:06 -08:00
Phil Estes 7b5071b028 Merge pull request #30506 from vdemeester/29732-follow-up-compose-indempotent
Make docker stack deploy a little bit more indempotent
2017-01-31 13:35:04 -08:00
Daniel Nephin 1eefdba226 Remove the old loading system from compose config loading
The original Compose config loading used the `compose` tag, which
was replaced by mapstructure. Some fields were left on the old tag. This
commit removes the old tag and uses types and mapstructure.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-01-27 17:03:41 -05:00
Vincent Demeester 3df952523c Make docker stack deploy a little bit more indempotent
Sort some slice fields before sending them to the swarm api so that it
won't trigger an update.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2017-01-27 16:09:02 +01:00
Daniel Nephin 485a2b2b2f Set default values for uid and gid to prevent errors when starting a service.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-01-26 12:00:46 -05:00
Daniel Nephin b0eabe7718 Rebase Compose v3.1 schema on the latest v3 schema.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-01-26 11:33:15 -05:00
Daniel Nephin 682d75fa3f Test and fix external secrets in stack deploy.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-01-26 11:33:15 -05:00
Daniel Nephin 4a1c23bc26 Add integration test for stack deploy with secrets.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-01-26 11:33:15 -05:00
Daniel Nephin 0382f4f365 Implement secret types for compose file.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-01-26 11:33:15 -05:00
Daniel Nephin 7215ebffa8 Add v3.1 schema and support validating multiple version.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-01-26 11:33:15 -05:00
Daniel Nephin 3dd116fede Add missing network.internal.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-01-20 12:53:19 -05:00
Daniel Nephin cd3c323c38 Update Compose schema to match docker-compose.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-01-20 12:36:57 -05:00
Tony Abboud 74c29fde04 Add error checking for hostPort range
This fix catches the case where there is a single container port
and a dynamic host port and will fail out gracefully
Example docker-compose.yml snippet:
    port:
        ports:
            - "8091-8093:8091"
            - "80:8080"

Signed-off-by: Tony Abboud <tdabboud@hotmail.com>
2017-01-13 18:05:51 -05:00