Skip to content

Commit

Permalink
fix ingress creation, use the ingress host in Kubeconfig when enabled
Browse files Browse the repository at this point in the history
  • Loading branch information
jp-gouin committed Jan 24, 2025
1 parent ec93371 commit 6afed74
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 4 deletions.
3 changes: 3 additions & 0 deletions pkg/controller/cluster/server/ingress.go
Original file line number Diff line number Diff line change
Expand Up @@ -91,3 +91,6 @@ func configureIngressOptions(ingress *networkingv1.Ingress, ingressClassName str
ingress.Annotations[nginxBackendProtocolAnnotation] = "HTTPS"
}
}
func IngressName(clusterName string) string {
return controller.SafeConcatNameWithPrefix(clusterName, "ingress")
}
4 changes: 1 addition & 3 deletions pkg/controller/controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -68,12 +68,10 @@ func Addresses(ctx context.Context, client ctrlruntimeclient.Client) ([]string,
if err := client.List(ctx, &nodeList); err != nil {
return nil, err
}

addresses := make([]string, len(nodeList.Items))
addresses := []string{}
for _, node := range nodeList.Items {
addresses = append(addresses, nodeAddress(&node))
}

return addresses, nil
}

Expand Down
14 changes: 13 additions & 1 deletion pkg/controller/kubeconfig/kubeconfig.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import (
"github.com/rancher/k3k/pkg/controller/cluster/server"
"github.com/rancher/k3k/pkg/controller/cluster/server/bootstrap"
v1 "k8s.io/api/core/v1"
networkingv1 "k8s.io/api/networking/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/client-go/tools/clientcmd"
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
Expand Down Expand Up @@ -62,7 +63,6 @@ func (k *KubeConfig) Extract(ctx context.Context, client client.Client, cluster
Name: server.ServiceName(cluster.Name),
Namespace: cluster.Namespace,
}

var k3kService v1.Service
if err := client.Get(ctx, nn, &k3kService); err != nil {
return nil, err
Expand All @@ -73,6 +73,18 @@ func (k *KubeConfig) Extract(ctx context.Context, client client.Client, cluster
nodePort := k3kService.Spec.Ports[0].NodePort
url = fmt.Sprintf("https://%s:%d", hostServerIP, nodePort)
}
if cluster.Spec.Expose.Ingress.Enabled {
var k3kIngress networkingv1.Ingress
nn = types.NamespacedName{
Name: server.IngressName(cluster.Name),
Namespace: cluster.Namespace,
}

if err := client.Get(ctx, nn, &k3kIngress); err != nil {
return nil, err
}
url = fmt.Sprintf("https://%s", k3kIngress.Spec.Rules[0].Host)
}
kubeconfigData, err := kubeconfig(url, []byte(bootstrap.ServerCA.Content), adminCert, adminKey)
if err != nil {
return nil, err
Expand Down

0 comments on commit 6afed74

Please sign in to comment.