Refactor label names to const strings

This commit is contained in:
Hang Yan 2018-02-25 14:32:00 +08:00
parent bccc56373c
commit a1090ecbf9
3 changed files with 18 additions and 9 deletions

View File

@ -26,6 +26,15 @@ import (
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api"
) )
const (
// LabelServiceType defines the type of service to be created
LabelServiceType = "kompose.service.type"
// LabelServiceExpose defines if the service needs to be made accessible from outside the cluster or not
LabelServiceExpose = "kompose.service.expose"
// LabelServiceExposeTLSSecret provides the name of the TLS secret to use with the Kubernetes ingress controller
LabelServiceExposeTLSSecret = "kompose.service.expose.tls-secret"
)
// load environment variables from compose file // load environment variables from compose file
func loadEnvVars(envars []string) []kobject.EnvVar { func loadEnvVars(envars []string) []kobject.EnvVar {
envs := []kobject.EnvVar{} envs := []kobject.EnvVar{}

View File

@ -233,25 +233,25 @@ func libComposeToKomposeMapping(composeObject *project.Project) (kobject.Kompose
serviceConfig.Labels = make(map[string]string) serviceConfig.Labels = make(map[string]string)
for key, value := range composeServiceConfig.Labels { for key, value := range composeServiceConfig.Labels {
switch key { switch key {
case "kompose.service.type": case LabelServiceType:
serviceType, err := handleServiceType(value) serviceType, err := handleServiceType(value)
if err != nil { if err != nil {
return kobject.KomposeObject{}, errors.Wrap(err, "handleServiceType failed") return kobject.KomposeObject{}, errors.Wrap(err, "handleServiceType failed")
} }
serviceConfig.ServiceType = serviceType serviceConfig.ServiceType = serviceType
case "kompose.service.expose": case LabelServiceExpose:
serviceConfig.ExposeService = strings.ToLower(value) serviceConfig.ExposeService = strings.ToLower(value)
case "kompose.service.expose.tls-secret": case LabelServiceExposeTLSSecret:
serviceConfig.ExposeServiceTLS = value serviceConfig.ExposeServiceTLS = value
default: default:
serviceConfig.Labels[key] = value serviceConfig.Labels[key] = value
} }
} }
if serviceConfig.ExposeService == "" && serviceConfig.ExposeServiceTLS != "" { if serviceConfig.ExposeService == "" && serviceConfig.ExposeServiceTLS != "" {
return kobject.KomposeObject{}, errors.New("kompose.service.expose.tls-secret was specifed without kompose.service.expose") return kobject.KomposeObject{}, errors.New("kompose.service.expose.tls-secret was specified without kompose.service.expose")
} }
err = checkLabelsPorts(len(serviceConfig.Port), composeServiceConfig.Labels["kompose.service.type"], name) err = checkLabelsPorts(len(serviceConfig.Port), composeServiceConfig.Labels[LabelServiceType], name)
if err != nil { if err != nil {
return kobject.KomposeObject{}, errors.Wrap(err, "kompose.service.type can't be set if service doesn't expose any ports.") return kobject.KomposeObject{}, errors.Wrap(err, "kompose.service.type can't be set if service doesn't expose any ports.")
} }

View File

@ -353,22 +353,22 @@ func dockerComposeToKomposeMapping(composeObject *types.Config) (kobject.Kompose
// from here for docker-compose. Each loader will have such handler. // from here for docker-compose. Each loader will have such handler.
for key, value := range composeServiceConfig.Labels { for key, value := range composeServiceConfig.Labels {
switch key { switch key {
case "kompose.service.type": case LabelServiceType:
serviceType, err := handleServiceType(value) serviceType, err := handleServiceType(value)
if err != nil { if err != nil {
return kobject.KomposeObject{}, errors.Wrap(err, "handleServiceType failed") return kobject.KomposeObject{}, errors.Wrap(err, "handleServiceType failed")
} }
serviceConfig.ServiceType = serviceType serviceConfig.ServiceType = serviceType
case "kompose.service.expose": case LabelServiceExpose:
serviceConfig.ExposeService = strings.ToLower(value) serviceConfig.ExposeService = strings.ToLower(value)
case "kompose.service.expose.tls-secret": case LabelServiceExposeTLSSecret:
serviceConfig.ExposeServiceTLS = value serviceConfig.ExposeServiceTLS = value
} }
} }
if serviceConfig.ExposeService == "" && serviceConfig.ExposeServiceTLS != "" { if serviceConfig.ExposeService == "" && serviceConfig.ExposeServiceTLS != "" {
return kobject.KomposeObject{}, errors.New("kompose.service.expose.tls-secret was specifed without kompose.service.expose") return kobject.KomposeObject{}, errors.New("kompose.service.expose.tls-secret was specified without kompose.service.expose")
} }
// Log if the name will been changed // Log if the name will been changed