Commit Graph
50 Commits
Author SHA1 Message Date
Suraj Narwade ada8af2410 Added functional test 2017-11-30 11:14:44 +05:30
Suraj Narwade 126d9820c4 Adding --controller flag in up & down
To make `kompose up` & `kompose convert` equal in feature, This PR will
add `--controller` flag for `kompose up` as well as `kompose down`
so that user experience will be the same for `up` & `convert`
Resolves #798

since we are adding `--controller` to `up` and `down`, So respective code to deploy and undeploy also being added for `daemonset` and `replicationcontroller`

Added tests for `--controller`
2017-11-27 15:26:24 +05:30
Suraj Narwade b3f2134cec Updated Vendoring 2017-11-27 12:29:12 +05:30
Suraj Narwade 5de4aa85f8 Added sirupsen and updated all occurances
Updated `sirupsen`, `docker/cli`, `docker/libcompose` in `glide`,
Also changed `Sirupsen` with `sirupsen` in all kompose packages as well as in
`docker/distribution` packages
2017-11-27 12:28:46 +05:30
Suraj Narwade d02492ad59 Updated Makefile with respective vendor-update commands 2017-11-27 12:28:32 +05:30
Suraj Narwade c7d6bc63d9 Added support for build key in v3
Resolves #636

This PR will add support for `build` in docker compose v3.
As https://github.com/docker/cli/pull/481 got merged now
2017-10-25 14:38:08 +05:30
Suraj Narwade 471578c92f Updated --help page for kompose up
This PR will add customhelp section in `kompose up --help` section,
which will show consistency in help section.
Issue reference: #842

for example,

```
$ kompose up --help
Deploy your Dockerized application to a container orchestrator. (default "kubernetes")

Usage:
  kompose up [flags]

OpenShift Flags:
      --build-branch             Specify repository branch to use for buildconfig (default is current branch name)
      --build-repo               Specify source repository for buildconfig (default is current branch's remote url
      --insecure-repository      Specify to use insecure docker repository while generating Openshift image stream object

Flags:
      --build string       Set the type of build ("local"|"build-config" (OpenShift only)|"none") (default "local")
  -h, --help               help for up
      --namespace string   Specify Namespace to deploy your application (default "default")
      --replicas int       Specify the number of replicas generated (default 1)
      --volumes string     Volumes to be generated ("persistentVolumeClaim"|"emptyDir") (default "persistentVolumeClaim")

Global Flags:
      --error-on-warning    Treat any warning as an error
  -f, --file stringArray    Specify an alternative compose file
      --provider string     Specify a provider. Kubernetes or OpenShift. (default "kubernetes")
      --suppress-warnings   Suppress all warnings
  -v, --verbose             verbose output
```
2017-10-13 18:03:33 +05:30
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
Suraj Narwade 6155698391 Added --build-repo in kompose up
In order to maintain symmetry between kompose up and kompose convert,
adding `--build-repo`
2017-10-03 18:54:51 +05:30
Suraj Narwade bd53d8b4ba Updated vendoring
Updated vendoring for getting changes from docker/cli
for build key in v3
(since docker/cli#481 is merged now)
2017-09-26 19:37:24 +05:30
Suraj Narwade f51a7d096e Fixed go vet
Fixes #825 (since `go vet` was failing locally while doing `make test`)
2017-09-26 16:59:13 +05:30
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
Suraj Narwade 757eac3f25 Adding --build-branch to kompose up
In order to maintain symmetry between `kompose up` and `kompose convert`,
adding `--build-branch`
2017-09-25 12:22:27 +05:30
Suraj Narwade 8b952abe29 Added functional test for docker compose files in Example directory
Fixes #793
2017-08-24 17:09:51 +05:30
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 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
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
Suraj Narwade 5148040c7c Moving version from variable to text file 2017-07-17 23:58:42 +05:30
Suraj Narwade 216882d042 Added docker compose v3 example for counter 2017-07-17 10:28:01 +05:30
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
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
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
Suraj Narwade 8336b6526f Remove empty if branch
This PR will remove empty `if` branch which is of no use now as
this logic is being done in if statements which are written further.
2017-07-07 12:01:20 +05:30
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 0c53501e82 Updated user-guide
Fixes issue #678. As we no longer supports setting provider by environment
variable, this PR will remove documentation for the same.
2017-07-06 10:58:34 +05:30
Suraj Narwade 041d7f7d61 Added support for replicas keys in v3
resolves #644 `replicas` key
2017-07-04 12:40:12 +05:30
Suraj Narwade 9bd3488512 Fixes kompose.service.type label issue
Minor Fix, resolves #673
2017-06-27 09:52:11 +05:30
Suraj Narwade c36a215f19 Removing unused function taggedimage 2017-06-20 18:35:27 +05:30
Suraj Narwade d2253f1eb2 Updating Vendor
resolves #620 as libcompose PR https://github.com/docker/libcompose/pull/476
got merged.
2017-06-16 17:55:50 +05:30
Suraj Narwade 209cda28d2 Failing when port is specified with labels
Resolves #522
Kompose will give FATAL error if labels are given but ports are not defined
2017-06-15 09:30:01 +05:30
Suraj Narwade 883d11c049 Failing test will show diff
If test in `make test-cmd` is failing, now it will show diff so that
it will be easy to debug.

for example,

```
===> Starting test <===
convert::expect_success_and_warning: Running: 'kompose -f /home/snarwade/go/src/github.com/kubernetes-incubator/kompose/script/test/fixtures/service-name-change/docker-compose.yml convert --stdout -j' expected_output: '/home/snarwade/go/src/github.com/kubernetes-incubator/kompose/script/test/fixtures/service-name-change/output-k8s.json' expected_warning: 'Unsupported root level volumes key - ignoring'
WARN Unsupported root level volumes key - ignoring
WARN Unsupported depends_on key - ignoring
103c103
<                     "value": "bitnami_wordpres"
---
>                     "value": "bitnami_wordpress"
FAIL: converted output does not match
```
2017-06-13 14:20:52 +05:30
Suraj Narwade 581e181967 Validate dockerfilepath in buildconfig
This PR will resolve #594 by validating dockerfilepath based on whether
it is relative path or not.
2017-05-30 16:31:20 +05:30
Suraj Narwade 8fc262bd99 Add build_args support in buildconfig
now args provided under build in docker-compose file can be available in buildconfig.
it solves #406
Added unit test and functional test
solves #445
Separated key:"value" pairs by spaces
2017-05-16 12:19:00 +05:30
Suraj Narwade 7f00fec328 Updated Vendoring
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.
2017-05-15 18:28:03 +05:30
Suraj Narwade aacde86eb9 Fixes fixture test for build context
Resolves #576

This PR includes `output-os-template.json` in `nginx-node-redis` example,
which is basically output template contains `%URI%` and `%REF%` variables
which will be filled while initializing test cases and new will be stored as
`/tmp/output-os.json`
This will remove the problem of git uri and ref.
2017-05-08 17:54:24 +05:30
Suraj Narwade 1eb162d697 Updated Vendoring 2017-04-27 21:38:38 +05:30
Suraj Narwade 605d643a84 Adding code for consistent build context
fixes #445

This PR was partially fixed by docker/libcompose#450, which now gives consistent build context,
also it modifies the function getAbsBuildContext to create accurate build context, Unit test are being modified
according to new structure.
2017-04-27 21:38:38 +05:30
Suraj Narwade 9f849fbbb7 Updated conversion doc
Solves #548

`docs/conversion.md` is updated as `tmpfs` is supported now.
2017-04-26 19:19:55 +05:30
Suraj Narwade 9a6c1d99b3 Added warning after PVC creation
Partially resolve #376 and #345
Added warning, such that PV should be created before PVC or
if dynamic provision is there, no need to create PV.
2017-04-13 14:25:14 +05:30
Suraj Narwade af43de2c2e Moved cpu_shares and cpuset to unsupported keys
Resolves #272 and #267

As there is no direct mapping of `cpushares` and `cpuset` to kubernetes,
it should not be read and should be moved to unsupported keys.
2017-04-05 22:46:57 +05:30
Suraj Narwade 3a086b4f2f Removed unused functions
Fixes #534 by removing functions askForConfirmation in app.go, TransformData and RandStringBytes in utils.go
2017-04-04 11:24:35 +05:30
Suraj Narwade da6a2e946a Kompose will keep trying its job
fixes #270

all errors in undeploy method(both kubernetes and openshift) are appended in a slice of errors,
and then it will be returned after successful deletion of all components.
2017-04-03 18:19:06 +02:00
Suraj Narwade 80b15c1d95 Kompose will keep trying its job
fixes #270

all errors in undeploy method(both kubernetes and openshift) are appended in a slice of errors,
and then it will be returned after successful deletion of all components.
2017-03-31 14:14:14 +05:30
Suraj Narwade df014bebd6 Fixed functional tests
Fixes #431

fixed commands where output showing `command not found` and k8s output
added for restart-options example.
2017-03-30 15:06:57 +05:30
Suraj Narwade a7e459ce05 Removing unused variable from convert.go
Fixes #513
removed `ConvertSource` and `ConvertBuildConfig`, since they are no longer used.
2017-03-28 16:18:02 +05:30
Suraj Narwade ec897ef50f Added dockerfile key support
Fixes #486
This commit will add `dockerfilepath` key under Dockerstratergy in buildconfig.
dockerfilepath allow us to use dockerfiles which are named different than `Dockerfile` which are placed in context directory.

for example, for a docker-compose file:

```
version: "2"
services:
    foo:
        build:
            context: "./build"
            dockerfile: "Dockerfile-alternate"
        command: "sleep 3600"
```
Resulting buildconfig will be:

```
apiVersion: v1
kind: BuildConfig
...
...
  strategy:
    dockerStrategy:
      dockerfilePath: Dockerfile-alternate
    type: Docker
...
...
```
2017-03-22 17:49:26 +05:30
Suraj Narwade 73d9970197 Removed Duplicate line(build) from compose.go 2017-03-22 13:06:50 +05:30
Suraj Narwade 494133484c Added support for tmpfs
fixes #436
This commit will add support for tmpfs, configEmptyVolumeSource
function is being modified as it have to work in two ways now.
(For emptyvols and tmpfs)
Added unit test for tmpfs too.
2017-03-16 22:14:39 +05:30