forked from LaconicNetwork/kompose
feat: support external traffic policy
Signed-off-by: AhmedGrati <ahmedgrati1999@gmail.com>
This commit is contained in:
@@ -698,6 +698,13 @@ func parseKomposeLabels(labels map[string]string, serviceConfig *kobject.Service
|
||||
}
|
||||
|
||||
serviceConfig.ServiceType = serviceType
|
||||
case LabelServiceExternalTrafficPolicy:
|
||||
serviceExternalTypeTrafficPolicy, err := handleServiceExternalTrafficPolicy(value)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "handleServiceExternalTrafficPolicy failed")
|
||||
}
|
||||
|
||||
serviceConfig.ServiceExternalTrafficPolicy = serviceExternalTypeTrafficPolicy
|
||||
case LabelServiceExpose:
|
||||
serviceConfig.ExposeService = strings.Trim(strings.ToLower(value), " ,")
|
||||
case LabelNodePortPort:
|
||||
|
||||
@@ -32,6 +32,8 @@ import (
|
||||
const (
|
||||
// LabelServiceType defines the type of service to be created
|
||||
LabelServiceType = "kompose.service.type"
|
||||
// LabelServiceExternalTrafficPolicy defines the external policy traffic of service to be created
|
||||
LabelServiceExternalTrafficPolicy = "kompose.service.external-traffic-policy"
|
||||
// LabelServiceGroup defines the group of services in a single pod
|
||||
LabelServiceGroup = "kompose.service.group"
|
||||
// LabelNodePortPort defines the port value for NodePort service
|
||||
@@ -151,6 +153,17 @@ func handleServiceType(ServiceType string) (string, error) {
|
||||
}
|
||||
}
|
||||
|
||||
func handleServiceExternalTrafficPolicy(ServiceExternalTrafficPolicyType string) (string, error) {
|
||||
switch strings.ToLower(ServiceExternalTrafficPolicyType) {
|
||||
case "", "cluster":
|
||||
return string(api.ServiceExternalTrafficPolicyTypeCluster), nil
|
||||
case "local":
|
||||
return string(api.ServiceExternalTrafficPolicyTypeLocal), nil
|
||||
default:
|
||||
return "", errors.New("Unknown value " + ServiceExternalTrafficPolicyType + " , supported values are 'local, cluster'")
|
||||
}
|
||||
}
|
||||
|
||||
func normalizeContainerNames(svcName string) string {
|
||||
return strings.ToLower(svcName)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user