* allow port range specification in v1v2
* improve tests for loadPorts
* add port range to fixtures of docker-compose v2
* update fixtures to follow up on #1341
* Use go mod instead of glide
* Add `--with-kompose-annotation` flag to allow us to switch it off for tests
* Remove hostpid support (since the newest sdk does not support it)
* Create new test script and fixtures
* Remove replicationcontroller support
* Support multiple hostnames on label (kompose.service.expose) separated by semicolon (;)
* Multiple hostnames on expose label separated by comma; Ignore leading / trailing spaces and repeated commas; Updated test cases and documents.
* Support read specific label (kompose.volume.size) from named volume and apply to kubernetes supported volume size
* Fix the PVC size in log message when deploy Kubernetes
* Skip creation of PersistentVolumeClaim if it is already created in the same kubernetes deploy
* Add selector to PersistentVolumeClaim only when specific label (kompose.volume.selector) is used in named volume
* Add test case to named-volume for the new labels
* normalize '.' (dot) to '-' (dash) in service names
* added warning about the dot character replacements in service names
* fix gofmt compliance
* also normalize container names (need lowercase)
* splitted normalization for volumes and service names into different functions (it conflicted with './' volumes replacement)
* changed volume normalization to use the new own normalization function
* changed container normalization to use its new own normalization function
* updated as per discussed in PR #1063 review
Updated `sirupsen`, `docker/cli`, `docker/libcompose` in `glide`,
Also changed `Sirupsen` with `sirupsen` in all kompose packages as well as in
`docker/distribution` packages
1. Copy labels from compose to kobject
2. If kompose.volume.size is set on service level, use it
Internal API changes:
- Add PVCSize to kobject Volumes struct
- Pass default volume size as CreatePVC() param
it will map `engine.labels.operatingsystem` to `beta.kubernetes.io/os` and
`node.hostname` to `kubernetes.io/hostname` and all other constraints will not be supported.
This PR adds support for HealthCheck, being able to supply, for example:
```yaml
version: "3"
services:
redis:
image: redis
healthcheck:
test: echo "hello world"
interval: 10s
timeout: 1s
retries: 5
```
Which is then converted to:
```yaml
spec:
containers:
- image: redis
livenessProbe:
exec:
command:
- echo "hello world"
failureThreshold: 5
periodSeconds: 10
timeoutSeconds: 1
name: redis
resources: {}
restartPolicy: Always
```
At the moment, this only supports livenessProbe, with support for readinessProbe in the future.
Adds support for deploy: mode.
For example:
```yaml
version: "3"
services:
foo:
deploy:
resources:
mode: global
replicas: 6
image: redis
```
Will only generate replicas: 1 in Kubernetes pods as "global" limits
replicas to only one.