From b1b2153f4c78d93928eca74bc92106b0726aa686 Mon Sep 17 00:00:00 2001 From: Johann Wagner Date: Wed, 10 Jul 2024 14:27:40 +0200 Subject: [PATCH] fix(ipv6): Use net.JoinHostPort instead of fmt.Sprintf --- internal/datastore/datastore.go | 2 +- internal/resources/k8s_service_resource.go | 6 +++--- internal/resources/kubeadm_config.go | 5 +++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/internal/datastore/datastore.go b/internal/datastore/datastore.go index 8be10997..484271bd 100644 --- a/internal/datastore/datastore.go +++ b/internal/datastore/datastore.go @@ -23,7 +23,7 @@ type ConnectionEndpoint struct { } func (r ConnectionEndpoint) String() string { - return fmt.Sprintf("%s:%d", r.Host, r.Port) + return net.JoinHostPort(r.Host, strconv.FormatInt(int64(r.Port), 10)) } type ConnectionConfig struct { diff --git a/internal/resources/k8s_service_resource.go b/internal/resources/k8s_service_resource.go index cf9ad4be..cae7f3fe 100644 --- a/internal/resources/k8s_service_resource.go +++ b/internal/resources/k8s_service_resource.go @@ -5,7 +5,8 @@ package resources import ( "context" - "fmt" + "net" + "strconv" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -53,8 +54,7 @@ func (r *KubernetesServiceResource) UpdateTenantControlPlaneStatus(ctx context.C return err } - - tenantControlPlane.Status.ControlPlaneEndpoint = fmt.Sprintf("%s:%d", address, tenantControlPlane.Spec.NetworkProfile.Port) + tenantControlPlane.Status.ControlPlaneEndpoint = net.JoinHostPort(address, strconv.FormatInt(int64(tenantControlPlane.Spec.NetworkProfile.Port), 10)) return nil } diff --git a/internal/resources/kubeadm_config.go b/internal/resources/kubeadm_config.go index 9cb15765..743b013e 100644 --- a/internal/resources/kubeadm_config.go +++ b/internal/resources/kubeadm_config.go @@ -5,7 +5,8 @@ package resources import ( "context" - "fmt" + "net" + "strconv" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -74,7 +75,7 @@ func (r *KubeadmConfigResource) getControlPlaneEndpoint(ingress *kamajiv1alpha1. address, port = utilities.GetControlPlaneAddressAndPortFromHostname(ingress.Hostname, port) } - return fmt.Sprintf("%s:%d", address, port) + return net.JoinHostPort(address, strconv.FormatInt(int64(port), 10)) } func (r *KubeadmConfigResource) mutate(ctx context.Context, tenantControlPlane *kamajiv1alpha1.TenantControlPlane) controllerutil.MutateFn {