code: func (c *Cloud) buildTargetGroupName(serviceName types.NamespacedName, servicePort int64, targetProtocol string, targetType string) string {
  	hasher := sha1.New()
  	_, _ = hasher.Write([]byte(c.tagging.clusterID()))
  	_, _ = hasher.Write([]byte(serviceName.Namespace))
  	_, _ = hasher.Write([]byte(serviceName.Name))
  	_, _ = hasher.Write([]byte(strconv.FormatInt(servicePort, 10)))
  	_, _ = hasher.Write([]byte(targetProtocol))
  	_, _ = hasher.Write([]byte(targetType))
  	tgUUID := hex.EncodeToString(hasher.Sum(nil))
  
  	sanitizedNamespace := invalidELBV2NameRegex.ReplaceAllString(serviceName.Namespace, "")
  	sanitizedServiceName := invalidELBV2NameRegex.ReplaceAllString(serviceName.Name, "")
  	return fmt.Sprintf("k8s-%.8s-%.8s-%.10s", sanitizedNamespace, sanitizedServiceName, tgUUID)
  }
docs: // buildTargetGroupName will build unique name for targetGroup of service & port.
  // the name is in format k8s-{namespace:8}-{name:8}-{uuid:10} (chosen to benefit most common use cases).
  // Note: targetProtocol & targetType are included since they cannot be modified on existing targetGroup.