Commit Graph

267 Commits

Author SHA1 Message Date
Charlie Drage
a2575df355 1.5.0 Release 2017-11-21 11:22:21 -05:00
Charlie Drage
a567cfff4a
Merge pull request #864 from cdrage/update-versions
Move version information to separate file
2017-11-21 07:40:56 -05:00
Anatoli Babenia
1975c32740 Set service volume size with kompose.volume.size label (#235)
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
2017-11-12 13:05:55 +03:00
xianlubird
9b66188144 Ignore links attribute and print warning message
Signed-off-by: xianlubird@gmail.com
2017-11-08 10:08:12 +08:00
Charlie Drage
0f4bfebf08 Move version information to separate file
Moves the version information to a seperate file. This is mostly due to
import cycle errors occuring when using "import
github.com/kubernetes/kompose/cmd" in order to get the global variable
of VERSION and GITCOMMIT.

Update's the Makefile and other files accordingly.

If the version and commmit is unretriveable due to not being able to
find the kompose binary, the one from pkg/version/version.go will be
used.
2017-11-07 15:28:04 -05:00
Charlie Drage
28601fa6ea Update vendoring 2017-10-10 12:55:57 -04:00
Charlie Drage
f4bfe1fcb5 Add env_file + ConfigMaps feature to Kompose
When using env_file with Docker Compose, a ConfigMap will be generated

For example:

```sh
▶ ./kompose convert -f
script/test/fixtures/configmaps/docker-compose.yml
INFO Kubernetes file "redis-service.yaml" created
INFO Kubernetes file "redis-deployment.yaml" created
INFO Kubernetes file "foo-env-configmap.yaml" created
INFO Kubernetes file "bar-env-configmap.yaml" created
```

File:

```yaml
version: '3'

services:
  redis:
    image: 'bitnami/redis:latest'
    environment:
      - ALLOW_EMPTY_PASSWORD=no
    # Env file will override environment / warn!
    env_file:
      - "foo.env"
      - bar.env
    labels:
      kompose.service.type: nodeport
    ports:
      - '6379:6379'
```

To:

```yaml
apiVersion: v1
data:
  ALLOW_EMPTY_PASSWORD: "yes"
kind: ConfigMap
metadata:
  creationTimestamp: null
  name: foo-env
```

```yaml
...
      - env:
        - name: ALLOW_EMPTY_PASSWORD
          valueFrom:
            configMapKeyRef:
              key: ALLOW_EMPTY_PASSWORD
              name: foo-env
```
2017-10-10 12:40:49 -04:00
Li Yi
fa5281d440 Fix the cpu limits and requests in generated deployment file
Signed-off-by: Li Yi <denverdino@gmail.com>
2017-10-09 19:22:31 +08:00
Li Yi
865373ef6c Fix the cpu limits and requests in generated deployment file
Signed-off-by: Li Yi <denverdino@gmail.com>
2017-10-09 16:57:57 +08:00
Suraj Narwade
35198cca12 Added feature for placement key in v3
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.
2017-10-06 12:22:14 +05:30
Suraj Narwade
4f8babd623 Added --controller feature
Previously we used to mention controller type as `--deployment`,
`--replication-controller` or `--daemonset` as argument.
But now,
it will be like,

ex.

```
kompose convert --controller=daemonset
```
2017-10-04 12:43:45 +05:30
Charlie Drage
35166b8871 Merge pull request #816 from surajnarwade/tmpfsfix
Fixed tmpfs with mode failure
2017-09-26 15:24:35 -04:00
Suraj Narwade
269f604094 Fixed --volumes validation
Now, `--volumes` argument will validate it's input, it will only allow
`persistentVolumeClaim` or `emptyDir`, otherwise it will throw an error.
2017-09-25 17:25:57 +05:30
Suraj Narwade
8a19c47b1a Fixed tmpfs with mode failure
Fixes #807
now kompose will ignore mode of tmpfs and will pass only mount path.
2017-09-25 14:44:03 +05:30
Charlie Drage
8fddec9e74 Merge pull request #787 from cdrage/refactor-flags
Add --volumes parameter, deprecate emptyvols
2017-09-08 13:08:05 -04:00
Charlie Drage
cc1671aaa9 Add --volumes parameter, deprecate emptyvols
This adds the --volumes paramater with a "generate" and "empty"

By default, "generate" will be used as a place-holder for "true".
Although not used in the code, we will eventually add "none"

This uses CLI paramater naming processes (no emptyVols as that is Go /
Kubernetes specific) and thus we use dashes.
2017-09-05 11:39:57 -04:00
Charlie Drage
2e99b8fd3a Adds healthcheck
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.
2017-08-25 10:02:51 -04:00
Charlie Drage
bd6d493cef Add deploy: mode: global support
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.
2017-08-23 12:47:27 -04:00
Suraj Narwade
ec5c4d8550 Adding save command to annotation
This command will add `kompose command` used to generate artifacts as well as `kompose version`,
for ex,

```
metadata:
    annotations:
      kompose.cmd: kompose convert -f /home/snarwade --stdout
      kompose.version: 1.0.0 (HEAD)
```

For functional test, Now each test has template like,

```
 "annotations": {
           "kompose.cmd": "%CMD%",
           "kompose.version": "%VERSION%"
```

Because, for every machine these values will be different.

Updated functional test with new annotations
2017-08-14 12:22:33 +05:30
Suraj Deshmukh
8126841788 Merge pull request #651 from procrypt/git
move git and related functions from openshift.go into a separate file
2017-08-12 12:19:53 +05:30
Abhishek
683db1230d move git and related functions from openshift. go into a separate file 2017-08-11 15:19:06 +05:30
Suraj Narwade
641f8f8932 Added support for group_add key
This PR will add support for `group_add` key which will map to
supplemental group in pod security context.
2017-08-10 11:54:35 +05:30
Charlie Drage
09700ca24b Remove bundle references in kobject
Closes https://github.com/kubernetes/kompose/issues/750

Removes references to bundle/dab since we no longer support it.
2017-08-09 11:19:15 -04:00
Charlie Drage
c24be364fb Merge pull request #746 from dataminelab/docker-endpoint
Create docker client from environment variables
2017-08-08 10:28:47 -04:00
Radek Maciaszek
44523e1cc3 Create docker client from environment variables DOCKER_HOST, DOCKER_TLS_VERIFY, and DOCKER_CERT_PATH 2017-08-04 17:08:32 +01:00
Charlie Drage
af26b797a2 Add CPU limit, CPU Reservation and Memory Reservation
This adds support for CPU limit, CPU reservation as well as memory
reservation.

Specifically, when using the `deploy` key in Docker Compose.
2017-08-03 09:41:14 -04:00
Suraj Narwade
d5a5f42d8b Handling Volume at early stage
It will resolve #544 as well as refactor volume handling part.
2017-07-26 19:59:05 +05:30
Charlie Drage
cf6db81202 Merge pull request #710 from surajnarwade/sanity_check_fix
Updated code with go lint result
2017-07-14 14:46:27 -04:00
Suraj Narwade
91a6e79d6f Updated code with go lint result
Updated code with suggestion given by `go lint`
2017-07-14 11:11:17 +05:30
fate-grand-order
69f4b46813 fix some typos to make goreport happy 2017-07-13 18:21:37 +08:00
Charlie Drage
796313f626 Merge pull request #704 from cdrage/graduate-from-incubator
kubernetes-incubator -> kubernetes
2017-07-12 16:49:55 -04:00
Charlie Drage
787b7d9261 kubernetes-incubator -> kubernetes
Today, we graduate from the incubator, thus all links are updates from
kubernetes-incubator to kubernetes
2017-07-12 15:42:13 -04:00
Charlie Drage
1af8656ea0 Merge pull request #703 from surajnarwade/minor_fix
Refactoring code as per gosimple check
2017-07-12 09:35:06 -04:00
Suraj Narwade
8dfa0e0689 Refactoring code as per gosimple check
This PR refactors some code bits as per `gosimple` tool check.
2017-07-12 15:48:07 +05:30
Shubham Minglani
0a9e2a7885 remove unused parameter from ValidateComposeFile()
In pkg/app/app.go, the function ValidateComposeFile() has an
unused parameter "cmd *cobra.Command".

This commit removes that parameter from the function and the
callers of the function.
2017-07-12 14:45:52 +05:30
Suraj Narwade
8f6822588a Fixed minor issue in kubernetes_test.go
Fixed identical expression in kubernetes_test.go
2017-07-11 14:51:29 +05:30
Charlie Drage
b8d64ea336 Merge pull request #677 from cdrage/its-2017
2016 -> 2017 for licensing
2017-07-07 10:10:02 -04:00
Suraj Narwade
9dcb2bfba6 added support for restart-policy keys in v3
Resolves `restart_policy` from issue #644
2017-07-06 17:44:19 +05:30
Suraj Narwade
041d7f7d61 Added support for replicas keys in v3
resolves #644 `replicas` key
2017-07-04 12:40:12 +05:30
Charlie Drage
ce32bb817d 2016 -> 2017 for licensing
New year, update to the license.
2017-06-28 10:49:52 -04:00
Suraj Narwade
9bd3488512 Fixes kompose.service.type label issue
Minor Fix, resolves #673
2017-06-27 09:52:11 +05:30
Charlie Drage
cf39f78435 Merge pull request #653 from cdrage/remove-dab
Disable dab
2017-06-21 07:39:59 -04:00
Suraj Deshmukh
04748ee153 Merge pull request #662 from surajnarwade/minor-fix
Removing unused function taggedimage
2017-06-21 11:25:10 +05:30
Charlie Drage
507c9baa83 Merge pull request #660 from cdrage/fix-vet
Fix vet issues with build/push code
2017-06-20 12:55:50 -04:00
Charlie Drage
c5cac569a2 Merge pull request #658 from kadel/fixv3EnvSubstitution
fix env substitution for docker compose v3
2017-06-20 09:41:20 -04:00
Tomas Kral
ef8c7a7a0a
fix env substitution for docker compose v3 2017-06-20 15:16:12 +02:00
Suraj Narwade
c36a215f19 Removing unused function taggedimage 2017-06-20 18:35:27 +05:30
Charlie Drage
b8a46895a6 Disable DAB
See issue: https://github.com/kubernetes-incubator/kompose/issues/390

Disable DAB as it is hard to maintain / not much usage / DAB is still
experimental in Docker and there hasn't been much movement:
https://github.com/moby/moby/issues/26876

MarkDeprecated does not work at the moment due to issue:
https://github.com/kubernetes-incubator/kompose/issues/652

However, that is not a blocker as we `fatalF` within `ValidateFlags`
2017-06-20 09:02:53 -04:00
Charlie Drage
f6363dd89c Fix vet issues with build/push code
This fixes the vet issues when running `make vet` due to unkeyed fields.
2017-06-20 08:58:09 -04:00
Abhishek
1401a39cbd Changing printf verb %s to %v in compose_test.go 2017-06-20 09:58:22 +05:30