forked from LaconicNetwork/kompose
Merge pull request #339 from procrypt/default_yaml
make YAML the default kompose conversion
This commit is contained in:
commit
a14d5c2ae6
16
README.md
16
README.md
@ -16,17 +16,17 @@ If you have a Docker Compose [`docker-compose.yml`](./examples/docker-compose.ym
|
|||||||
```console
|
```console
|
||||||
$ kompose --bundle docker-compose-bundle.dab convert
|
$ kompose --bundle docker-compose-bundle.dab convert
|
||||||
WARN[0000]: Unsupported key networks - ignoring
|
WARN[0000]: Unsupported key networks - ignoring
|
||||||
file "redis-svc.json" created
|
file "redis-svc.yaml" created
|
||||||
file "web-svc.json" created
|
file "web-svc.yaml" created
|
||||||
file "web-deployment.json" created
|
file "web-deployment.yaml" created
|
||||||
file "redis-deployment.json" created
|
file "redis-deployment.yaml" created
|
||||||
|
|
||||||
$ kompose -f docker-compose.yml convert
|
$ kompose -f docker-compose.yml convert
|
||||||
WARN[0000]: Unsupported key networks - ignoring
|
WARN[0000]: Unsupported key networks - ignoring
|
||||||
file "redis-svc.json" created
|
file "redis-svc.yaml" created
|
||||||
file "web-svc.json" created
|
file "web-svc.yaml" created
|
||||||
file "web-deployment.json" created
|
file "web-deployment.yaml" created
|
||||||
file "redis-deployment.json" created
|
file "redis-deployment.yaml" created
|
||||||
```
|
```
|
||||||
|
|
||||||
Other examples are provided in the _examples_ [directory](./examples).
|
Other examples are provided in the _examples_ [directory](./examples).
|
||||||
|
|||||||
@ -28,7 +28,7 @@ import (
|
|||||||
var (
|
var (
|
||||||
ConvertSource, ConvertOut, ConvertBuildRepo, ConvertBuildBranch string
|
ConvertSource, ConvertOut, ConvertBuildRepo, ConvertBuildBranch string
|
||||||
ConvertChart, ConvertDeployment, ConvertDaemonSet bool
|
ConvertChart, ConvertDeployment, ConvertDaemonSet bool
|
||||||
ConvertReplicationController, ConvertYaml, ConvertStdout bool
|
ConvertReplicationController, ConvertYaml, ConvertStdout, ConvertJson bool
|
||||||
ConvertEmptyVols, ConvertDeploymentConfig, ConvertBuildConfig bool
|
ConvertEmptyVols, ConvertDeploymentConfig, ConvertBuildConfig bool
|
||||||
ConvertReplicas int
|
ConvertReplicas int
|
||||||
ConvertOpt kobject.ConvertOptions
|
ConvertOpt kobject.ConvertOptions
|
||||||
@ -46,6 +46,7 @@ var convertCmd = &cobra.Command{
|
|||||||
ToStdout: ConvertStdout,
|
ToStdout: ConvertStdout,
|
||||||
CreateChart: ConvertChart,
|
CreateChart: ConvertChart,
|
||||||
GenerateYaml: ConvertYaml,
|
GenerateYaml: ConvertYaml,
|
||||||
|
GenerateJson: ConvertJson,
|
||||||
Replicas: ConvertReplicas,
|
Replicas: ConvertReplicas,
|
||||||
InputFiles: GlobalFiles,
|
InputFiles: GlobalFiles,
|
||||||
OutFile: ConvertOut,
|
OutFile: ConvertOut,
|
||||||
@ -92,7 +93,10 @@ func init() {
|
|||||||
convertCmd.Flags().MarkHidden("build-branch")
|
convertCmd.Flags().MarkHidden("build-branch")
|
||||||
|
|
||||||
// Standard between the two
|
// Standard between the two
|
||||||
convertCmd.Flags().BoolVarP(&ConvertYaml, "yaml", "y", false, "Generate resource files into yaml format")
|
convertCmd.Flags().BoolVarP(&ConvertYaml, "yaml", "y", false, "Generate resource files into YAML format")
|
||||||
|
convertCmd.Flags().MarkDeprecated("yaml", "YAML is the default format now.")
|
||||||
|
convertCmd.Flags().MarkShorthandDeprecated("y", "YAML is the default format now.")
|
||||||
|
convertCmd.Flags().BoolVarP(&ConvertJson, "json", "j", false, "Generate resource files into JSON format")
|
||||||
convertCmd.Flags().BoolVar(&ConvertStdout, "stdout", false, "Print converted objects to stdout")
|
convertCmd.Flags().BoolVar(&ConvertStdout, "stdout", false, "Print converted objects to stdout")
|
||||||
convertCmd.Flags().BoolVar(&ConvertEmptyVols, "emptyvols", false, "Use Empty Volumes. Do not generate PVCs")
|
convertCmd.Flags().BoolVar(&ConvertEmptyVols, "emptyvols", false, "Use Empty Volumes. Do not generate PVCs")
|
||||||
convertCmd.Flags().StringVarP(&ConvertOut, "out", "o", "", "Specify a file name to save objects to")
|
convertCmd.Flags().StringVarP(&ConvertOut, "out", "o", "", "Specify a file name to save objects to")
|
||||||
|
|||||||
@ -27,7 +27,7 @@ $ cd examples/
|
|||||||
$ ls
|
$ ls
|
||||||
docker-compose.yml docker-compose-bundle.dab docker-gitlab.yml docker-voting.yml
|
docker-compose.yml docker-compose-bundle.dab docker-gitlab.yml docker-voting.yml
|
||||||
|
|
||||||
$ kompose -f docker-gitlab.yml convert -y
|
$ kompose -f docker-gitlab.yml convert
|
||||||
file "redisio-svc.yaml" created
|
file "redisio-svc.yaml" created
|
||||||
file "gitlab-svc.yaml" created
|
file "gitlab-svc.yaml" created
|
||||||
file "postgresql-svc.yaml" created
|
file "postgresql-svc.yaml" created
|
||||||
@ -46,43 +46,43 @@ You can try with a Docker Compose version 2 like this:
|
|||||||
$ kompose --file docker-voting.yml convert
|
$ kompose --file docker-voting.yml convert
|
||||||
WARN[0000]: Unsupported key networks - ignoring
|
WARN[0000]: Unsupported key networks - ignoring
|
||||||
WARN[0000]: Unsupported key build - ignoring
|
WARN[0000]: Unsupported key build - ignoring
|
||||||
file "worker-svc.json" created
|
file "worker-svc.yaml" created
|
||||||
file "db-svc.json" created
|
file "db-svc.yaml" created
|
||||||
file "redis-svc.json" created
|
file "redis-svc.yaml" created
|
||||||
file "result-svc.json" created
|
file "result-svc.yaml" created
|
||||||
file "vote-svc.json" created
|
file "vote-svc.yaml" created
|
||||||
file "redis-deployment.json" created
|
file "redis-deployment.yaml" created
|
||||||
file "result-deployment.json" created
|
file "result-deployment.yaml" created
|
||||||
file "vote-deployment.json" created
|
file "vote-deployment.yaml" created
|
||||||
file "worker-deployment.json" created
|
file "worker-deployment.yaml" created
|
||||||
file "db-deployment.json" created
|
file "db-deployment.yaml" created
|
||||||
|
|
||||||
$ ls
|
$ ls
|
||||||
db-deployment.json docker-compose.yml docker-gitlab.yml redis-deployment.json result-deployment.json vote-deployment.json worker-deployment.json
|
db-deployment.yaml docker-compose.yml docker-gitlab.yml redis-deployment.yaml result-deployment.yaml vote-deployment.yaml worker-deployment.yaml
|
||||||
db-svc.json docker-compose-bundle.dab docker-voting.yml redis-svc.json result-svc.json vote-svc.json worker-svc.json
|
db-svc.yaml docker-compose-bundle.dab docker-voting.yml redis-svc.yaml result-svc.yaml vote-svc.yaml worker-svc.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
You can also provide multiple docker-compose files at the same time:
|
You can also provide multiple docker-compose files at the same time:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
$ kompose -f docker-compose.yml -f docker-guestbook.yml convert
|
$ kompose -f docker-compose.yml -f docker-guestbook.yml convert
|
||||||
file "frontend-service.json" created
|
file "frontend-service.yaml" created
|
||||||
file "mlbparks-service.json" created
|
file "mlbparks-service.yaml" created
|
||||||
file "mongodb-service.json" created
|
file "mongodb-service.yaml" created
|
||||||
file "redis-master-service.json" created
|
file "redis-master-service.yaml" created
|
||||||
file "redis-slave-service.json" created
|
file "redis-slave-service.yaml" created
|
||||||
file "frontend-deployment.json" created
|
file "frontend-deployment.yaml" created
|
||||||
file "mlbparks-deployment.json" created
|
file "mlbparks-deployment.yaml" created
|
||||||
file "mongodb-deployment.json" created
|
file "mongodb-deployment.yaml" created
|
||||||
file "mongodb-claim0-persistentvolumeclaim.json" created
|
file "mongodb-claim0-persistentvolumeclaim.yaml" created
|
||||||
file "redis-master-deployment.json" created
|
file "redis-master-deployment.yaml" created
|
||||||
file "redis-slave-deployment.json" created
|
file "redis-slave-deployment.yaml" created
|
||||||
|
|
||||||
$ ls
|
$ ls
|
||||||
mlbparks-deployment.json mongodb-service.json redis-slave-service.jsonmlbparks-service.json
|
mlbparks-deployment.yaml mongodb-service.yaml redis-slave-service.jsonmlbparks-service.yaml
|
||||||
frontend-deployment.json mongodb-claim0-persistentvolumeclaim.json redis-master-service.json
|
frontend-deployment.yaml mongodb-claim0-persistentvolumeclaim.yaml redis-master-service.yaml
|
||||||
frontend-service.json mongodb-deployment.json redis-slave-deployment.json
|
frontend-service.yaml mongodb-deployment.yaml redis-slave-deployment.yaml
|
||||||
redis-master-deployment.json
|
redis-master-deployment.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
When multiple docker-compose files are provided the configuration is merged. Any configuration that is common will be over ridden by subsequent file.
|
When multiple docker-compose files are provided the configuration is merged. Any configuration that is common will be over ridden by subsequent file.
|
||||||
@ -92,10 +92,10 @@ Using `--bundle, --dab` to specify a DAB file as below:
|
|||||||
```console
|
```console
|
||||||
$ kompose --bundle docker-compose-bundle.dab convert
|
$ kompose --bundle docker-compose-bundle.dab convert
|
||||||
WARN[0000]: Unsupported key networks - ignoring
|
WARN[0000]: Unsupported key networks - ignoring
|
||||||
file "redis-svc.json" created
|
file "redis-svc.yaml" created
|
||||||
file "web-svc.json" created
|
file "web-svc.yaml" created
|
||||||
file "web-deployment.json" created
|
file "web-deployment.yaml" created
|
||||||
file "redis-deployment.json" created
|
file "redis-deployment.yaml" created
|
||||||
```
|
```
|
||||||
|
|
||||||
### OpenShift
|
### OpenShift
|
||||||
@ -103,32 +103,32 @@ file "redis-deployment.json" created
|
|||||||
```console
|
```console
|
||||||
$ kompose --provider openshift --file docker-voting.yml convert
|
$ kompose --provider openshift --file docker-voting.yml convert
|
||||||
WARN[0000] [worker] Service cannot be created because of missing port.
|
WARN[0000] [worker] Service cannot be created because of missing port.
|
||||||
INFO[0000] file "vote-service.json" created
|
INFO[0000] file "vote-service.yaml" created
|
||||||
INFO[0000] file "db-service.json" created
|
INFO[0000] file "db-service.yaml" created
|
||||||
INFO[0000] file "redis-service.json" created
|
INFO[0000] file "redis-service.yaml" created
|
||||||
INFO[0000] file "result-service.json" created
|
INFO[0000] file "result-service.yaml" created
|
||||||
INFO[0000] file "vote-deploymentconfig.json" created
|
INFO[0000] file "vote-deploymentconfig.yaml" created
|
||||||
INFO[0000] file "vote-imagestream.json" created
|
INFO[0000] file "vote-imagestream.yaml" created
|
||||||
INFO[0000] file "worker-deploymentconfig.json" created
|
INFO[0000] file "worker-deploymentconfig.yaml" created
|
||||||
INFO[0000] file "worker-imagestream.json" created
|
INFO[0000] file "worker-imagestream.yaml" created
|
||||||
INFO[0000] file "db-deploymentconfig.json" created
|
INFO[0000] file "db-deploymentconfig.yaml" created
|
||||||
INFO[0000] file "db-imagestream.json" created
|
INFO[0000] file "db-imagestream.yaml" created
|
||||||
INFO[0000] file "redis-deploymentconfig.json" created
|
INFO[0000] file "redis-deploymentconfig.yaml" created
|
||||||
INFO[0000] file "redis-imagestream.json" created
|
INFO[0000] file "redis-imagestream.yaml" created
|
||||||
INFO[0000] file "result-deploymentconfig.json" created
|
INFO[0000] file "result-deploymentconfig.yaml" created
|
||||||
INFO[0000] file "result-imagestream.json" created
|
INFO[0000] file "result-imagestream.yaml" created
|
||||||
```
|
```
|
||||||
|
|
||||||
In similar way you can convert DAB files to OpenShift.
|
In similar way you can convert DAB files to OpenShift.
|
||||||
```console
|
```console
|
||||||
$ kompose --bundle docker-compose-bundle.dab --provider openshift convert
|
$ kompose --bundle docker-compose-bundle.dab --provider openshift convert
|
||||||
WARN[0000]: Unsupported key networks - ignoring
|
WARN[0000]: Unsupported key networks - ignoring
|
||||||
INFO[0000] file "redis-svc.json" created
|
INFO[0000] file "redis-svc.yaml" created
|
||||||
INFO[0000] file "web-svc.json" created
|
INFO[0000] file "web-svc.yaml" created
|
||||||
INFO[0000] file "web-deploymentconfig.json" created
|
INFO[0000] file "web-deploymentconfig.yaml" created
|
||||||
INFO[0000] file "web-imagestream.json" created
|
INFO[0000] file "web-imagestream.yaml" created
|
||||||
INFO[0000] file "redis-deploymentconfig.json" created
|
INFO[0000] file "redis-deploymentconfig.yaml" created
|
||||||
INFO[0000] file "redis-imagestream.json" created
|
INFO[0000] file "redis-imagestream.yaml" created
|
||||||
```
|
```
|
||||||
|
|
||||||
It also supports creating buildconfig for build directive in a service. By default, it uses the remote repo for the current git branch as the source repo, and the current branch as the source branch for the build. You can specify a different source repo and branch using ``--build-repo`` and ``--build-branch`` options respectively.
|
It also supports creating buildconfig for build directive in a service. By default, it uses the remote repo for the current git branch as the source repo, and the current branch as the source branch for the build. You can specify a different source repo and branch using ``--build-repo`` and ``--build-branch`` options respectively.
|
||||||
@ -137,9 +137,9 @@ It also supports creating buildconfig for build directive in a service. By defau
|
|||||||
kompose --provider openshift --file buildconfig/docker-compose.yml convert
|
kompose --provider openshift --file buildconfig/docker-compose.yml convert
|
||||||
WARN[0000] [foo] Service cannot be created because of missing port.
|
WARN[0000] [foo] Service cannot be created because of missing port.
|
||||||
INFO[0000] Buildconfig using git@github.com:rtnpro/kompose.git::master as source.
|
INFO[0000] Buildconfig using git@github.com:rtnpro/kompose.git::master as source.
|
||||||
INFO[0000] file "foo-deploymentconfig.json" created
|
INFO[0000] file "foo-deploymentconfig.yaml" created
|
||||||
INFO[0000] file "foo-imagestream.json" created
|
INFO[0000] file "foo-imagestream.yaml" created
|
||||||
INFO[0000] file "foo-buildconfig.json" created
|
INFO[0000] file "foo-buildconfig.yaml" created
|
||||||
```
|
```
|
||||||
|
|
||||||
**Note**: If you are manually pushing the Openshift artifacts using ``oc create -f``, you need to ensure that you push the imagestream artifact before the buildconfig artifact, to workaround this Openshift issue: https://github.com/openshift/origin/issues/4518 .
|
**Note**: If you are manually pushing the Openshift artifacts using ``oc create -f``, you need to ensure that you push the imagestream artifact before the buildconfig artifact, to workaround this Openshift issue: https://github.com/openshift/origin/issues/4518 .
|
||||||
@ -237,10 +237,10 @@ Note:
|
|||||||
|
|
||||||
## Alternate formats
|
## Alternate formats
|
||||||
|
|
||||||
The default `kompose` transformation will generate Kubernetes [Deployments](http://kubernetes.io/docs/user-guide/deployments/) and [Services](http://kubernetes.io/docs/user-guide/services/), in json format. You have alternative option to generate yaml with `-y`. Also, you can alternatively generate [Replication Controllers](http://kubernetes.io/docs/user-guide/replication-controller/) objects, [Deamon Sets](http://kubernetes.io/docs/admin/daemons/), or [Helm](https://github.com/helm/helm) charts.
|
The default `kompose` transformation will generate Kubernetes [Deployments](http://kubernetes.io/docs/user-guide/deployments/) and [Services](http://kubernetes.io/docs/user-guide/services/), in yaml format. You have alternative option to generate json with `-j`. Also, you can alternatively generate [Replication Controllers](http://kubernetes.io/docs/user-guide/replication-controller/) objects, [Deamon Sets](http://kubernetes.io/docs/admin/daemons/), or [Helm](https://github.com/helm/helm) charts.
|
||||||
|
|
||||||
```console
|
```console
|
||||||
$ kompose convert
|
$ kompose convert -j
|
||||||
file "redis-svc.json" created
|
file "redis-svc.json" created
|
||||||
file "web-svc.json" created
|
file "web-svc.json" created
|
||||||
file "redis-deployment.json" created
|
file "redis-deployment.json" created
|
||||||
@ -249,17 +249,17 @@ file "web-deployment.json" created
|
|||||||
The `*-deployment.json` files contain the Deployment objects.
|
The `*-deployment.json` files contain the Deployment objects.
|
||||||
|
|
||||||
```console
|
```console
|
||||||
$ kompose convert --rc -y
|
$ kompose convert --rc
|
||||||
file "redis-svc.yaml" created
|
file "redis-svc.yaml" created
|
||||||
file "web-svc.yaml" created
|
file "web-svc.yaml" created
|
||||||
file "redis-rc.yaml" created
|
file "redis-rc.yaml" created
|
||||||
file "web-rc.yaml" created
|
file "web-rc.yaml" created
|
||||||
```
|
```
|
||||||
|
|
||||||
The `*-rc.yaml` files contain the Replication Controller objects. If you want to specify replicas (default is 1), use `--replicas` flag: `$ kompose convert --rc --replicas 3 -y`
|
The `*-rc.yaml` files contain the Replication Controller objects. If you want to specify replicas (default is 1), use `--replicas` flag: `$ kompose convert --rc --replicas 3`
|
||||||
|
|
||||||
```console
|
```console
|
||||||
$ kompose convert --ds -y
|
$ kompose convert --ds
|
||||||
file "redis-svc.yaml" created
|
file "redis-svc.yaml" created
|
||||||
file "web-svc.yaml" created
|
file "web-svc.yaml" created
|
||||||
file "redis-daemonset.yaml" created
|
file "redis-daemonset.yaml" created
|
||||||
@ -271,7 +271,7 @@ The `*-daemonset.yaml` files contain the Daemon Set objects
|
|||||||
If you want to generate a Chart to be used with [Helm](https://github.com/kubernetes/helm) simply do:
|
If you want to generate a Chart to be used with [Helm](https://github.com/kubernetes/helm) simply do:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
$ kompose convert -c -y
|
$ kompose convert -c
|
||||||
file "web-svc.yaml" created
|
file "web-svc.yaml" created
|
||||||
file "redis-svc.yaml" created
|
file "redis-svc.yaml" created
|
||||||
file "web-deployment.yaml" created
|
file "web-deployment.yaml" created
|
||||||
|
|||||||
@ -124,6 +124,10 @@ func ValidateFlags(bundle string, args []string, cmd *cobra.Command, opt *kobjec
|
|||||||
if len(args) != 0 {
|
if len(args) != 0 {
|
||||||
logrus.Fatal("Unknown Argument(s): ", strings.Join(args, ","))
|
logrus.Fatal("Unknown Argument(s): ", strings.Join(args, ","))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if opt.GenerateJson && opt.GenerateYaml {
|
||||||
|
logrus.Fatalf("YAML and JSON format cannot be provided at the same time")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func validateControllers(opt *kobject.ConvertOptions) {
|
func validateControllers(opt *kobject.ConvertOptions) {
|
||||||
|
|||||||
@ -37,6 +37,7 @@ type ConvertOptions struct {
|
|||||||
BuildBranch string
|
BuildBranch string
|
||||||
CreateChart bool
|
CreateChart bool
|
||||||
GenerateYaml bool
|
GenerateYaml bool
|
||||||
|
GenerateJson bool
|
||||||
EmptyVols bool
|
EmptyVols bool
|
||||||
Replicas int
|
Replicas int
|
||||||
InputFiles []string
|
InputFiles []string
|
||||||
|
|||||||
@ -186,11 +186,11 @@ func PrintList(objects []runtime.Object, opt kobject.ConvertOptions) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
data, err := marshal(convertedList, opt.GenerateYaml)
|
data, err := marshal(convertedList, opt.GenerateJson)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("Error in marshalling the List: %v", err)
|
return fmt.Errorf("Error in marshalling the List: %v", err)
|
||||||
}
|
}
|
||||||
files = append(files, transformer.Print("", dirName, "", data, opt.ToStdout, opt.GenerateYaml, f))
|
files = append(files, transformer.Print("", dirName, "", data, opt.ToStdout, opt.GenerateJson, f))
|
||||||
} else {
|
} else {
|
||||||
var file string
|
var file string
|
||||||
// create a separate file for each provider
|
// create a separate file for each provider
|
||||||
@ -199,34 +199,34 @@ func PrintList(objects []runtime.Object, opt kobject.ConvertOptions) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
data, err := marshal(versionedObject, opt.GenerateJson)
|
||||||
data, err := marshal(versionedObject, opt.GenerateYaml)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
switch t := v.(type) {
|
switch t := v.(type) {
|
||||||
case *api.ReplicationController:
|
case *api.ReplicationController:
|
||||||
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateYaml, f)
|
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f)
|
||||||
case *extensions.Deployment:
|
case *extensions.Deployment:
|
||||||
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateYaml, f)
|
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f)
|
||||||
case *extensions.DaemonSet:
|
case *extensions.DaemonSet:
|
||||||
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateYaml, f)
|
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f)
|
||||||
case *deployapi.DeploymentConfig:
|
case *deployapi.DeploymentConfig:
|
||||||
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateYaml, f)
|
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f)
|
||||||
case *buildapi.BuildConfig:
|
case *buildapi.BuildConfig:
|
||||||
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateYaml, f)
|
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f)
|
||||||
case *imageapi.ImageStream:
|
case *imageapi.ImageStream:
|
||||||
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateYaml, f)
|
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f)
|
||||||
case *api.Service:
|
case *api.Service:
|
||||||
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateYaml, f)
|
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f)
|
||||||
case *api.PersistentVolumeClaim:
|
case *api.PersistentVolumeClaim:
|
||||||
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateYaml, f)
|
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f)
|
||||||
case *api.Pod:
|
case *api.Pod:
|
||||||
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateYaml, f)
|
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f)
|
||||||
case *routeapi.Route:
|
case *routeapi.Route:
|
||||||
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateYaml, f)
|
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f)
|
||||||
case *extensions.Ingress:
|
case *extensions.Ingress:
|
||||||
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateYaml, f)
|
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f)
|
||||||
|
|
||||||
}
|
}
|
||||||
files = append(files, file)
|
files = append(files, file)
|
||||||
}
|
}
|
||||||
@ -238,12 +238,12 @@ func PrintList(objects []runtime.Object, opt kobject.ConvertOptions) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// marshal object runtime.Object and return byte array
|
// marshal object runtime.Object and return byte array
|
||||||
func marshal(obj runtime.Object, yamlFormat bool) (data []byte, err error) {
|
func marshal(obj runtime.Object, jsonFormat bool) (data []byte, err error) {
|
||||||
// convert data to yaml or json
|
// convert data to yaml or json
|
||||||
if yamlFormat {
|
if jsonFormat {
|
||||||
data, err = yaml.Marshal(obj)
|
|
||||||
} else {
|
|
||||||
data, err = json.MarshalIndent(obj, "", " ")
|
data, err = json.MarshalIndent(obj, "", " ")
|
||||||
|
} else {
|
||||||
|
data, err = yaml.Marshal(obj)
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
data = nil
|
data = nil
|
||||||
|
|||||||
@ -110,7 +110,7 @@ func ConfigAnnotations(service kobject.ServiceConfig) map[string]string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Transform data to json/yaml
|
// Transform data to json/yaml
|
||||||
func TransformData(obj runtime.Object, GenerateYaml bool) ([]byte, error) {
|
func TransformData(obj runtime.Object, GenerateJson bool) ([]byte, error) {
|
||||||
// Convert to versioned object
|
// Convert to versioned object
|
||||||
objectVersion := obj.GetObjectKind().GroupVersionKind()
|
objectVersion := obj.GetObjectKind().GroupVersionKind()
|
||||||
version := unversioned.GroupVersion{Group: objectVersion.Group, Version: objectVersion.Version}
|
version := unversioned.GroupVersion{Group: objectVersion.Group, Version: objectVersion.Version}
|
||||||
@ -120,9 +120,9 @@ func TransformData(obj runtime.Object, GenerateYaml bool) ([]byte, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// convert data to json / yaml
|
// convert data to json / yaml
|
||||||
data, err := json.MarshalIndent(versionedObj, "", " ")
|
data, err := yaml.Marshal(versionedObj)
|
||||||
if GenerateYaml == true {
|
if GenerateJson == true {
|
||||||
data, err = yaml.Marshal(versionedObj)
|
data, err = json.MarshalIndent(versionedObj, "", " ")
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -132,13 +132,13 @@ func TransformData(obj runtime.Object, GenerateYaml bool) ([]byte, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Either print to stdout or to file/s
|
// Either print to stdout or to file/s
|
||||||
func Print(name, path string, trailing string, data []byte, toStdout, generateYaml bool, f *os.File) string {
|
func Print(name, path string, trailing string, data []byte, toStdout, generateJson bool, f *os.File) string {
|
||||||
|
|
||||||
file := ""
|
file := ""
|
||||||
if generateYaml {
|
if generateJson {
|
||||||
file = fmt.Sprintf("%s-%s.yaml", name, trailing)
|
|
||||||
} else {
|
|
||||||
file = fmt.Sprintf("%s-%s.json", name, trailing)
|
file = fmt.Sprintf("%s-%s.json", name, trailing)
|
||||||
|
} else {
|
||||||
|
file = fmt.Sprintf("%s-%s.yaml", name, trailing)
|
||||||
}
|
}
|
||||||
if toStdout {
|
if toStdout {
|
||||||
fmt.Fprintf(os.Stdout, "%s\n", string(data))
|
fmt.Fprintf(os.Stdout, "%s\n", string(data))
|
||||||
|
|||||||
@ -26,153 +26,153 @@ convert::expect_failure "kompose -f $KOMPOSE_ROOT/script/test/fixtures/etherpad/
|
|||||||
convert::expect_warning "kompose -f $KOMPOSE_ROOT/script/test/fixtures/etherpad/docker-compose-no-ports.yml convert --stdout" "Service cannot be created because of missing port."
|
convert::expect_warning "kompose -f $KOMPOSE_ROOT/script/test/fixtures/etherpad/docker-compose-no-ports.yml convert --stdout" "Service cannot be created because of missing port."
|
||||||
export $(cat $KOMPOSE_ROOT/script/test/fixtures/etherpad/envs)
|
export $(cat $KOMPOSE_ROOT/script/test/fixtures/etherpad/envs)
|
||||||
# kubernetes test
|
# kubernetes test
|
||||||
convert::expect_success_and_warning "kompose -f $KOMPOSE_ROOT/script/test/fixtures/etherpad/docker-compose.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/etherpad/output-k8s.json" "Unsupported depends_on key - ignoring"
|
convert::expect_success_and_warning "kompose -f $KOMPOSE_ROOT/script/test/fixtures/etherpad/docker-compose.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/etherpad/output-k8s.json" "Unsupported depends_on key - ignoring"
|
||||||
# openshift test
|
# openshift test
|
||||||
convert::expect_success_and_warning "kompose --provider=openshift -f $KOMPOSE_ROOT/script/test/fixtures/etherpad/docker-compose.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/etherpad/output-os.json" "Unsupported depends_on key - ignoring"
|
convert::expect_success_and_warning "kompose --provider=openshift -f $KOMPOSE_ROOT/script/test/fixtures/etherpad/docker-compose.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/etherpad/output-os.json" "Unsupported depends_on key - ignoring"
|
||||||
unset $(cat $KOMPOSE_ROOT/script/test/fixtures/etherpad/envs | cut -d'=' -f1)
|
unset $(cat $KOMPOSE_ROOT/script/test/fixtures/etherpad/envs | cut -d'=' -f1)
|
||||||
|
|
||||||
######
|
######
|
||||||
# Tests related to docker-compose file in /script/test/fixtures/gitlab
|
# Tests related to docker-compose file in /script/test/fixtures/gitlab
|
||||||
convert::expect_failure "kompose -f $KOMPOSE_ROOT/script/test/fixtures/gitlab/docker-compose.yml convert --stdout"
|
convert::expect_failure "kompose -f $KOMPOSE_ROOT/script/test/fixtures/gitlab/docker-compose.yml convert --stdout -j"
|
||||||
export $(cat $KOMPOSE_ROOT/script/test/fixtures/gitlab/envs)
|
export $(cat $KOMPOSE_ROOT/script/test/fixtures/gitlab/envs)
|
||||||
# kubernetes test
|
# kubernetes test
|
||||||
convert::expect_success "kompose -f $KOMPOSE_ROOT/script/test/fixtures/gitlab/docker-compose.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/gitlab/output-k8s.json"
|
convert::expect_success "kompose -f $KOMPOSE_ROOT/script/test/fixtures/gitlab/docker-compose.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/gitlab/output-k8s.json"
|
||||||
# openshift test
|
# openshift test
|
||||||
convert::expect_success "kompose --provider=openshift -f $KOMPOSE_ROOT/script/test/fixtures/gitlab/docker-compose.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/gitlab/output-os.json"
|
convert::expect_success "kompose --provider=openshift -f $KOMPOSE_ROOT/script/test/fixtures/gitlab/docker-compose.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/gitlab/output-os.json"
|
||||||
unset $(cat $KOMPOSE_ROOT/script/test/fixtures/gitlab/envs | cut -d'=' -f1)
|
unset $(cat $KOMPOSE_ROOT/script/test/fixtures/gitlab/envs | cut -d'=' -f1)
|
||||||
|
|
||||||
######
|
######
|
||||||
# Tests related to docker-compose file in /script/test/fixtures/ngnix-node-redis
|
# Tests related to docker-compose file in /script/test/fixtures/ngnix-node-redis
|
||||||
# kubernetes test
|
# kubernetes test
|
||||||
convert::expect_success_and_warning "kompose -f $KOMPOSE_ROOT/script/test/fixtures/ngnix-node-redis/docker-compose.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/ngnix-node-redis/output-k8s.json" "Kubernetes provider doesn't support build key - ignoring"
|
convert::expect_success_and_warning "kompose -f $KOMPOSE_ROOT/script/test/fixtures/ngnix-node-redis/docker-compose.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/ngnix-node-redis/output-k8s.json" "Kubernetes provider doesn't support build key - ignoring"
|
||||||
# openshift test
|
# openshift test
|
||||||
convert::expect_success_warning "kompose --provider=openshift -f $KOMPOSE_ROOT/script/test/fixtures/ngnix-node-redis/docker-compose.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/ngnix-node-redis/output-os.json" "Buildconfig using https://github.com/kubernetes-incubator/kompose.git::master as source."
|
convert::expect_success_warning "kompose --provider=openshift -f $KOMPOSE_ROOT/script/test/fixtures/ngnix-node-redis/docker-compose.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/ngnix-node-redis/output-os.json" "Buildconfig using https://github.com/kubernetes-incubator/kompose.git::master as source."
|
||||||
|
|
||||||
######
|
######
|
||||||
# Tests related to docker-compose file in /script/test/fixtures/entrypoint-command
|
# Tests related to docker-compose file in /script/test/fixtures/entrypoint-command
|
||||||
# kubernetes test
|
# kubernetes test
|
||||||
convert::expect_success_and_warning "kompose -f $KOMPOSE_ROOT/script/test/fixtures/entrypoint-command/docker-compose.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/entrypoint-command/output-k8s.json" "Service cannot be created because of missing port."
|
convert::expect_success_and_warning "kompose -f $KOMPOSE_ROOT/script/test/fixtures/entrypoint-command/docker-compose.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/entrypoint-command/output-k8s.json" "Service cannot be created because of missing port."
|
||||||
# openshift test
|
# openshift test
|
||||||
convert::expect_success_and_warning "kompose --provider=openshift -f $KOMPOSE_ROOT/script/test/fixtures/entrypoint-command/docker-compose.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/entrypoint-command/output-os.json" "Service cannot be created because of missing port."
|
convert::expect_success_and_warning "kompose --provider=openshift -f $KOMPOSE_ROOT/script/test/fixtures/entrypoint-command/docker-compose.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/entrypoint-command/output-os.json" "Service cannot be created because of missing port."
|
||||||
|
|
||||||
|
|
||||||
######
|
######
|
||||||
# Tests related to docker-compose file in /script/test/fixtures/ports-with-proto
|
# Tests related to docker-compose file in /script/test/fixtures/ports-with-proto
|
||||||
# kubernetes test
|
# kubernetes test
|
||||||
convert::expect_success "kompose -f $KOMPOSE_ROOT/script/test/fixtures/ports-with-proto/docker-compose.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/ports-with-proto/output-k8s.json"
|
convert::expect_success "kompose -f $KOMPOSE_ROOT/script/test/fixtures/ports-with-proto/docker-compose.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/ports-with-proto/output-k8s.json"
|
||||||
# openshift test
|
# openshift test
|
||||||
convert::expect_success "kompose --provider=openshift -f $KOMPOSE_ROOT/script/test/fixtures/ports-with-proto/docker-compose.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/ports-with-proto/output-os.json"
|
convert::expect_success "kompose --provider=openshift -f $KOMPOSE_ROOT/script/test/fixtures/ports-with-proto/docker-compose.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/ports-with-proto/output-os.json"
|
||||||
|
|
||||||
|
|
||||||
######
|
######
|
||||||
# Tests related to docker-compose file in /script/test/fixtures/volume-mounts/simple-vol-mounts
|
# Tests related to docker-compose file in /script/test/fixtures/volume-mounts/simple-vol-mounts
|
||||||
# kubernetes test
|
# kubernetes test
|
||||||
convert::expect_success "kompose -f $KOMPOSE_ROOT/script/test/fixtures/volume-mounts/simple-vol-mounts/docker-compose.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/volume-mounts/simple-vol-mounts/output-k8s.json"
|
convert::expect_success "kompose -f $KOMPOSE_ROOT/script/test/fixtures/volume-mounts/simple-vol-mounts/docker-compose.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/volume-mounts/simple-vol-mounts/output-k8s.json"
|
||||||
# openshift test
|
# openshift test
|
||||||
convert::expect_success "kompose --provider=openshift -f $KOMPOSE_ROOT/script/test/fixtures/volume-mounts/simple-vol-mounts/docker-compose.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/volume-mounts/simple-vol-mounts/output-os.json"
|
convert::expect_success "kompose --provider=openshift -f $KOMPOSE_ROOT/script/test/fixtures/volume-mounts/simple-vol-mounts/docker-compose.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/volume-mounts/simple-vol-mounts/output-os.json"
|
||||||
|
|
||||||
|
|
||||||
######
|
######
|
||||||
# Tests related to docker-compose file in /script/test/fixtures/volume-mounts/volumes-from
|
# Tests related to docker-compose file in /script/test/fixtures/volume-mounts/volumes-from
|
||||||
# kubernetes test
|
# kubernetes test
|
||||||
convert::expect_success_and_warning "kompose -f $KOMPOSE_ROOT/script/test/fixtures/volume-mounts/volumes-from/docker-compose.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/volume-mounts/volumes-from/output-k8s.json" "ignoring path on the host"
|
convert::expect_success_and_warning "kompose -f $KOMPOSE_ROOT/script/test/fixtures/volume-mounts/volumes-from/docker-compose.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/volume-mounts/volumes-from/output-k8s.json" "ignoring path on the host"
|
||||||
# openshift test
|
# openshift test
|
||||||
convert::expect_success_and_warning "kompose --provider=openshift -f $KOMPOSE_ROOT/script/test/fixtures/volume-mounts/volumes-from/docker-compose.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/volume-mounts/volumes-from/output-os.json" "ignoring path on the host"
|
convert::expect_success_and_warning "kompose --provider=openshift -f $KOMPOSE_ROOT/script/test/fixtures/volume-mounts/volumes-from/docker-compose.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/volume-mounts/volumes-from/output-os.json" "ignoring path on the host"
|
||||||
|
|
||||||
|
|
||||||
######
|
######
|
||||||
# Tests related to docker-compose file in /script/test/fixtures/envvars-separators
|
# Tests related to docker-compose file in /script/test/fixtures/envvars-separators
|
||||||
# kubernetes test
|
# kubernetes test
|
||||||
convert::expect_success_and_warning "kompose -f $KOMPOSE_ROOT/script/test/fixtures/envvars-separators/docker-compose.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/envvars-separators/output-k8s.json"
|
convert::expect_success_and_warning "kompose -f $KOMPOSE_ROOT/script/test/fixtures/envvars-separators/docker-compose.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/envvars-separators/output-k8s.json"
|
||||||
|
|
||||||
######
|
######
|
||||||
# Tests related to unknown arguments with cli commands
|
# Tests related to unknown arguments with cli commands
|
||||||
convert::expect_failure "kompose up $KOMPOSE_ROOT/script/test/fixtures/gitlab/docker-compose.yml" "Unknown Argument docker-gitlab.yml"
|
convert::expect_failure "kompose up $KOMPOSE_ROOT/script/test/fixtures/gitlab/docker-compose.yml -j" "Unknown Argument docker-gitlab.yml"
|
||||||
convert::expect_failure "kompose down $KOMPOSE_ROOT/script/test/fixtures/gitlab/docker-compose.yml" "Unknown Argument docker-gitlab.yml"
|
convert::expect_failure "kompose down $KOMPOSE_ROOT/script/test/fixtures/gitlab/docker-compose.yml -j" "Unknown Argument docker-gitlab.yml"
|
||||||
convert::expect_failure "kompose convert $KOMPOSE_ROOT/script/test/fixtures/gitlab/docker-compose.yml" "Unknown Argument docker-gitlab.yml"
|
convert::expect_failure "kompose convert $KOMPOSE_ROOT/script/test/fixtures/gitlab/docker-compose.yml -j" "Unknown Argument docker-gitlab.yml"
|
||||||
|
|
||||||
# Tests related to kompose --bundle convert usage and that setting the compose file results in a failure
|
# Tests related to kompose --bundle convert usage and that setting the compose file results in a failure
|
||||||
convert::expect_failure "kompose -f $KOMPOSE_ROOT/script/test/fixtures/bundles/foo.yml --bundle $KOMPOSE_ROOT/script/test/fixtures/bundles/dab/docker-compose-bundle.dab convert"
|
convert::expect_failure "kompose -f $KOMPOSE_ROOT/script/test/fixtures/bundles/foo.yml --bundle $KOMPOSE_ROOT/script/test/fixtures/bundles/dab/docker-compose-bundle.dab convert"
|
||||||
|
|
||||||
######
|
######
|
||||||
# Test related to kompose --bundle convert to ensure that docker bundles are converted properly
|
# Test related to kompose --bundle convert to ensure that docker bundles are converted properly
|
||||||
convert::expect_success "kompose --bundle $KOMPOSE_ROOT/script/test/fixtures/bundles/dab/docker-compose-bundle.dab convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/bundles/dab/output-k8s.json"
|
convert::expect_success "kompose --bundle $KOMPOSE_ROOT/script/test/fixtures/bundles/dab/docker-compose-bundle.dab convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/bundles/dab/output-k8s.json"
|
||||||
|
|
||||||
# Test related to multiple-compose files
|
# Test related to multiple-compose files
|
||||||
# Kubernets test
|
# Kubernets test
|
||||||
convert::expect_success_and_warning "kompose -f $KOMPOSE_ROOT/script/test/fixtures/multiple-compose-files/docker-k8s.yml -f $KOMPOSE_ROOT/script/test/fixtures/multiple-compose-files/docker-os.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/multiple-compose-files/output-k8s.json" "Unsupported depends_on key - ignoring"
|
convert::expect_success_and_warning "kompose -f $KOMPOSE_ROOT/script/test/fixtures/multiple-compose-files/docker-k8s.yml -f $KOMPOSE_ROOT/script/test/fixtures/multiple-compose-files/docker-os.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/multiple-compose-files/output-k8s.json" "Unsupported depends_on key - ignoring"
|
||||||
convert::expect_success_and_warning "kompose --provider=openshift -f $KOMPOSE_ROOT/script/test/fixtures/multiple-compose-files/docker-k8s.yml -f $KOMPOSE_ROOT/script/test/fixtures/multiple-compose-files/docker-os.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/multiple-compose-files/output-openshift.json" "Unsupported depends_on key - ignoring"
|
convert::expect_success_and_warning "kompose --provider=openshift -f $KOMPOSE_ROOT/script/test/fixtures/multiple-compose-files/docker-k8s.yml -f $KOMPOSE_ROOT/script/test/fixtures/multiple-compose-files/docker-os.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/multiple-compose-files/output-openshift.json" "Unsupported depends_on key - ignoring"
|
||||||
|
|
||||||
######
|
######
|
||||||
# Test related to kompose --bundle convert to ensure that DSB bundles are converted properly
|
# Test related to kompose --bundle convert to ensure that DSB bundles are converted properly
|
||||||
convert::expect_success_and_warning "kompose --bundle $KOMPOSE_ROOT/script/test/fixtures/bundles/dsb/docker-voting-bundle.dsb convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/bundles/dsb/output-k8s.json" "Service cannot be created because of missing port."
|
convert::expect_success_and_warning "kompose --bundle $KOMPOSE_ROOT/script/test/fixtures/bundles/dsb/docker-voting-bundle.dsb convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/bundles/dsb/output-k8s.json" "Service cannot be created because of missing port."
|
||||||
|
|
||||||
######
|
######
|
||||||
# Test related to restart options in docker-compose
|
# Test related to restart options in docker-compose
|
||||||
# kubernetes test
|
# kubernetes test
|
||||||
convert::expect_success "kompose -f $KOMPOSE_ROOT/script/test/fixtures/restart-options/docker-compose-restart-no.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/restart-options/output-k8s-restart-no.json"
|
convert::expect_success "kompose -f $KOMPOSE_ROOT/script/test/fixtures/restart-options/docker-compose-restart-no.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/restart-options/output-k8s-restart-no.json"
|
||||||
convert::expect_success "kompose -f $KOMPOSE_ROOT/script/test/fixtures/restart-options/docker-compose-restart-onfail.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/restart-options/output-k8s-restart-onfail.json"
|
convert::expect_success "kompose -f $KOMPOSE_ROOT/script/test/fixtures/restart-options/docker-compose-restart-onfail.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/restart-options/output-k8s-restart-onfail.json"
|
||||||
# openshift test
|
# openshift test
|
||||||
convert::expect_success "kompose -f $KOMPOSE_ROOT/script/test/fixtures/restart-options/docker-compose-restart-no.yml --provider openshift convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/restart-options/output-os-restart-no.json"
|
convert::expect_success "kompose -f $KOMPOSE_ROOT/script/test/fixtures/restart-options/docker-compose-restart-no.yml --provider openshift convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/restart-options/output-os-restart-no.json"
|
||||||
convert::expect_success "kompose -f $KOMPOSE_ROOT/script/test/fixtures/restart-options/docker-compose-restart-onfail.yml --provider openshift convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/restart-options/output-os-restart-onfail.json"
|
convert::expect_success "kompose -f $KOMPOSE_ROOT/script/test/fixtures/restart-options/docker-compose-restart-onfail.yml --provider openshift convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/restart-options/output-os-restart-onfail.json"
|
||||||
|
|
||||||
|
|
||||||
######
|
######
|
||||||
# Test key-only envrionment variable
|
# Test key-only envrionment variable
|
||||||
export $(cat $KOMPOSE_ROOT/script/test/fixtures/keyonly-envs/envs)
|
export $(cat $KOMPOSE_ROOT/script/test/fixtures/keyonly-envs/envs)
|
||||||
convert::expect_success "kompose --file $KOMPOSE_ROOT/script/test/fixtures/keyonly-envs/env.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/keyonly-envs/output-k8s.json"
|
convert::expect_success "kompose --file $KOMPOSE_ROOT/script/test/fixtures/keyonly-envs/env.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/keyonly-envs/output-k8s.json"
|
||||||
unset $(cat $KOMPOSE_ROOT/script/test/fixtures/keyonly-envs/envs | cut -d'=' -f1)
|
unset $(cat $KOMPOSE_ROOT/script/test/fixtures/keyonly-envs/envs | cut -d'=' -f1)
|
||||||
|
|
||||||
|
|
||||||
######
|
######
|
||||||
# Test related to "stdin_open: true" in docker-compose
|
# Test related to "stdin_open: true" in docker-compose
|
||||||
# kubernetes test
|
# kubernetes test
|
||||||
convert::expect_success "kompose -f $KOMPOSE_ROOT/script/test/fixtures/stdin-true/docker-compose.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/stdin-true/output-k8s.json"
|
convert::expect_success "kompose -f $KOMPOSE_ROOT/script/test/fixtures/stdin-true/docker-compose.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/stdin-true/output-k8s.json"
|
||||||
# openshift test
|
# openshift test
|
||||||
convert::expect_success "kompose --provider openshift -f $KOMPOSE_ROOT/script/test/fixtures/stdin-true/docker-compose.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/stdin-true/output-oc.json"
|
convert::expect_success "kompose --provider openshift -f $KOMPOSE_ROOT/script/test/fixtures/stdin-true/docker-compose.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/stdin-true/output-oc.json"
|
||||||
|
|
||||||
|
|
||||||
######
|
######
|
||||||
# Test related to "tty: true" in docker-compose
|
# Test related to "tty: true" in docker-compose
|
||||||
# kubernetes test
|
# kubernetes test
|
||||||
convert::expect_success "kompose -f $KOMPOSE_ROOT/script/test/fixtures/tty-true/docker-compose.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/tty-true/output-k8s.json"
|
convert::expect_success "kompose -f $KOMPOSE_ROOT/script/test/fixtures/tty-true/docker-compose.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/tty-true/output-k8s.json"
|
||||||
# openshift test
|
# openshift test
|
||||||
convert::expect_success "kompose --provider openshift -f $KOMPOSE_ROOT/script/test/fixtures/tty-true/docker-compose.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/tty-true/output-oc.json"
|
convert::expect_success "kompose --provider openshift -f $KOMPOSE_ROOT/script/test/fixtures/tty-true/docker-compose.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/tty-true/output-oc.json"
|
||||||
|
|
||||||
|
|
||||||
# Test related to kompose.expose.service label in docker compose file to ensure that services are exposed properly
|
# Test related to kompose.expose.service label in docker compose file to ensure that services are exposed properly
|
||||||
#kubernetes tests
|
#kubernetes tests
|
||||||
# when kompose.service.expose="True"
|
# when kompose.service.expose="True"
|
||||||
convert::expect_success "kompose -f $KOMPOSE_ROOT/script/test/fixtures/expose-service/compose-files/docker-compose-expose-true.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/expose-service/provider-files/kubernetes-expose-true.json"
|
convert::expect_success "kompose -f $KOMPOSE_ROOT/script/test/fixtures/expose-service/compose-files/docker-compose-expose-true.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/expose-service/provider-files/kubernetes-expose-true.json"
|
||||||
# when kompose.expose.service="<hostname>"
|
# when kompose.expose.service="<hostname>"
|
||||||
convert::expect_success "kompose -f $KOMPOSE_ROOT/script/test/fixtures/expose-service/compose-files/docker-compose-expose-hostname.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/expose-service/provider-files/kubernetes-expose-hostname.json"
|
convert::expect_success "kompose -f $KOMPOSE_ROOT/script/test/fixtures/expose-service/compose-files/docker-compose-expose-hostname.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/expose-service/provider-files/kubernetes-expose-hostname.json"
|
||||||
# when kompose.service.expose="True" and multiple ports in docker compose file (first port should be selected)
|
# when kompose.service.expose="True" and multiple ports in docker compose file (first port should be selected)
|
||||||
convert::expect_success "kompose -f $KOMPOSE_ROOT/script/test/fixtures/expose-service/compose-files/docker-compose-expose-true-multiple-ports.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/expose-service/provider-files/kubernetes-expose-true-multiple-ports.json"
|
convert::expect_success "kompose -f $KOMPOSE_ROOT/script/test/fixtures/expose-service/compose-files/docker-compose-expose-true-multiple-ports.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/expose-service/provider-files/kubernetes-expose-true-multiple-ports.json"
|
||||||
# when kompose.service.expose="<hostname>" and multiple ports in docker compose file (first port should be selected)
|
# when kompose.service.expose="<hostname>" and multiple ports in docker compose file (first port should be selected)
|
||||||
convert::expect_success "kompose -f $KOMPOSE_ROOT/script/test/fixtures/expose-service/compose-files/docker-compose-expose-hostname-multiple-ports.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/expose-service/provider-files/kubernetes-expose-hostname-multiple-ports.json"
|
convert::expect_success "kompose -f $KOMPOSE_ROOT/script/test/fixtures/expose-service/compose-files/docker-compose-expose-hostname-multiple-ports.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/expose-service/provider-files/kubernetes-expose-hostname-multiple-ports.json"
|
||||||
|
|
||||||
#openshift tests
|
#openshift tests
|
||||||
# when kompose.service.expose="True"
|
# when kompose.service.expose="True"
|
||||||
convert::expect_success "kompose --provider openshift -f $KOMPOSE_ROOT/script/test/fixtures/expose-service/compose-files/docker-compose-expose-true.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/expose-service/provider-files/openshift-expose-true.json"
|
convert::expect_success "kompose --provider openshift -f $KOMPOSE_ROOT/script/test/fixtures/expose-service/compose-files/docker-compose-expose-true.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/expose-service/provider-files/openshift-expose-true.json"
|
||||||
# when kompose.expose.service="<hostname>"
|
# when kompose.expose.service="<hostname>"
|
||||||
convert::expect_success "kompose --provider openshift -f $KOMPOSE_ROOT/script/test/fixtures/expose-service/compose-files/docker-compose-expose-hostname.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/expose-service/provider-files/openshift-expose-hostname.json"
|
convert::expect_success "kompose --provider openshift -f $KOMPOSE_ROOT/script/test/fixtures/expose-service/compose-files/docker-compose-expose-hostname.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/expose-service/provider-files/openshift-expose-hostname.json"
|
||||||
# when kompose.service.expose="True" and multiple ports in docker compose file (first port should be selected)
|
# when kompose.service.expose="True" and multiple ports in docker compose file (first port should be selected)
|
||||||
convert::expect_success "kompose --provider openshift -f $KOMPOSE_ROOT/script/test/fixtures/expose-service/compose-files/docker-compose-expose-true-multiple-ports.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/expose-service/provider-files/openshift-expose-true-multiple-ports.json"
|
convert::expect_success "kompose --provider openshift -f $KOMPOSE_ROOT/script/test/fixtures/expose-service/compose-files/docker-compose-expose-true-multiple-ports.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/expose-service/provider-files/openshift-expose-true-multiple-ports.json"
|
||||||
# when kompose.service.expose="<hostname>" and multiple ports in docker compose file (first port should be selected)
|
# when kompose.service.expose="<hostname>" and multiple ports in docker compose file (first port should be selected)
|
||||||
convert::expect_success "kompose --provider openshift -f $KOMPOSE_ROOT/script/test/fixtures/expose-service/compose-files/docker-compose-expose-hostname-multiple-ports.yml convert --stdout" "$KOMPOSE_ROOT/script/test/fixtures/expose-service/provider-files/openshift-expose-hostname-multiple-ports.json"
|
convert::expect_success "kompose --provider openshift -f $KOMPOSE_ROOT/script/test/fixtures/expose-service/compose-files/docker-compose-expose-hostname-multiple-ports.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/expose-service/provider-files/openshift-expose-hostname-multiple-ports.json"
|
||||||
|
|
||||||
|
|
||||||
######
|
######
|
||||||
# Test the output file behavior of kompose convert
|
# Test the output file behavior of kompose convert
|
||||||
# Default behavior without -o
|
# Default behavior without -o
|
||||||
convert::files_exist "kompose -f $KOMPOSE_ROOT/examples/docker-compose.yml convert" "" "$TEMP_DIR/redis-deployment.json" "$TEMP_DIR/redis-service.json" "$TEMP_DIR/web-deployment.json" "$TEMP_DIR/web-service.json"
|
convert::files_exist "kompose -f $KOMPOSE_ROOT/examples/docker-compose.yml convert -j" "" "$TEMP_DIR/redis-deployment.json -j" "$TEMP_DIR/redis-service.json" "$TEMP_DIR/web-deployment.json" "$TEMP_DIR/web-service.json"
|
||||||
# Behavior with -o <filename>
|
# Behavior with -o <filename>
|
||||||
convert::files_exist "kompose -f $KOMPOSE_ROOT/examples/docker-compose.yml convert -o output_file" "" "$TEMP_DIR/output_file"
|
convert::files_exist "kompose -f $KOMPOSE_ROOT/examples/docker-compose.yml convert -o output_file -j" "" "$TEMP_DIR/output_file"
|
||||||
# Behavior with -o <dirname>
|
# Behavior with -o <dirname>
|
||||||
convert::files_exist "kompose -f $KOMPOSE_ROOT/examples/docker-compose.yml convert -o output_dir" "$TEMP_DIR/output_dir/" "$TEMP_DIR/output_dir/redis-deployment.json" "$TEMP_DIR/output_dir/redis-service.json" "$TEMP_DIR/output_dir/web-deployment.json" "$TEMP_DIR/output_dir/web-service.json"
|
convert::files_exist "kompose -f $KOMPOSE_ROOT/examples/docker-compose.yml convert -o output_dir -j" "$TEMP_DIR/output_dir/" "$TEMP_DIR/output_dir/redis-deployment.json" "$TEMP_DIR/output_dir/redis-service.json" "$TEMP_DIR/output_dir/web-deployment.json" "$TEMP_DIR/output_dir/web-service.json"
|
||||||
# Behavior with -o <dirname>/<filename>
|
# Behavior with -o <dirname>/<filename>
|
||||||
convert::files_exist "kompose -f $KOMPOSE_ROOT/examples/docker-compose.yml convert -o output_dir/output_file" "$TEMP_DIR/output_dir/" "$TEMP_DIR/output_dir/output_file"
|
convert::files_exist "kompose -f $KOMPOSE_ROOT/examples/docker-compose.yml convert -o output_dir/output_file -j" "$TEMP_DIR/output_dir/" "$TEMP_DIR/output_dir/output_file"
|
||||||
# Behavior with -o <dirname>/<dirname>/<filename>
|
# Behavior with -o <dirname>/<dirname>/<filename>
|
||||||
convert::files_exist "kompose -f $KOMPOSE_ROOT/examples/docker-compose.yml convert -o output_dir/output_dir_nested/output_file" "$TEMP_DIR/output_dir/output_dir_nested" "$TEMP_DIR/output_dir/output_dir_nested/output_file"
|
convert::files_exist "kompose -f $KOMPOSE_ROOT/examples/docker-compose.yml convert -o output_dir/output_dir_nested/output_file -j" "$TEMP_DIR/output_dir/output_dir_nested" "$TEMP_DIR/output_dir/output_dir_nested/output_file"
|
||||||
|
|
||||||
exit $EXIT_STATUS
|
exit $EXIT_STATUS
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user