Vincent Demeester
2c4de4fb5e
Update tests to use gotest.tools 👼
...
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2018-06-08 18:24:26 +02:00
Sebastiaan van Stijn
90f8ce8a5d
Merge pull request #1104 from vdemeester/show-me-your-secret
...
Add more example to the full-example tests
2018-06-05 16:44:06 +02:00
Vincent Demeester
55426d9396
Add more example to the full-example tests
...
Configs and Secrets were note present, some labels on volumes and
networks too.
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2018-06-01 14:16:18 +02:00
Vincent Demeester
6bcfa8806c
Allow `x-*` extension on 3rd level objects
...
As for top-level key, any 3rd-level key which starts with `x-` will be
ignored by compose. This allows for users to:
* include additional metadata in their compose files
* create YAML anchor objects that can be re-used in other parts of the config
This matches a similar feature in the swagger spec definition:
https://swagger.io/specification/#specificationExtensions
This means a composefile like the following is valid
```
verison: "3.7"
services:
foo:
image: foo/bar
x-foo: bar
network:
bar:
x-bar: baz
```
It concerns services, volumes, networks, configs and secrets.
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2018-05-31 13:38:58 +02:00
Vincent Demeester
4e6e5d583c
Support for rollback config in compose 3.7
...
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2018-05-29 11:37:51 +02:00
Vincent Demeester
df6e38b81a
Add composefile schema 3.7
...
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2018-05-29 11:37:12 +02:00
Kir Kolyshkin
6f8070deb2
Switch from x/net/context to context
...
Since go 1.7, "context" is a standard package. Since go 1.9,
x/net/context merely provides some types aliased to those in
the standard context package.
The changes were performed by the following script:
for f in $(git ls-files \*.go | grep -v ^vendor/); do
sed -i 's|golang.org/x/net/context|context|' $f
goimports -w $f
for i in 1 2; do
awk '/^$/ {e=1; next;}
/\t"context"$/ {e=0;}
{if (e) {print ""; e=0}; print;}' < $f > $f.new && \
mv $f.new $f
goimports -w $f
done
done
[v2: do awk/goimports fixup twice]
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2018-05-11 16:49:43 -07:00
Vincent Demeester
0122730faf
Fix error with merge composefile with networks…
...
… and other cases too. Updating mergo fixes the bugs (but introduced a
slight behaviour change that had to be fixed too)
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2018-04-05 10:37:35 +02:00
Daniel Nephin
b4c108a385
Fix named network in compose file
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2018-03-12 15:15:27 -04:00
Vincent Demeester
0cf2e6353a
Fixes some unit tests to be able to run them on windows
...
Some of them are skipped for now (because the feature is not supported
or needs more work), some of them are fixed.
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2018-03-07 18:18:13 +01:00
Daniel Nephin
e15b208e96
Convert assert.Check(t, is.Error()) to assert.Error
...
git grep -l -P '^\s+assert\.Check\(t, is\.Error\(' | \
xargs perl -pi -e 's/^(\s+assert\.)Check\(t, is\.Error\((.*)\)$/\1Error(t, \2/'
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2018-03-06 16:00:28 -05:00
Daniel Nephin
078cbc9c4b
Convert assert.Check with
...
git grep -l -P '^\s+assert\.Check\(t, ' | \
xargs perl -pi -e 's/^(\s+assert)\.Check(\(t, (?!is).*(\.Execute\(|\.Set\(|\.Write\(|\.Close\(|\.Untar\(|\.WriteFile\(|Validate\().*\)$)/\1.NilError\2/'
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2018-03-06 15:43:53 -05:00
Daniel Nephin
baf65a5502
Convert to assert.NilError
...
Using:
git grep -l '^\s\+assert\.Check(t, err)$' | \
xargs sed -i -e 's/^\(\s\+assert\)\.Check(t, err)$/\1.NilError(t, err)/'
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2018-03-06 15:27:34 -05:00
Daniel Nephin
681c921528
Remove testutil
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2018-03-06 14:38:35 -05:00
Daniel Nephin
5155cda716
Post migration fixes
...
Fix tests that failed when using cmp.Compare()
internal/test/testutil/assert
InDelta
Fix DeepEqual with kube metav1.Time
Convert some ErrorContains to assert
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2018-03-05 19:41:17 -05:00
Daniel Nephin
39c2ca57c1
Automated migration
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2018-03-05 19:41:17 -05:00
Daniel Nephin
93615dd967
Update some assertions.
...
and fix some tests
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2018-03-05 17:15:24 -05:00
Arash Deshmeh
5d8ce59a25
fix the error message in Substitute function
...
Signed-off-by: Arash Deshmeh <adeshmeh@ca.ibm.com>
2018-02-26 15:29:17 -05:00
Arash Deshmeh
e33bc48752
Added error message check to TestMandatoryVariableErrors test
...
Signed-off-by: Arash Deshmeh <adeshmeh@ca.ibm.com>
2018-02-26 15:29:17 -05:00
Daniel Nephin
ce544823b6
Refactor substitute to reduce cyclo complexity
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2018-02-26 15:29:17 -05:00
Arash Deshmeh
99ecf57c6c
added support for mandatory variables to cli/compose
...
Signed-off-by: Arash Deshmeh <adeshmeh@ca.ibm.com>
2018-02-26 15:29:17 -05:00
Joffrey F
56f26d1134
Fix typo in 3.6 schema ID
...
Signed-off-by: Joffrey F <joffrey@docker.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-02-21 19:55:12 +01:00
Daniel Nephin
cea4d37bca
Merge pull request #824 from ethan-haynes/820-bind-mount-source-missing-error
...
added check for empty source in bind mount
2018-02-21 13:33:24 -05:00
Vincent Demeester
cf86a4d922
Simplify the marshaling of compose types.Config
...
- Add `Version` to `types.Config`
- Add a new `Services` types (that is just `[]ServiceConfig`) and add
`MarshalYAML` method on it.
- Clean other top-level custom marshaling as `Services` is the only one
required.
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2018-02-21 18:47:10 +01:00
Daniel Nephin
939938b976
Merge pull request #891 from vdemeester/k8s-loader-make-sure-version
...
Make sure we marshall version too…
2018-02-21 11:45:14 -05:00
Vincent Demeester
9f9f1c8515
Make sure we marshall version too…
...
… otherwise the k8s controller might fail to parse the file as it will
think it's version 1.
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2018-02-21 15:36:51 +01:00
Brian Goff
5730ef8ea0
Merge pull request #874 from dnephin/replace-go-bindata
...
Replace go-bindata with esc
2018-02-20 17:00:22 -05:00
Vincent Demeester
570ee9cb54
Share the compose loading code between swarm and k8s stack deploy
...
To ensure we are loading the composefile the same wether we are pointing
to swarm or kubernetes, we need to share the loading code between both.
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2018-02-14 14:07:48 +01:00
Daniel Nephin
b127b8d927
Replace go-bindata with esc
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2018-02-12 14:23:19 -05:00
Vincent Demeester
1872bd802c
Add support for multiple composefile when deploying
...
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2018-01-29 17:27:25 -08:00
Ethan Haynes
e76d8c9eae
added check for empty source in bind mount
...
Signed-off-by: Ethan Haynes <ethanhaynes@alumni.harvard.edu>
fixed error by removing punctuation
Signed-off-by: Ethan Haynes <ethanhaynes@alumni.harvard.edu>
removed period
Signed-off-by: Ethan Haynes <ethanhaynes@alumni.harvard.edu>
backtick string to escape double quotes in error messages
Signed-off-by: Ethan Haynes <ethanhaynes@alumni.harvard.edu>
simplified test for bind no source error message
Signed-off-by: Ethan Haynes <ethanhaynes@alumni.harvard.edu>
2018-01-22 18:33:58 -06:00
Ethan Haynes
cd69d082ea
added support for tmpfs-mode in compose file
...
Signed-off-by: Ethan Haynes <ethanhaynes@alumni.harvard.edu>
2018-01-16 10:52:26 -06:00
Ethan Haynes
b15362ce32
adding tmpfs field to the compose 3.6v file spec and updating binary
...
Signed-off-by: Ethan Haynes <ethanhaynes@alumni.harvard.edu>
2018-01-16 10:50:40 -06:00
Ethan Haynes
2b8cc52409
adding config_schema_v3.6.json and updating binary
...
Signed-off-by: Ethan Haynes <ethanhaynes@alumni.harvard.edu>
2018-01-16 10:44:08 -06:00
Sebastiaan van Stijn
70a29b492d
Add "pid" to unsupported options list
...
Services do not support custom "pid"-modes (e.g. `--pid=host`), but this
option was ignored silently when deploying a stack.
This patch adds `pid` to the list of unsupported options so that a warning
is printed;
With this patch applied:
$ docker stack deploy -c docker-compose.yml foobar
Ignoring unsupported options: pid
Creating network foobar_default
Creating service foobar_test
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-12-27 12:45:42 +01:00
Daniel Nephin
9da2602f38
Fix external networks
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-12-11 11:29:49 -05:00
Joffrey F
88bbaca294
Add missing additionalProperties marker on mount definitions
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-12-06 12:37:38 -08:00
Joffrey F
e49f14cf36
Add shm_size property to build configuration in Compose schema
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-12-06 12:34:12 -08:00
Daniel Nephin
d0b8aa7701
Support network.name in the compose schema.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-12-06 10:05:24 -05:00
Vincent Demeester
5ed399e588
Add unit tests on config/secret indempotence in stack deploy
...
Related PR : https://github.com/docker/cli/pull/509
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2017-11-30 09:45:32 +01:00
Renaud Gaubert
1ff73f867d
Added support of Generic resources in compose file
...
Signed-off-by: Renaud Gaubert <renaud.gaubert@gmail.com>
2017-11-28 21:52:09 +01:00
Ilya Sotkov
ec47003ecb
Remove duplication for secrets / configs, combine 3.5 loader tests, remove extraneous error call, regenerate schema correctly
...
Signed-off-by: Ilya Sotkov <ilya@sotkov.com>
2017-11-22 13:41:16 +02:00
Ilya Sotkov
1f10b31017
Add tests for secret.name in compose files.
...
Signed-off-by: Ilya Sotkov <ilya@sotkov.com>
2017-11-22 13:18:05 +02:00
Ilya Sotkov
4f7f3d2f61
Add secret.name and config.name in compose.
...
Signed-off-by: Ilya Sotkov <ilya@sotkov.com>
2017-11-22 13:18:05 +02:00
Simon Ferquel
47cf2ea683
Add isolation mode on service update/create and compose files
...
Signed-off-by: Simon Ferquel <simon.ferquel@docker.com>
2017-11-17 15:31:13 +01:00
Simon Ferquel
787e30d57a
Preparing for compose schema v3.5
...
Signed-off-by: Simon Ferquel <simon.ferquel@docker.com>
2017-11-17 15:30:32 +01:00
Daniel Nephin
f1cc679618
Add unit tests for some convert/service
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-11-10 16:28:39 -05:00
Daniel Nephin
a68c940f1a
Remove duplication in compose/convert
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-11-10 15:56:11 -05:00
Daniel Nephin
7bd26ed690
Remove duplication in loader
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-11-10 15:56:11 -05:00
Daniel Nephin
aea9544db5
Only warn on volume.external.name for version 3.4
...
Also remove use of volume.external.name
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-11-06 17:04:36 -05:00