forked from LaconicNetwork/kompose
clean code
This commit is contained in:
parent
3f94d778d7
commit
82ae7fab78
137
cli/app/app.go
137
cli/app/app.go
@ -54,141 +54,6 @@ func BeforeApp(c *cli.Context) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// Ps lists all rc, svc.
|
||||
func Ps(c *cli.Context) {
|
||||
//factory := cmdutil.NewFactory(nil)
|
||||
//clientConfig, err := factory.ClientConfig()
|
||||
//if err != nil {
|
||||
// logrus.Fatalf("Failed to get Kubernetes client config: %v", err)
|
||||
//}
|
||||
//client := client.NewOrDie(clientConfig)
|
||||
//
|
||||
//if c.BoolT("svc") {
|
||||
// fmt.Printf("%-20s%-20s%-20s%-20s\n", "Name", "Cluster IP", "Ports", "Selectors")
|
||||
// for name := range p.Configs {
|
||||
// var ports string
|
||||
// var selectors string
|
||||
// services, err := client.Services(api.NamespaceDefault).Get(name)
|
||||
//
|
||||
// if err != nil {
|
||||
// logrus.Debugf("Cannot find service for: ", name)
|
||||
// } else {
|
||||
//
|
||||
// for i := range services.Spec.Ports {
|
||||
// p := strconv.Itoa(int(services.Spec.Ports[i].Port))
|
||||
// ports += ports + string(services.Spec.Ports[i].Protocol) + "(" + p + "),"
|
||||
// }
|
||||
//
|
||||
// for k, v := range services.ObjectMeta.Labels {
|
||||
// selectors += selectors + k + "=" + v + ","
|
||||
// }
|
||||
//
|
||||
// ports = strings.TrimSuffix(ports, ",")
|
||||
// selectors = strings.TrimSuffix(selectors, ",")
|
||||
//
|
||||
// fmt.Printf("%-20s%-20s%-20s%-20s\n", services.ObjectMeta.Name,
|
||||
// services.Spec.ClusterIP, ports, selectors)
|
||||
// }
|
||||
//
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//if c.BoolT("rc") {
|
||||
// fmt.Printf("%-15s%-15s%-30s%-10s%-20s\n", "Name", "Containers", "Images",
|
||||
// "Replicas", "Selectors")
|
||||
// for name := range p.Configs {
|
||||
// var selectors string
|
||||
// var containers string
|
||||
// var images string
|
||||
// rc, err := client.ReplicationControllers(api.NamespaceDefault).Get(name)
|
||||
//
|
||||
// /* Should grab controller, container, image, selector, replicas */
|
||||
//
|
||||
// if err != nil {
|
||||
// logrus.Debugf("Cannot find rc for: ", string(name))
|
||||
// } else {
|
||||
//
|
||||
// for k, v := range rc.Spec.Selector {
|
||||
// selectors += selectors + k + "=" + v + ","
|
||||
// }
|
||||
//
|
||||
// for i := range rc.Spec.Template.Spec.Containers {
|
||||
// c := rc.Spec.Template.Spec.Containers[i]
|
||||
// containers += containers + c.Name + ","
|
||||
// images += images + c.Image + ","
|
||||
// }
|
||||
// selectors = strings.TrimSuffix(selectors, ",")
|
||||
// containers = strings.TrimSuffix(containers, ",")
|
||||
// images = strings.TrimSuffix(images, ",")
|
||||
//
|
||||
// fmt.Printf("%-15s%-15s%-30s%-10d%-20s\n", rc.ObjectMeta.Name, containers,
|
||||
// images, rc.Spec.Replicas, selectors)
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
}
|
||||
|
||||
// Delete deletes all rc, svc.
|
||||
func Delete(c *cli.Context) {
|
||||
//factory := cmdutil.NewFactory(nil)
|
||||
//clientConfig, err := factory.ClientConfig()
|
||||
//if err != nil {
|
||||
// logrus.Fatalf("Failed to get Kubernetes client config: %v", err)
|
||||
//}
|
||||
//client := client.NewOrDie(clientConfig)
|
||||
//
|
||||
//for name := range p.Configs {
|
||||
// if len(c.String("name")) > 0 && name != c.String("name") {
|
||||
// continue
|
||||
// }
|
||||
//
|
||||
// if c.BoolT("svc") {
|
||||
// err := client.Services(api.NamespaceDefault).Delete(name)
|
||||
// if err != nil {
|
||||
// logrus.Fatalf("Unable to delete service %s: %s\n", name, err)
|
||||
// }
|
||||
// } else if c.BoolT("rc") {
|
||||
// err := client.ReplicationControllers(api.NamespaceDefault).Delete(name)
|
||||
// if err != nil {
|
||||
// logrus.Fatalf("Unable to delete replication controller %s: %s\n", name, err)
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
}
|
||||
|
||||
// Scale scales rc.
|
||||
func Scale(c *cli.Context) {
|
||||
//factory := cmdutil.NewFactory(nil)
|
||||
//clientConfig, err := factory.ClientConfig()
|
||||
//if err != nil {
|
||||
// logrus.Fatalf("Failed to get Kubernetes client config: %v", err)
|
||||
//}
|
||||
//client := client.NewOrDie(clientConfig)
|
||||
//
|
||||
//if c.Int("scale") <= 0 {
|
||||
// logrus.Fatalf("Scale must be defined and a positive number")
|
||||
//}
|
||||
//
|
||||
//for name := range p.Configs {
|
||||
// if len(c.String("rc")) == 0 || c.String("rc") == name {
|
||||
// s, err := client.ExtensionsClient.Scales(api.NamespaceDefault).Get("ReplicationController", name)
|
||||
// if err != nil {
|
||||
// logrus.Fatalf("Error retrieving scaling data: %s\n", err)
|
||||
// }
|
||||
//
|
||||
// s.Spec.Replicas = int32(c.Int("scale"))
|
||||
//
|
||||
// s, err = client.ExtensionsClient.Scales(api.NamespaceDefault).Update("ReplicationController", s)
|
||||
// if err != nil {
|
||||
// logrus.Fatalf("Error updating scaling data: %s\n", err)
|
||||
// }
|
||||
//
|
||||
// fmt.Printf("Scaling %s to: %d\n", name, s.Spec.Replicas)
|
||||
// }
|
||||
//}
|
||||
}
|
||||
|
||||
func validateFlags(opt kobject.ConvertOptions, singleOutput bool, dabFile, inputFile string) {
|
||||
if len(opt.OutFile) != 0 && opt.ToStdout {
|
||||
logrus.Fatalf("Error: --out and --stdout can't be set at the same time")
|
||||
@ -222,7 +87,7 @@ func validateFlags(opt kobject.ConvertOptions, singleOutput bool, dabFile, input
|
||||
}
|
||||
}
|
||||
|
||||
// Convert tranforms docker compose or dab file to k8s objects
|
||||
// Convert transforms docker compose or dab file to k8s objects
|
||||
func Convert(c *cli.Context) {
|
||||
inputFile := c.String("file")
|
||||
dabFile := c.String("bundle")
|
||||
|
||||
@ -110,71 +110,71 @@ func UpCommand() cli.Command {
|
||||
}
|
||||
|
||||
// PsCommand defines the kompose ps subcommand.
|
||||
func PsCommand() cli.Command {
|
||||
return cli.Command{
|
||||
Name: "ps",
|
||||
Usage: "Get active data in the kubernetes cluster",
|
||||
Action: func(c *cli.Context) {
|
||||
app.Ps(c)
|
||||
},
|
||||
Flags: []cli.Flag{
|
||||
cli.BoolFlag{
|
||||
Name: "service,svc",
|
||||
Usage: "Get active services",
|
||||
},
|
||||
cli.BoolFlag{
|
||||
Name: "replicationcontroller,rc",
|
||||
Usage: "Get active replication controller",
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
//func PsCommand() cli.Command {
|
||||
// return cli.Command{
|
||||
// Name: "ps",
|
||||
// Usage: "Get active data in the kubernetes cluster",
|
||||
// Action: func(c *cli.Context) {
|
||||
// app.Ps(c)
|
||||
// },
|
||||
// Flags: []cli.Flag{
|
||||
// cli.BoolFlag{
|
||||
// Name: "service,svc",
|
||||
// Usage: "Get active services",
|
||||
// },
|
||||
// cli.BoolFlag{
|
||||
// Name: "replicationcontroller,rc",
|
||||
// Usage: "Get active replication controller",
|
||||
// },
|
||||
// },
|
||||
// }
|
||||
//}
|
||||
|
||||
// DeleteCommand defines the kompose delete subcommand.
|
||||
func DeleteCommand() cli.Command {
|
||||
return cli.Command{
|
||||
Name: "delete",
|
||||
Usage: "Remove instantiated services/rc from kubernetes",
|
||||
Action: func(c *cli.Context) {
|
||||
app.Delete(c)
|
||||
},
|
||||
Flags: []cli.Flag{
|
||||
cli.BoolFlag{
|
||||
Name: "replicationcontroller,rc",
|
||||
Usage: "Remove active replication controllers",
|
||||
},
|
||||
cli.BoolFlag{
|
||||
Name: "service,svc",
|
||||
Usage: "Remove active services",
|
||||
},
|
||||
cli.StringFlag{
|
||||
Name: "name",
|
||||
Usage: "Name of the object to remove",
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
//func DeleteCommand() cli.Command {
|
||||
// return cli.Command{
|
||||
// Name: "delete",
|
||||
// Usage: "Remove instantiated services/rc from kubernetes",
|
||||
// Action: func(c *cli.Context) {
|
||||
// app.Delete(c)
|
||||
// },
|
||||
// Flags: []cli.Flag{
|
||||
// cli.BoolFlag{
|
||||
// Name: "replicationcontroller,rc",
|
||||
// Usage: "Remove active replication controllers",
|
||||
// },
|
||||
// cli.BoolFlag{
|
||||
// Name: "service,svc",
|
||||
// Usage: "Remove active services",
|
||||
// },
|
||||
// cli.StringFlag{
|
||||
// Name: "name",
|
||||
// Usage: "Name of the object to remove",
|
||||
// },
|
||||
// },
|
||||
// }
|
||||
//}
|
||||
|
||||
// ScaleCommand defines the kompose up subcommand.
|
||||
func ScaleCommand() cli.Command {
|
||||
return cli.Command{
|
||||
Name: "scale",
|
||||
Usage: "Globally scale instantiated replication controllers",
|
||||
Action: func(c *cli.Context) {
|
||||
app.Scale(c)
|
||||
},
|
||||
Flags: []cli.Flag{
|
||||
cli.IntFlag{
|
||||
Name: "scale",
|
||||
Usage: "New number of replicas",
|
||||
},
|
||||
cli.StringFlag{
|
||||
Name: "replicationcontroller,rc",
|
||||
Usage: "A specific replication controller to scale",
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
//func ScaleCommand() cli.Command {
|
||||
// return cli.Command{
|
||||
// Name: "scale",
|
||||
// Usage: "Globally scale instantiated replication controllers",
|
||||
// Action: func(c *cli.Context) {
|
||||
// app.Scale(c)
|
||||
// },
|
||||
// Flags: []cli.Flag{
|
||||
// cli.IntFlag{
|
||||
// Name: "scale",
|
||||
// Usage: "New number of replicas",
|
||||
// },
|
||||
// cli.StringFlag{
|
||||
// Name: "replicationcontroller,rc",
|
||||
// Usage: "A specific replication controller to scale",
|
||||
// },
|
||||
// },
|
||||
// }
|
||||
//}
|
||||
|
||||
// CommonFlags defines the flags that are in common for all subcommands.
|
||||
func CommonFlags() []cli.Flag {
|
||||
|
||||
@ -30,7 +30,7 @@ import (
|
||||
type Bundle struct {
|
||||
}
|
||||
|
||||
// load Image from bundles file
|
||||
// load image from dab file
|
||||
func loadImage(service bundlefile.Service) (string, string) {
|
||||
character := "@"
|
||||
if strings.Contains(service.Image, character) {
|
||||
@ -39,8 +39,8 @@ func loadImage(service bundlefile.Service) (string, string) {
|
||||
return "", "Invalid image format"
|
||||
}
|
||||
|
||||
// load Environment Variable from bundles file
|
||||
func loadEnvVarsfromBundle(service bundlefile.Service) ([]kobject.EnvVar, string) {
|
||||
// load environment variables from dab file
|
||||
func loadEnvVars(service bundlefile.Service) ([]kobject.EnvVar, string) {
|
||||
envs := []kobject.EnvVar{}
|
||||
for _, env := range service.Env {
|
||||
character := "="
|
||||
@ -76,8 +76,8 @@ func loadEnvVarsfromBundle(service bundlefile.Service) ([]kobject.EnvVar, string
|
||||
return envs, ""
|
||||
}
|
||||
|
||||
// load Ports from bundles file
|
||||
func loadPortsfromBundle(service bundlefile.Service) ([]kobject.Ports, string) {
|
||||
// load ports from dab file
|
||||
func loadPorts(service bundlefile.Service) ([]kobject.Ports, string) {
|
||||
ports := []kobject.Ports{}
|
||||
for _, port := range service.Ports {
|
||||
var p api.Protocol
|
||||
@ -98,7 +98,7 @@ func loadPortsfromBundle(service bundlefile.Service) ([]kobject.Ports, string) {
|
||||
return ports, ""
|
||||
}
|
||||
|
||||
// load Bundlefile into KomposeObject
|
||||
// load dab file into KomposeObject
|
||||
func (b *Bundle) LoadFile(file string) kobject.KomposeObject {
|
||||
komposeObject := kobject.KomposeObject{
|
||||
ServiceConfigs: make(map[string]kobject.ServiceConfig),
|
||||
@ -129,13 +129,13 @@ func (b *Bundle) LoadFile(file string) kobject.KomposeObject {
|
||||
}
|
||||
serviceConfig.Image = image
|
||||
|
||||
envs, err := loadEnvVarsfromBundle(service)
|
||||
envs, err := loadEnvVars(service)
|
||||
if err != "" {
|
||||
logrus.Fatalf("Failed to load envvar from bundles file: " + err)
|
||||
}
|
||||
serviceConfig.Environment = envs
|
||||
|
||||
ports, err := loadPortsfromBundle(service)
|
||||
ports, err := loadPorts(service)
|
||||
if err != "" {
|
||||
logrus.Fatalf("Failed to load ports from bundles file: " + err)
|
||||
}
|
||||
|
||||
@ -36,8 +36,8 @@ import (
|
||||
type Compose struct {
|
||||
}
|
||||
|
||||
// load Environment Variable from compose file
|
||||
func loadEnvVarsfromCompose(e map[string]string) []kobject.EnvVar {
|
||||
// load environment variables from compose file
|
||||
func loadEnvVars(e map[string]string) []kobject.EnvVar {
|
||||
envs := []kobject.EnvVar{}
|
||||
for k, v := range e {
|
||||
envs = append(envs, kobject.EnvVar{
|
||||
@ -48,8 +48,8 @@ func loadEnvVarsfromCompose(e map[string]string) []kobject.EnvVar {
|
||||
return envs
|
||||
}
|
||||
|
||||
// Load Ports from compose file
|
||||
func loadPortsFromCompose(composePorts []string) ([]kobject.Ports, error) {
|
||||
// Load ports from compose file
|
||||
func loadPorts(composePorts []string) ([]kobject.Ports, error) {
|
||||
ports := []kobject.Ports{}
|
||||
character := ":"
|
||||
for _, port := range composePorts {
|
||||
@ -87,7 +87,7 @@ func loadPortsFromCompose(composePorts []string) ([]kobject.Ports, error) {
|
||||
return ports, nil
|
||||
}
|
||||
|
||||
// load Docker Compose file into KomposeObject
|
||||
// load compose file into KomposeObject
|
||||
func (c *Compose) LoadFile(file string) kobject.KomposeObject {
|
||||
komposeObject := kobject.KomposeObject{
|
||||
ServiceConfigs: make(map[string]kobject.ServiceConfig),
|
||||
@ -152,11 +152,11 @@ func (c *Compose) LoadFile(file string) kobject.KomposeObject {
|
||||
serviceConfig.ContainerName = composeServiceConfig.ContainerName
|
||||
|
||||
// load environment variables
|
||||
envs := loadEnvVarsfromCompose(composeServiceConfig.Environment.ToMap())
|
||||
envs := loadEnvVars(composeServiceConfig.Environment.ToMap())
|
||||
serviceConfig.Environment = envs
|
||||
|
||||
// load ports
|
||||
ports, err := loadPortsFromCompose(composeServiceConfig.Ports)
|
||||
ports, err := loadPorts(composeServiceConfig.Ports)
|
||||
if err != nil {
|
||||
logrus.Fatalf("%q failed to load ports from compose file: %v", name, err)
|
||||
}
|
||||
|
||||
@ -223,7 +223,7 @@ func PortsExist(name string, service kobject.ServiceConfig) bool {
|
||||
}
|
||||
}
|
||||
|
||||
// create a kubernetes Service
|
||||
// create a k8s service
|
||||
func CreateService(name string, service kobject.ServiceConfig, objects []runtime.Object) *api.Service {
|
||||
svc := InitSvc(name, service)
|
||||
|
||||
@ -238,6 +238,7 @@ func CreateService(name string, service kobject.ServiceConfig, objects []runtime
|
||||
return svc
|
||||
}
|
||||
|
||||
// load configurations to k8s objects
|
||||
func UpdateKubernetesObjects(name string, service kobject.ServiceConfig, objects []runtime.Object) {
|
||||
// Configure the environment variables.
|
||||
envs := ConfigEnvs(name, service)
|
||||
|
||||
@ -214,7 +214,7 @@ func ConfigEnvs(name string, service kobject.ServiceConfig) []api.EnvVar {
|
||||
return envs
|
||||
}
|
||||
|
||||
// Generate a Kubernetes artifacts for each input type service
|
||||
// Generate a Kubernetes artifact for each input type service
|
||||
func CreateKubernetesObjects(name string, service kobject.ServiceConfig, opt kobject.ConvertOptions) []runtime.Object {
|
||||
var objects []runtime.Object
|
||||
|
||||
@ -231,6 +231,7 @@ func CreateKubernetesObjects(name string, service kobject.ServiceConfig, opt kob
|
||||
return objects
|
||||
}
|
||||
|
||||
// Maps komposeObject to k8s objects
|
||||
func (k *Kubernetes) Transform(komposeObject kobject.KomposeObject, opt kobject.ConvertOptions) []runtime.Object {
|
||||
// this will hold all the converted data
|
||||
var allobjects []runtime.Object
|
||||
@ -252,7 +253,7 @@ func (k *Kubernetes) Transform(komposeObject kobject.KomposeObject, opt kobject.
|
||||
return allobjects
|
||||
}
|
||||
|
||||
// updateController updates the given object with the given pod template update function and ObjectMeta update function
|
||||
// Updates the given object with the given pod template update function and ObjectMeta update function
|
||||
func UpdateController(obj runtime.Object, updateTemplate func(*api.PodTemplateSpec), updateMeta func(meta *api.ObjectMeta)) {
|
||||
switch t := obj.(type) {
|
||||
case *api.ReplicationController:
|
||||
@ -273,6 +274,7 @@ func UpdateController(obj runtime.Object, updateTemplate func(*api.PodTemplateSp
|
||||
}
|
||||
}
|
||||
|
||||
// Submit deployment and svc to k8s endpoint
|
||||
func CreateObjects(client *client.Client, objects []runtime.Object) {
|
||||
for _, v := range objects {
|
||||
switch t := v.(type) {
|
||||
|
||||
@ -62,6 +62,7 @@ func initDeploymentConfig(name string, service kobject.ServiceConfig, replicas i
|
||||
return dc
|
||||
}
|
||||
|
||||
// Maps komposeObject to openshift objects
|
||||
func (k *OpenShift) Transform(komposeObject kobject.KomposeObject, opt kobject.ConvertOptions) []runtime.Object {
|
||||
// this will hold all the converted data
|
||||
var allobjects []runtime.Object
|
||||
|
||||
Loading…
Reference in New Issue
Block a user