mirror of
				https://github.com/1Panel-dev/KubePi.git
				synced 2025-10-31 10:36:27 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			38 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package cluster
 | |
| 
 | |
| import (
 | |
| 	goContext "context"
 | |
| 	"fmt"
 | |
| 	"github.com/KubeOperator/ekko/internal/service/v1/common"
 | |
| 	"github.com/KubeOperator/ekko/pkg/kubernetes"
 | |
| 	"github.com/kataras/iris/v12"
 | |
| 	"github.com/kataras/iris/v12/context"
 | |
| 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 | |
| )
 | |
| 
 | |
| func (h *Handler) ListNamespace() iris.Handler {
 | |
| 	return func(ctx *context.Context) {
 | |
| 		name := ctx.Params().GetString("name")
 | |
| 		c, err := h.clusterService.Get(name, common.DBOptions{})
 | |
| 		if err != nil {
 | |
| 			ctx.StatusCode(iris.StatusInternalServerError)
 | |
| 			ctx.Values().Set("message", fmt.Sprintf("get cluster failed: %s", err.Error()))
 | |
| 			return
 | |
| 		}
 | |
| 		k := kubernetes.NewKubernetes(*c)
 | |
| 		client, err := k.Client()
 | |
| 		if err != nil {
 | |
| 			ctx.StatusCode(iris.StatusInternalServerError)
 | |
| 			ctx.Values().Set("message", fmt.Sprintf("get k8s client failed: %s", err.Error()))
 | |
| 			return
 | |
| 		}
 | |
| 		ns, err := client.CoreV1().Namespaces().List(goContext.TODO(), metav1.ListOptions{})
 | |
| 		if err != nil {
 | |
| 			ctx.StatusCode(iris.StatusInternalServerError)
 | |
| 			ctx.Values().Set("message", fmt.Sprintf("get k8s client failed: %s", err.Error()))
 | |
| 			return
 | |
| 		}
 | |
| 		ctx.Values().Set("data", ns.Items)
 | |
| 	}
 | |
| }
 | 
