...

Source file src/edge-infra.dev/pkg/edge/iam/config/edge.go

Documentation: edge-infra.dev/pkg/edge/iam/config

     1  package config
     2  
     3  import (
     4  	"context"
     5  	"fmt"
     6  
     7  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
     8  	"k8s.io/client-go/kubernetes"
     9  	"k8s.io/client-go/rest"
    10  )
    11  
    12  type EdgeInfo struct {
    13  	ClusterEdgeID string
    14  }
    15  
    16  func getEdgeInfo() (*EdgeInfo, error) {
    17  	config, err := rest.InClusterConfig()
    18  	if err != nil {
    19  		return nil, fmt.Errorf("failed to create in-cluster config. %v", err.Error())
    20  	}
    21  
    22  	clientset, err := kubernetes.NewForConfig(config)
    23  	if err != nil {
    24  		return nil, fmt.Errorf("failed to create clientset. %v", err.Error())
    25  	}
    26  
    27  	cm := clientset.CoreV1().ConfigMaps("kube-public")
    28  	edgeConfigmap, err := cm.Get(context.Background(), "edge-info", metav1.GetOptions{})
    29  	if err != nil {
    30  		return nil, fmt.Errorf("failed to get edge-info configmap. %v", err.Error())
    31  	}
    32  
    33  	edgeInfo := &EdgeInfo{
    34  		ClusterEdgeID: edgeConfigmap.Data["cluster.edge.id"],
    35  	}
    36  
    37  	return edgeInfo, nil
    38  }
    39  

View as plain text