目录
概述
此文完成 kube-platform 平台的第一个接口 namespace 列表返回。
kube-platform
从平台搭建至完成第一个接口,至此基本框架就已成型,在此对几篇文章做整理。
效果图如下:
实践
代码
package k8s
import (
"context"
"net/http"
"github.com/gin-gonic/gin"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"kube-platfor.com/global"
"kube-platfor.com/model/namespace/response"
)
type NamespaceApi struct {
}
func (*NamespaceApi) GetNamespaceList(c *gin.Context) {
ctx := context.TODO()
list, err := global.KubeConfigSet.CoreV1().Namespaces().List(ctx, metav1.ListOptions{})
if err != nil {
c.JSON(http.StatusInternalServerError, gin.H{
"data": err.Error(),
})
return
}
NamespaceList := make([]response.Namespace, 0)
for _, item := range list.Items {
NamespaceList = append(NamespaceList, response.Namespace{
Name: item.Name,
CreationTimestamp: item.CreationTimestamp.Unix(),
Status: string(item.Status.Phase),
})
}
c.JSON(http.StatusOK, gin.H{
"data": NamespaceList,
"msg": "获取数据成功",
})
}