DKube v1.0

This commit is contained in:
DingQz
2022-10-12 10:34:43 +08:00
parent 7f9aae166e
commit 10abbb0fb3
46 changed files with 3154 additions and 153 deletions

View File

@ -11,7 +11,6 @@ var Pod pod
type pod struct{}
// GetPods 获取Pod列表支持分页、过滤、排序
func (p *pod) GetPods(ctx *gin.Context) {
params := new(struct {
FilterName string `form:"filter_name"`
@ -19,15 +18,15 @@ func (p *pod) GetPods(ctx *gin.Context) {
Limit int `form:"limit"`
Page int `form:"page"`
})
if err := ctx.Bind(params); err != nil {
logger.Error("Bind绑定参数失败" + err.Error())
ctx.JSON(http.StatusInternalServerError, gin.H{
"msg": "Bind参数绑定失败" + err.Error(),
"msg": "Bind绑定参数失败" + err.Error(),
"data": nil,
})
return
}
data, err := service.Pod.GetPods(params.FilterName, params.Namespace, params.Limit, params.Page)
if err != nil {
ctx.JSON(http.StatusInternalServerError, gin.H{
@ -36,27 +35,27 @@ func (p *pod) GetPods(ctx *gin.Context) {
})
return
}
ctx.JSON(http.StatusOK, gin.H{
"msg": "获取Pod列表成功",
"data": data,
})
}
//获取Pod详情
func (p *pod) GetPodDetail(ctx *gin.Context) {
params := new(struct {
PodName string `form:"pod_name"`
Namespace string `form:"namespace"`
})
if err := ctx.Bind(params); err != nil {
logger.Error("Bind绑定参数失败" + err.Error())
ctx.JSON(http.StatusInternalServerError, gin.H{
"msg": "Bind参数绑定失败" + err.Error(),
"msg": "Bind绑定参数失败" + err.Error(),
"data": nil,
})
return
}
data, err := service.Pod.GetPodDetail(params.PodName, params.Namespace)
if err != nil {
ctx.JSON(http.StatusInternalServerError, gin.H{
@ -65,13 +64,13 @@ func (p *pod) GetPodDetail(ctx *gin.Context) {
})
return
}
ctx.JSON(http.StatusOK, gin.H{
"msg": "获取Pod列表成功",
"data": data,
})
}
//删除Pod
func (p *pod) DeletePod(ctx *gin.Context) {
params := new(struct {
PodName string `json:"pod_name"`
@ -81,12 +80,11 @@ func (p *pod) DeletePod(ctx *gin.Context) {
if err := ctx.ShouldBindJSON(params); err != nil {
logger.Error("Bind绑定参数失败" + err.Error())
ctx.JSON(http.StatusInternalServerError, gin.H{
"msg": "Bind参数绑定失败" + err.Error(),
"msg": "Bind绑定参数失败" + err.Error(),
"data": nil,
})
return
}
err := service.Pod.DeletePod(params.PodName, params.Namespace)
if err != nil {
ctx.JSON(http.StatusInternalServerError, gin.H{
@ -95,13 +93,13 @@ func (p *pod) DeletePod(ctx *gin.Context) {
})
return
}
ctx.JSON(http.StatusOK, gin.H{
"msg": "删除Pod成功",
"data": nil,
})
}
//更新Pod
func (p *pod) UpdatePod(ctx *gin.Context) {
params := new(struct {
Namespace string `json:"namespace"`
@ -109,14 +107,13 @@ func (p *pod) UpdatePod(ctx *gin.Context) {
})
if err := ctx.ShouldBindJSON(params); err != nil {
logger.Error("Bind绑定参数失败" + err.Error())
logger.Error("Bind请求参数失败, " + err.Error())
ctx.JSON(http.StatusInternalServerError, gin.H{
"msg": "Bind参数绑定失败" + err.Error(),
"msg": err.Error(),
"data": nil,
})
return
}
err := service.Pod.UpdatePod(params.Namespace, params.Content)
if err != nil {
ctx.JSON(http.StatusInternalServerError, gin.H{
@ -131,21 +128,20 @@ func (p *pod) UpdatePod(ctx *gin.Context) {
})
}
//获取Pod容器
func (p *pod) GetPodContainer(ctx *gin.Context) {
params := new(struct {
PodName string `form:"pod_name"`
Namespace string `form:"namespace"`
})
if err := ctx.Bind(params); err != nil {
logger.Error("Bind请求参数失败" + err.Error())
logger.Error("Bind请求参数失败, " + err.Error())
ctx.JSON(http.StatusInternalServerError, gin.H{
"msg": err.Error(),
"data": nil,
})
return
}
data, err := service.Pod.GetPodContainer(params.PodName, params.Namespace)
if err != nil {
ctx.JSON(http.StatusInternalServerError, gin.H{
@ -160,22 +156,21 @@ func (p *pod) GetPodContainer(ctx *gin.Context) {
})
}
//获取Pod容器日志
func (p *pod) GetPodLog(ctx *gin.Context) {
params := new(struct {
ContainerName string `form:"container_name"`
PodName string `form:"pod_name"`
Namespace string `form:"namespace"`
})
if err := ctx.Bind(params); err != nil {
logger.Error("Bind请求参数失败" + err.Error())
logger.Error("Bind请求参数失败, " + err.Error())
ctx.JSON(http.StatusInternalServerError, gin.H{
"msg": err.Error(),
"data": nil,
})
return
}
data, err := service.Pod.GetPodLog(params.ContainerName, params.PodName, params.Namespace)
if err != nil {
ctx.JSON(http.StatusInternalServerError, gin.H{
@ -185,12 +180,11 @@ func (p *pod) GetPodLog(ctx *gin.Context) {
return
}
ctx.JSON(http.StatusOK, gin.H{
"msg": "获取Pod容器日志成功",
"msg": "获取Pod容器日志成功",
"data": data,
})
}
//获取每个Namespace的Pod数量
func (p *pod) GetPodNumPerNp(ctx *gin.Context) {
data, err := service.Pod.GetPodNumPerNp()
if err != nil {
@ -200,8 +194,9 @@ func (p *pod) GetPodNumPerNp(ctx *gin.Context) {
})
return
}
ctx.JSON(http.StatusOK, gin.H{
"msg": "获取每个namespace的Pod数量成功",
"msg": "获取每个namespace的pod数量成功",
"data": data,
})
}