Use correct cluster name when importing images into k3d

This commit is contained in:
Alejandro Ruiz 2025-01-21 16:27:23 +01:00
parent e6156ad134
commit f6b58e5c86
5 changed files with 12 additions and 11 deletions

View File

@ -162,8 +162,7 @@ func importImageIntoK3d(tf *tofu.Tofu, image string, cluster tofu.Cluster) error
}
if len(images) > 0 {
err = k3d.ImageImport(cluster, images[0])
if err != nil {
if err := k3d.ImageImport(cluster.Name, images[0]); err != nil {
return err
}
}

View File

@ -21,12 +21,11 @@ import (
"os"
"strings"
"github.com/rancher/dartboard/internal/tofu"
"github.com/rancher/dartboard/internal/vendored"
)
func ImageImport(cluster tofu.Cluster, image string) error {
args := []string{"image", "import", "--cluster", strings.Replace(cluster.Context, "k3d-", "", -1), image}
func ImageImport(k3dClusterName string, image string) error {
args := []string{"image", "import", "--cluster", k3dClusterName, image}
cmd := vendored.Command("k3d", args...)
var errStream strings.Builder

View File

@ -52,6 +52,7 @@ type Addresses struct {
type Cluster struct {
AppAddresses ClusterAppAddresses `json:"app_addresses"`
Name string `json:"name"`
Context string `json:"context"`
IngressClassName string `json:"ingress_class_name"`
Kubeconfig string `json:"kubeconfig"`

View File

@ -325,6 +325,7 @@ resource "k3d_cluster" "cluster" {
locals {
local_kubernetes_api_url = nonsensitive(k3d_cluster.cluster[0].credentials[0].host)
k3d_cluster_name = "${var.project_name}-${var.name}"
}
resource "local_file" "kubeconfig" {
@ -337,19 +338,19 @@ resource "local_file" "kubeconfig" {
certificate-authority-data = base64encode(k3d_cluster.cluster[0].credentials[0].cluster_ca_certificate)
server = local.local_kubernetes_api_url
}
name = "k3d-${var.project_name}-${var.name}"
name = "k3d-${local.k3d_cluster_name}"
}
]
contexts = [
{
context = {
cluster = "k3d-${var.project_name}-${var.name}"
user : "admin@k3d-${var.project_name}-${var.name}"
cluster = "k3d-${local.k3d_cluster_name}"
user : "admin@k3d-${local.k3d_cluster_name}"
}
name = "k3d-${var.project_name}-${var.name}"
name = "k3d-${local.k3d_cluster_name}"
}
]
current-context = "k3d-${var.project_name}-${var.name}"
current-context = "k3d-${local.k3d_cluster_name}"
kind = "Config"
preferences = {}
users = [
@ -358,7 +359,7 @@ resource "local_file" "kubeconfig" {
client-certificate-data : base64encode(k3d_cluster.cluster[0].credentials[0].client_certificate)
client-key-data : base64encode(k3d_cluster.cluster[0].credentials[0].client_key)
}
name : "admin@k3d-${var.project_name}-${var.name}"
name : "admin@k3d-${local.k3d_cluster_name}"
}
]
})

View File

@ -2,6 +2,7 @@ output "config" {
value = {
kubeconfig = var.server_count > 0 ? abspath(local_file.kubeconfig[0].filename) : null
context = var.name
name = local.k3d_cluster_name
// addresses of the Kubernetes API server
kubernetes_addresses = {