Commit Graph

190 Commits

Author SHA1 Message Date
sebgoa
3193ac3bd7
Handle Headless Services when no ports are present 2017-01-25 11:28:29 +01:00
Tomas Kral
f530f99f02
Fix CreateLocalGitDirectory for tests.
If you didn't setup user.email and user.name `git commit` fails.
This configures user.email and user.name for newly created temporary git
repo.
2017-01-23 11:49:25 +01:00
Abhishek
96a0572f50 added support for docker-compose.yaml besides docker-compose.yml 2017-01-23 13:30:33 +05:30
Charlie Drage
b8006d0620 Ignores :z or :Z when passed in as a volume string
We're going to ignore :z / :Z for labeling aka SELinux when being passed
in via Docker Compose.

Closes https://github.com/kubernetes-incubator/kompose/issues/176
2017-01-20 15:20:41 -05:00
Suraj Deshmukh
d64a441e53 Fixed warnings related to user type in tests
Fixes # 343

Type of user is not string and that's what was being provided
in tests so fixed it and now tests output is cleaner.
2017-01-16 12:07:33 +05:30
Charlie Drage
bf6085dd02 Merge pull request #356 from cdrage/update-vendoring
Update vendoring as well as libcompose
2017-01-12 12:49:14 -05:00
Tuna
5e59400345 deploy/undeploy pod to OpenShift provider 2017-01-10 17:04:22 +01:00
Tuna
fa8157a555 add deploy/undeploy pod only
ref: #342
2017-01-10 16:53:21 +01:00
Charlie Drage
39fbc4ab9c Update checking to see if a default network has been provided
Due to changes to libcompose, NetworkConfigs now returns a default
network regardless if one has been provided or not.

An if statement is added that will debug output and ignore the default
network provided that it's the only network available.
2017-01-10 09:45:17 -05:00
Tomas Kral
3cf6866dd0
Small simplification of kubernetes.PrintList
Use reflect instead of big type switch that was prone to errors.
2017-01-06 15:22:37 +01:00
Tomas Kral
4f176b847e
fix golint errors 2017-01-05 10:31:11 +01:00
Abhishek
cfcbfa8c6d make default kompose conversion YAML 2017-01-04 12:50:56 +05:30
Abhishek
a5a3805760 added support for multiple-compose files 2017-01-03 17:18:34 +05:30
Ratnadeep Debnath
0d86f3e087 Updated docs for openshift buildconfig feature
- Added buildconfig doc in user guide.
- Add inline code documentation to explain why buildconfig
  object needs to be created after imagestream, because of
  https://github.com/openshift/origin/issues/4518
2016-12-28 19:24:45 +05:30
Ratnadeep Debnath
7c959b65d4 Fixed typos in openshift buildconfig
- spelling mistake
- pass compose file dir instead of compose file to initBuildConfig call
- Use as default value for cli --build-branch option
- Pass current build branch to buildconfig related functions instead of opt.BuildBranch
- Fix printing buildconfig source branch in logs.
2016-12-28 19:23:37 +05:30
Ratnadeep Debnath
44f94cc072 Fixes/updates based on review. 2016-12-28 17:02:33 +05:30
Ratnadeep Debnath
a753f35d42 Added docs for openshift unit tests. 2016-12-28 17:02:33 +05:30
Ratnadeep Debnath
4ead7156f4 Renamed pkg test to testutils. 2016-12-28 17:02:33 +05:30
Ratnadeep Debnath
b62fb02571 Fix openshift buildconfig info logs
based on review.
2016-12-28 17:02:33 +05:30
Ratnadeep Debnath
ec09ca428b Generate openshift imagestream when build is absent. 2016-12-28 17:02:33 +05:30
Ratnadeep Debnath
c8d8cbbba9 Added unittests for openshift buildconfig integration. 2016-12-28 17:02:32 +05:30
Ratnadeep Debnath
f0165d209f In buildconfig, get git's current remote URL instead of current branch's remote. 2016-12-28 17:00:34 +05:30
Ratnadeep Debnath
bbbd4037b4 Update command to fetch current git remote for buildconfig. 2016-12-28 17:00:33 +05:30
Ratnadeep Debnath
a1797a8d07 In buildconfig, detect current branch and it's remote url as defaults. 2016-12-28 17:00:33 +05:30
Ratnadeep Debnath
875c7d95dc Include buildconfigs in kompose deployment. 2016-12-28 17:00:33 +05:30
Ratnadeep Debnath
3b13dae515 Fix govet warning for openshift buildconfig.
Go vet warning was 'composite liternal uses unkeyed fields'.
2016-12-28 17:00:33 +05:30
Ratnadeep Debnath
d8ec3db673 Bugfix in specifying custom build repo for buildconfig. 2016-12-28 17:00:33 +05:30
Ratnadeep Debnath
ba9995c17b Update cmd to get git remote url for backwards compatibility
with older git-2.6.x
2016-12-28 17:00:33 +05:30
Ratnadeep Debnath
e83b454536 Bugfix: Accept abs path for compose file for buildconfig.
Change directory to compose file dir when resolving git remote.
2016-12-28 17:00:33 +05:30
Ratnadeep Debnath
1a7b19c070 Resolve/print buildconfig source repo info globally for compose project. 2016-12-28 17:00:33 +05:30
Ratnadeep Debnath
f5566d4097 Improve error handling and logging for openshift buildconfig creation.
- Error out on failure to create buildconfig, with meaningful error messages, e.g., git missing, error in fetching git remote, error in creating build context, etc.
- Add info log for build repo/branch being used.
2016-12-28 17:00:33 +05:30
Ratnadeep Debnath
6f3e670af1 Refactor openshift buildconfig CLI options.
- Remove --buildconfig, -bc option. Create buildconfig if service has build info
- Rename --branch to --build-branch
- Rename --repo to --build-repo
2016-12-28 17:00:33 +05:30
Ratnadeep Debnath
fa724fe12d Allow specifying repo,branch info for buildconfig over CLI. 2016-12-28 17:00:33 +05:30
Ratnadeep Debnath
9e2849addf In Openshift, don't create imagestream tags for a service with build diretive. 2016-12-28 17:00:33 +05:30
Ratnadeep Debnath
6156d144f2 Fix generating project source repo URL in openshift buildconfig. 2016-12-28 17:00:33 +05:30
Ratnadeep Debnath
efc5203d82 Fix creating build context dir relative to project root dir. 2016-12-28 17:00:33 +05:30
Ratnadeep Debnath
f46274be38 In buildconfig, remove trailing newline from project's remote git repu URL. 2016-12-28 17:00:33 +05:30
Ratnadeep Debnath
6d8a6a3fc8 In buildconfig, only set strategy type as Docker
and do not set other details like imagestream to build from, etc.
2016-12-28 17:00:33 +05:30
Ratnadeep Debnath
a2a731f30c Generate context path relative to project root dir in buildconfig. 2016-12-28 17:00:33 +05:30
Ratnadeep Debnath
92b6678d1b Initial implementation of BuildConfig support for Openshift provider. 2016-12-28 17:00:32 +05:30
Shubham Minglani
6a151c6267 add stdin_open, tty support, add tests, fix #344
This adds supports for stdin_open: bool and
tty: bool support for kubernetes and openshift
providers in kompose. This maps to the
template.Spec.Containers[0].Stdin and
template.Spec.Containers[0].TTY in Kubernets
world.

Also, added tests.

Fixes #344
2016-12-28 15:58:45 +05:30
Charlie Drage
1b9228e696 Switch to spf13/cobra from urfave/cli
There's A LOT happening in this commit, so here's an outline:

First off, urfave/cli has been removed in favour of spf13/cobra. With
this, comes changes to the formatting as well as the help page for
Kompose.

Upon converting, I noticed a CLI flag was NOT appearing for OpenShift.
Specifically, --deploymentconfig. This has been added with a note
that says it is OpenShift only.

Exit codes have been fixed. If the conversion / down / up fails for
any reason, Kompose will exit with Code 1.

--verbose as well as --suppress-warnings can now be set at the
same time.

app_test.go in the cli directory has been moved to pkg/transformer
to better reflect the testing coverage.

version.go has been removed and converted to it's own CLI command in
conjuction with (most) Go software. A new CLI command has been
created. kompose version

--dab isn't a conventional way for short-form CLI paramters. This
has been shortened to -b for bundle.

CLI flags consisting of only two/three letters have been removed due to
it being unconventional for CLI. For example, --dc was removed in preference
for --deploymentconfig

--replicas has been added as an option when using kompose down or
kompose up. This has been added as previously in app.go the
replica amount was hard-coded as 1.

Differentiating names have been used for flags. For example,
persistent flags use the name Global (ex. GlobalOut). Command-specific
flags have their own names (ex. UpOpt).

Closes #239 #253
2016-12-22 08:15:51 -05:00
Shubham Minglani
7e378cd546 implement expose service, add tests, fix #140
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.
2016-12-21 20:00:38 +05:30
Suraj Deshmukh
48e3ba88cd Merge pull request #324 from rtnpro/unsupported-keys-per-provider
Unsupported keys per provider
2016-12-21 19:08:42 +05:30
Shubham Minglani
365fe81987 implement storing to dir/file, add tests
When kompose convert -o artifacts is run, then if artifacts is a directory,
kompose stores all the resulting files inside it, and if it's not a directory,
it stores the artifacts in a single file.

Fixes #209
2016-12-21 18:12:43 +05:30
Tomas Kral
3419ae7fe1 few updates based on review 2016-12-20 16:58:28 +05:30
Tomas Kral
af9c6585ee Add tests for unsupported keys in k8s transformer 2016-12-20 16:58:28 +05:30
Tomas Kral
d5d0a3f03a Add tests for unsupported keys in loaders 2016-12-20 16:58:23 +05:30
Tomas Kral
f20e6f3fa9 checkUnsupportedKeys for transformers 2016-12-20 12:21:52 +05:30
Tomas Kral
e4f9b59b4d Separate unsupported key check for every loader 2016-12-20 12:21:03 +05:30
Tuna
7556f6f9fa add unit test for loadEnvVar 2016-12-19 11:23:42 +01:00
Tuna
000ed33cb1 support parse key-only environment variable
fix #303
2016-12-19 11:23:42 +01:00
Chris Baumbauer
072d4815ee #231 Invoking kompose --bundle X.dab convert --stdout will produce two differently ordered results (#338) 2016-12-18 09:01:42 -05:00
Suraj Deshmukh
78845d3954 Merge pull request #334 from surajssd/create_pod
support for raw pod output without controller
2016-12-15 11:57:13 +05:30
Suraj Deshmukh
8676ae8ae4 Merge pull request #280 from procrypt/down
added support for OpenShift down
2016-12-15 11:53:38 +05:30
Abhishek
6ad54a36e2 added support for OpenShift down 2016-12-15 11:06:00 +05:30
Suraj Deshmukh
6ea5f72e40 support for raw pod output
if a user specifies a docker-compose service
with restart value as "no" or "on-failure"
then normal pod will be created as against
to a controller and a pod.
2016-12-13 19:24:25 +05:30
Charlie Drage
ee2946c810 Fix container_name incorrectly being generated
Checks to see if "container_name" is used correctly in a docker-compose
file conversion and updates the changes respectively in the outputted
artifact files.

For example with container_name set as myfoobarname, the change will
correctly update the "containerNames" portion of the deployment-config
for OpenShift.

"imageChangeParams": {
  "automatic": true,
  "containerNames": [
    "myfoobarname"
  ],
  "from": {
    "kind": "ImageStreamTag",
    "name": "rabbit:3.6.1"
  }
}

Closes https://github.com/kubernetes-incubator/kompose/issues/301
2016-12-08 13:49:11 -05:00
Tomas Kral
6f45703de2
Add tests for user directive 2016-11-25 10:13:42 +01:00
Tomas Kral
5a94a9fdbc
Add support for user 2016-11-25 09:50:51 +01:00
Tomas Kral
4e42a07be2
gofmt 2016-11-22 13:02:31 +01:00
Tomas Kral
c441610b4f
fix govet errors 2016-11-22 13:02:31 +01:00
Tomas Kral
8bb89876cf
Clean up scripts/validate-*. Add vet,gofmt,lint tests.
Travis now runs `make validate` as first test.
Make validate includes all validate tests (go vet, gofmt)
2016-11-22 13:02:13 +01:00
Tomas Kral
04b1d004b4 Merge pull request #277 from surajssd/generic-service-type
Generic service type handler for kompose
2016-11-21 13:53:12 +01:00
Suraj Deshmukh
bb9e4fba61 Generic service type handler for kompose
Moved label handling code from Transformer to loader,
to make it generic to handle creating service types.

Added new attribute to ServiceConfig which gets populated
in loader.

Fixes #273
2016-11-16 22:01:01 +05:30
Tuna
62c34a2208 correct display when using --emptyvols 2016-11-05 21:57:33 +01:00
Janet Kuo
c9ed84f597 Merge pull request #249 from dustymabe/dusty-fix-readonly
CreatePVC: correct setting of read/only access
2016-11-03 13:48:56 -07:00
Tomas Kral
a3495b1d6b Merge pull request #246 from cdrage/add-tests-docs-service-types
Tests for CreateService and annotations
2016-11-01 15:57:06 +01:00
Charlie Drage
3c4b3c445a Tests for CreateService and annotations
Adds some tests for CreateService, specifically the initial generation
as well as providing an edge case when specifying "kompose.service.type"
2016-11-01 10:38:31 -04:00
sebgoa
00331589a3 Fix license headers, This closes #223 2016-11-01 15:01:27 +01:00
Dusty Mabe
6523da8120
CreatePVC: correct setting of read/only access
Fixes #237

Also update the code to use the constant values for api.ReadWriteOnce
and api.ReadOnlyMany.
2016-11-01 09:17:40 -04:00
Tomas Kral
d9c5de661a Merge pull request #248 from dustymabe/dusty-empty-vols
Adding support for choosing empty volumes
2016-10-30 17:49:50 +02:00
Janet Kuo
20a13d3eef Merge pull request #254 from dustymabe/dusty-deployment-deploymentconfig
Match case with API objects when printing to terminal
2016-10-28 17:38:04 -07:00
Dusty Mabe
9ce3f0cf15
cli: add --emptyvols option 2016-10-28 16:05:59 -04:00
Dusty Mabe
df09fd5193
ConfigVolumes: enable creating EmptyDir volumes again
Will enable the user to specify which type of volume they want
in a subsequent commit.
2016-10-28 16:05:59 -04:00
Dusty Mabe
30752b7b93
ConfigVolumes: rename pvc var to PVCs
It is a list of persistent volume claims.
2016-10-28 16:05:59 -04:00
Dusty Mabe
f290cd6541
ConfigVolumes: rename volumesMount to volumeMounts 2016-10-28 16:05:59 -04:00
Dusty Mabe
48aa4c7f7a
transformers: match API object capitalization in text output 2016-10-28 15:22:40 -04:00
Dusty Mabe
0ee3494a18
openshift: fixup output: deployment -> DeploymentConfig
Fixes #251
2016-10-28 15:15:19 -04:00
Dusty Mabe
51dea8283a
transformers: add Opt variable as object data
This is so you can set Opts on instance creation of
kubernetes.Kubernetes and openshift.Openshift. This is useful
so that we can pass option information arround without having
to do it on the call stack every time.
2016-10-27 11:48:35 -04:00
Dusty Mabe
c5e07f4926
transformers: make Openshift Inherit from Kubernetes 2016-10-27 11:48:24 -04:00
Tomas Kral
1280b9abcb Merge pull request #189 from procrypt/labels
Configure service types
2016-10-27 12:25:29 +02:00
Tuna
da44a5d750 Merge pull request #229 from ngtuna/experimental
remove tag experimental
2016-10-26 16:35:11 +02:00
Tuna
7435f822ed Merge pull request #230 from ngtuna/unsupportedkey
update unsupported key list
2016-10-25 15:29:31 +02:00
Tuna
c29ef944ce correct networks key 2016-10-24 21:47:16 +02:00
Suraj Deshmukh
b068c5cf81 Merge pull request #190 from surajssd/support-volumes-from
support for volumes_from docker-compose construct
2016-10-23 21:40:14 +05:30
Suraj Deshmukh
aea39b4e1e Merge pull request #220 from surajssd/pvc-kompose-up
kompose up/down create and delete pvc
2016-10-22 09:33:53 +05:30
Suraj Deshmukh
244499667d kompose up/down create and delete pvc
pvc will be parsed when passing objects via kube client
to create various objects.
Also while deleting pvc will be deleted.

Fixes #218
2016-10-22 09:22:57 +05:30
Tuna
99055b4d1b update unsupported key list 2016-10-21 22:55:14 +02:00
Tuna
670d8423e5 remove tag experimental 2016-10-21 01:40:34 +02:00
Abhishek
841d28192f configure service types 2016-10-21 04:02:15 +05:30
Tuna
df533a2bd7 choose separator which happens first 2016-10-20 22:13:13 +02:00
Tuna
1fdaffe540 support both : and = as envvar separators 2016-10-20 21:16:43 +02:00
Suraj Deshmukh
fd09efed43 support for volumes_from docker-compose construct
Now a user can provide volumes_from to share volumes
from other service so here the PVC created for that
service will be shared by service calling volumes_from
2016-10-19 09:15:47 +05:30
Tomas Kral
1f8a0e06c9
Upgrade OpenShift and its dependencies.
OpenShift version 1.4.0-alpha.0
2016-10-18 12:04:00 +02:00
Tomas Kral
5e1a5cbb3b
kompose up for openshift
kompose --provider openshift up
2016-10-18 12:03:50 +02:00
Tomas Kral
f8f737be7b
move to kubernetes-incubator
update imports to reflect move to kubernetes-incubator
2016-10-17 18:14:29 +02:00
Tuna
592cc95907 upgrade libcompose to fbdac0a6a80837c63eb6c8f43514f7bb3f32df6c 2016-10-09 02:35:51 +02:00
Tuna
12d6e87454 Merge pull request #186 from surajssd/create-pvc
Create PVC object for docker-compose volumes
2016-10-06 21:39:21 +02:00
Suraj Deshmukh
e879164c2e Create PVC object for docker-compose volumes
Instead of creating emptydir, create PersistentVolumeClaim
for docker-compose volumes by default

Fixes #150
2016-10-06 17:58:17 +05:30