Something within golang.org/x/sys messed up and it doesn't help that we
have three different projects using different versions.
This vendor update specifies a golang.org/x/sys as well as fixes the
previous compiling issues with Windows/Linux/macOS builds.
See issue:
```sh
gox -osarch="darwin/amd64 linux/amd64 linux/arm windows/amd64"
-output="bin/kompose-{{.OS}}-{{.Arch}}" -ldflags="-w -X
github.com/kubernetes/kompose/pkg/version.GITCOMMIT=42e7f0e"
Number of parallel builds: 1
--> windows/amd64: github.com/kubernetes/kompose
--> linux/amd64: github.com/kubernetes/kompose
--> darwin/amd64: github.com/kubernetes/kompose
--> linux/arm: github.com/kubernetes/kompose
1 errors occurred:
--> windows/amd64 error: exit status 2
Stderr: #
github.com/kubernetes/kompose/vendor/golang.org/x/crypto/ssh/terminal
vendor/golang.org/x/crypto/ssh/terminal/util_windows.go:42: undefined:
windows.ENABLE_ECHO_INPUT
vendor/golang.org/x/crypto/ssh/terminal/util_windows.go:42: undefined:
windows.ENABLE_PROCESSED_INPUT
vendor/golang.org/x/crypto/ssh/terminal/util_windows.go:42: undefined:
windows.ENABLE_LINE_INPUT
vendor/golang.org/x/crypto/ssh/terminal/util_windows.go:42: undefined:
windows.ENABLE_PROCESSED_OUTPUT
vendor/golang.org/x/crypto/ssh/terminal/util_windows.go:43: undefined:
windows.SetConsoleMode
vendor/golang.org/x/crypto/ssh/terminal/util_windows.go:62: undefined:
windows.SetConsoleMode
vendor/golang.org/x/crypto/ssh/terminal/util_windows.go:67: undefined:
windows.ConsoleScreenBufferInfo
vendor/golang.org/x/crypto/ssh/terminal/util_windows.go:68: undefined:
windows.GetConsoleScreenBufferInfo
vendor/golang.org/x/crypto/ssh/terminal/util_windows.go:91: undefined:
windows.ENABLE_ECHO_INPUT
vendor/golang.org/x/crypto/ssh/terminal/util_windows.go:92: undefined:
windows.ENABLE_PROCESSED_INPUT
vendor/golang.org/x/crypto/ssh/terminal/util_windows.go:92: too many
errors
```
Some vendoring is blocking other PR's due to changes to logrus (Sirupsen
vs sirupsen for lower-case) as well as a non-versioned gojsonschema in
glide.yaml
This updates glide.yaml to reflect the upper-case as well as lower-case
versions of logrus as well as adds a versionized gojsonschema in order
to get rid of the following error:
```sh
▶ make bin
go build -ldflags="-w -X github.com/kubernetes/kompose/cmd.GITCOMMIT=0e56b7d" -o kompose main.go
vendor/github.com/docker/cli/cli/compose/schema/schema.go:34: cannot use portsFormatChecker literal (type portsFormatChecker) as type gojsonschema.FormatChecker in argument to gojsonschema.FormatCheckers.Add:
portsFormatChecker does not implement gojsonschema.FormatChecker (wrong type for IsFormat method)
have IsFormat(string) bool
want IsFormat(interface {}) bool
vendor/github.com/docker/cli/cli/compose/schema/schema.go:35: cannot use portsFormatChecker literal (type portsFormatChecker) as type gojsonschema.FormatChecker in argument to gojsonschema.FormatCheckers.Add:
portsFormatChecker does not implement gojsonschema.FormatChecker (wrong type for IsFormat method)
have IsFormat(string) bool
want IsFormat(interface {}) bool
vendor/github.com/docker/cli/cli/compose/schema/schema.go:36: cannot use durationFormatChecker literal (type durationFormatChecker) as type gojsonschema.FormatChecker in argument to gojsonschema.FormatCheckers.Add:
durationFormatChecker does not implement gojsonschema.FormatChecker (wrong type for IsFormat method)
have IsFormat(string) bool
want IsFormat(interface {}) bool
vendor/github.com/docker/libcompose/config/schema_helpers.go:60: cannot use environmentFormatChecker literal (type environmentFormatChecker) as type gojsonschema.FormatChecker in argument to gojsonschema.FormatCheckers.Add:
environmentFormatChecker does not implement gojsonschema.FormatChecker (wrong type for IsFormat method)
have IsFormat(string) bool
want IsFormat(interface {}) bool
vendor/github.com/docker/libcompose/config/schema_helpers.go:61: cannot use portsFormatChecker literal (type portsFormatChecker) as type gojsonschema.FormatChecker in argument to gojsonschema.FormatCheckers.Add:
portsFormatChecker does not implement gojsonschema.FormatChecker (wrong type for IsFormat method)
have IsFormat(string) bool
want IsFormat(interface {}) bool
vendor/github.com/docker/libcompose/config/schema_helpers.go:62: cannot use portsFormatChecker literal (type portsFormatChecker) as type gojsonschema.FormatChecker in argument to gojsonschema.FormatCheckers.Add:
portsFormatChecker does not implement gojsonschema.FormatChecker (wrong type for IsFormat method)
have IsFormat(string) bool
want IsFormat(interface {}) bool
^CMakefile:29: recipe for target 'bin' failed
make: *** [bin] Interrupt
```
It resolves issues #474 and #589 which were coming from libcompose,
as well as resolves#440 and #437 partially as `group_add` & `stop_grace_period`
are supported by libcompose now.
As per the vendoring here:
e9544ca894
for some odd issue, text_formatter.go in the logrus package was updated
to an older file.
This commit updates the vendoring as well as specifies a specific
version for logrus to be used.
Closes + fixes
https://github.com/kubernetes-incubator/kompose/issues/532
This adds github.com/pkg/errors to glide.yaml followed
by glide and glide-vc commands. The github.com/pkg/errors
package is currently required mainly for the errors.Wrap()
and errors.New() methods, since this lets us to annotate the
errors while passing the error message up the call stack.
Implements a kompose specific docker compose label "kompose.service.expose" which can be used to expose the specified services externally. The accepted values are of type string.
If the value is set to "true", the provider sets the endpoint automatically, and for any other value, the value is set as the hostname. If multiple ports are defined in a service, the first one is chosen to be the exposed.
Unit tests, functional tests, glide updates and docs have also been added in this commit for the related feature.