func writeKubeconfig()

in internal/deployers/eksapi/kubeconfig.go [49:79]


func writeKubeconfig(cluster *Cluster, kubeconfigPath string) error {
	if cluster == nil {
		return fmt.Errorf("Cluster is nil, you might need set --static-cluster-name or set --up to initial cluster resrouces")
	}
	klog.Infof("writing kubeconfig to %s for cluster: %s", kubeconfigPath, cluster.arn)
	templateParams := kubeconfigTemplateParameters{
		ClusterCertificateAuthority: cluster.certificateAuthorityData,
		ClusterARN:                  cluster.arn,
		ClusterEndpoint:             cluster.endpoint,
		ClusterName:                 cluster.name,
	}

	kubeconfig := bytes.Buffer{}

	t, err := template.New("kubeconfig").Parse(kubeconfigTemplate)
	if err != nil {
		return err
	}
	err = t.Execute(&kubeconfig, templateParams)
	if err != nil {
		return err
	}

	err = os.WriteFile(kubeconfigPath, kubeconfig.Bytes(), kubeconfigPerm)
	if err != nil {
		return err
	}

	klog.Infof("wrote kubeconfig: %s\n%s", kubeconfigPath, kubeconfig.String())
	return nil
}