diff --git a/internal/web/actions/default/clusters/cluster/node/node.go b/internal/web/actions/default/clusters/cluster/node/node.go
index d4abc49e..351d216a 100644
--- a/internal/web/actions/default/clusters/cluster/node/node.go
+++ b/internal/web/actions/default/clusters/cluster/node/node.go
@@ -3,7 +3,7 @@ package node
import (
"encoding/json"
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
- "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/nodes/grants/grantutils"
+ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/clusters/grants/grantutils"
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
"github.com/iwind/TeaGo/maps"
)
diff --git a/internal/web/actions/default/clusters/cluster/node/update.go b/internal/web/actions/default/clusters/cluster/node/update.go
index 6f2fa3d1..7c47210f 100644
--- a/internal/web/actions/default/clusters/cluster/node/update.go
+++ b/internal/web/actions/default/clusters/cluster/node/update.go
@@ -3,7 +3,7 @@ package node
import (
"encoding/json"
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
- "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/nodes/grants/grantutils"
+ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/clusters/grants/grantutils"
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/nodes/ipAddresses/ipaddressutils"
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
"github.com/iwind/TeaGo/actions"
diff --git a/internal/web/actions/default/clusters/cluster/settings/index.go b/internal/web/actions/default/clusters/cluster/settings/index.go
index b34a54a4..951db3d3 100644
--- a/internal/web/actions/default/clusters/cluster/settings/index.go
+++ b/internal/web/actions/default/clusters/cluster/settings/index.go
@@ -1,9 +1,9 @@
package settings
import (
- "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
- "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/nodes/grants/grantutils"
+ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/clusters/grants/grantutils"
+ "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
"github.com/iwind/TeaGo/actions"
"github.com/iwind/TeaGo/maps"
)
diff --git a/internal/web/actions/default/clusters/clusterutils/cluster_helper.go b/internal/web/actions/default/clusters/clusterutils/cluster_helper.go
index f5b2950e..34464a3d 100644
--- a/internal/web/actions/default/clusters/clusterutils/cluster_helper.go
+++ b/internal/web/actions/default/clusters/clusterutils/cluster_helper.go
@@ -1,4 +1,4 @@
-package clusters
+package clusterutils
import (
"github.com/TeaOSLab/EdgeAdmin/internal/rpc"
diff --git a/internal/web/actions/default/clusters/helper.go b/internal/web/actions/default/clusters/clusterutils/clusters_helper.go
similarity index 50%
rename from internal/web/actions/default/clusters/helper.go
rename to internal/web/actions/default/clusters/clusterutils/clusters_helper.go
index c9a3779f..f1c6b0b7 100644
--- a/internal/web/actions/default/clusters/helper.go
+++ b/internal/web/actions/default/clusters/clusterutils/clusters_helper.go
@@ -1,23 +1,29 @@
-package clusters
+package clusterutils
import (
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
"github.com/iwind/TeaGo/actions"
+ "net/http"
)
-type Helper struct {
+type ClustersHelper struct {
}
-func NewHelper() *Helper {
- return &Helper{}
+func NewClustersHelper() *ClustersHelper {
+ return &ClustersHelper{}
}
-func (this *Helper) BeforeAction(action *actions.ActionObject) {
+func (this *ClustersHelper) BeforeAction(action *actions.ActionObject) {
+ if action.Request.Method != http.MethodGet {
+ return
+ }
+
action.Data["teaMenu"] = "clusters"
selectedTabbar, _ := action.Data["mainTab"]
tabbar := actionutils.NewTabbar()
tabbar.Add("集群", "", "/clusters", "", selectedTabbar == "cluster")
+ tabbar.Add("SSH认证", "", "/clusters/grants", "", selectedTabbar == "grant")
actionutils.SetTabbar(action, tabbar)
}
diff --git a/internal/web/actions/default/nodes/grants/create.go b/internal/web/actions/default/clusters/grants/create.go
similarity index 93%
rename from internal/web/actions/default/nodes/grants/create.go
rename to internal/web/actions/default/clusters/grants/create.go
index cd742856..8dd1d8a2 100644
--- a/internal/web/actions/default/nodes/grants/create.go
+++ b/internal/web/actions/default/clusters/grants/create.go
@@ -1,9 +1,9 @@
package grants
import (
- "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
- "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/nodes/grants/grantutils"
+ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/clusters/grants/grantutils"
+ "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
"github.com/iwind/TeaGo/actions"
)
diff --git a/internal/web/actions/default/nodes/grants/createPopup.go b/internal/web/actions/default/clusters/grants/createPopup.go
similarity index 94%
rename from internal/web/actions/default/nodes/grants/createPopup.go
rename to internal/web/actions/default/clusters/grants/createPopup.go
index 1115c789..06f622d4 100644
--- a/internal/web/actions/default/nodes/grants/createPopup.go
+++ b/internal/web/actions/default/clusters/grants/createPopup.go
@@ -1,9 +1,9 @@
package grants
import (
- "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
- "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/nodes/grants/grantutils"
+ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/clusters/grants/grantutils"
+ "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
"github.com/iwind/TeaGo/actions"
"github.com/iwind/TeaGo/maps"
)
diff --git a/internal/web/actions/default/clusters/grants/delete.go b/internal/web/actions/default/clusters/grants/delete.go
new file mode 100644
index 00000000..d9f008d3
--- /dev/null
+++ b/internal/web/actions/default/clusters/grants/delete.go
@@ -0,0 +1,44 @@
+package grants
+
+import (
+ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
+ "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
+)
+
+type DeleteAction struct {
+ actionutils.ParentAction
+}
+
+func (this *DeleteAction) RunPost(params struct {
+ GrantId int64
+}) {
+ // 检查是否有别的集群或节点正在使用
+ countResp, err := this.RPC().NodeClusterRPC().CountAllEnabledNodeClustersWithGrantId(this.AdminContext(), &pb.CountAllEnabledNodeClustersWithGrantIdRequest{
+ GrantId: params.GrantId,
+ })
+ if err != nil {
+ this.ErrorPage(err)
+ return
+ }
+ if countResp.Count > 0 {
+ this.Fail("有集群正在使用此服务,请修改后再删除")
+ }
+
+ countResp2, err := this.RPC().NodeRPC().CountAllEnabledNodesWithGrantId(this.AdminContext(), &pb.CountAllEnabledNodesWithGrantIdRequest{GrantId: params.GrantId})
+ if err != nil {
+ this.ErrorPage(err)
+ return
+ }
+ if countResp2.Count > 0 {
+ this.Fail("有节点正在使用此服务,请修改后再删除")
+ }
+
+ // 删除
+ _, err = this.RPC().NodeGrantRPC().DisableNodeGrant(this.AdminContext(), &pb.DisableNodeGrantRequest{GrantId: params.GrantId})
+ if err != nil {
+ this.ErrorPage(err)
+ return
+ }
+
+ this.Success()
+}
diff --git a/internal/web/actions/default/clusters/grants/grant.go b/internal/web/actions/default/clusters/grants/grant.go
new file mode 100644
index 00000000..452ff440
--- /dev/null
+++ b/internal/web/actions/default/clusters/grants/grant.go
@@ -0,0 +1,88 @@
+package grants
+
+import (
+ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
+ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/clusters/grants/grantutils"
+ "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
+ "github.com/iwind/TeaGo/maps"
+)
+
+type GrantAction struct {
+ actionutils.ParentAction
+}
+
+func (this *GrantAction) Init() {
+ this.Nav("", "grant", "index")
+}
+
+func (this *GrantAction) RunGet(params struct {
+ GrantId int64
+}) {
+ grantResp, err := this.RPC().NodeGrantRPC().FindEnabledGrant(this.AdminContext(), &pb.FindEnabledGrantRequest{GrantId: params.GrantId})
+ if err != nil {
+ this.ErrorPage(err)
+ return
+ }
+ if grantResp.Grant == nil {
+ this.WriteString("can not find the grant")
+ return
+ }
+
+ // TODO 处理节点专用的认证
+
+ grant := grantResp.Grant
+ this.Data["grant"] = maps.Map{
+ "id": grant.Id,
+ "name": grant.Name,
+ "method": grant.Method,
+ "methodName": grantutils.FindGrantMethodName(grant.Method),
+ "username": grant.Username,
+ "password": grant.Password,
+ "privateKey": grant.PrivateKey,
+ "description": grant.Description,
+ "su": grant.Su,
+ }
+
+ // 使用此认证的集群
+ clusterMaps := []maps.Map{}
+ clustersResp, err := this.RPC().NodeClusterRPC().FindAllEnabledNodeClustersWithGrantId(this.AdminContext(), &pb.FindAllEnabledNodeClustersWithGrantIdRequest{GrantId: params.GrantId})
+ if err != nil {
+ this.ErrorPage(err)
+ return
+ }
+ for _, cluster := range clustersResp.Clusters {
+ clusterMaps = append(clusterMaps, maps.Map{
+ "id": cluster.Id,
+ "name": cluster.Name,
+ })
+ }
+ this.Data["clusters"] = clusterMaps
+
+ // 使用此认证的节点
+ nodeMaps := []maps.Map{}
+ nodesResp, err := this.RPC().NodeRPC().FindAllEnabledNodesWithGrantId(this.AdminContext(), &pb.FindAllEnabledNodesWithGrantIdRequest{GrantId: params.GrantId})
+ if err != nil {
+ this.ErrorPage(err)
+ return
+ }
+ for _, node := range nodesResp.Nodes {
+ if node.Cluster == nil {
+ continue
+ }
+
+ clusterMap := maps.Map{
+ "id": node.Cluster.Id,
+ "name": node.Cluster.Name,
+ }
+
+ nodeMaps = append(nodeMaps, maps.Map{
+ "id": node.Id,
+ "name": node.Name,
+ "cluster": clusterMap,
+ "isOn": node.IsOn,
+ })
+ }
+ this.Data["nodes"] = nodeMaps
+
+ this.Show()
+}
diff --git a/internal/web/actions/default/nodes/grants/grantutils/utils.go b/internal/web/actions/default/clusters/grants/grantutils/utils.go
similarity index 100%
rename from internal/web/actions/default/nodes/grants/grantutils/utils.go
rename to internal/web/actions/default/clusters/grants/grantutils/utils.go
diff --git a/internal/web/actions/default/nodes/grants/index.go b/internal/web/actions/default/clusters/grants/index.go
similarity index 61%
rename from internal/web/actions/default/nodes/grants/index.go
rename to internal/web/actions/default/clusters/grants/index.go
index 523349f8..81ba667a 100644
--- a/internal/web/actions/default/nodes/grants/index.go
+++ b/internal/web/actions/default/clusters/grants/index.go
@@ -1,9 +1,9 @@
package grants
import (
- "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
- "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/nodes/grants/grantutils"
+ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/clusters/grants/grantutils"
+ "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
"github.com/iwind/TeaGo/maps"
)
@@ -34,6 +34,22 @@ func (this *IndexAction) RunGet(params struct{}) {
}
grantMaps := []maps.Map{}
for _, grant := range grantsResp.Grants {
+ // 集群数
+ countClustersResp, err := this.RPC().NodeClusterRPC().CountAllEnabledNodeClustersWithGrantId(this.AdminContext(), &pb.CountAllEnabledNodeClustersWithGrantIdRequest{GrantId: grant.Id})
+ if err != nil {
+ this.ErrorPage(err)
+ return
+ }
+ countClusters := countClustersResp.Count
+
+ // 节点数
+ countNodesResp, err := this.RPC().NodeRPC().CountAllEnabledNodesWithGrantId(this.AdminContext(), &pb.CountAllEnabledNodesWithGrantIdRequest{GrantId: grant.Id})
+ if err != nil {
+ this.ErrorPage(err)
+ return
+ }
+ countNodes := countNodesResp.Count
+
grantMaps = append(grantMaps, maps.Map{
"id": grant.Id,
"name": grant.Name,
@@ -41,6 +57,8 @@ func (this *IndexAction) RunGet(params struct{}) {
"type": grant.Method,
"name": grantutils.FindGrantMethodName(grant.Method),
},
+ "countClusters": countClusters,
+ "countNodes": countNodes,
})
}
this.Data["grants"] = grantMaps
diff --git a/internal/web/actions/default/clusters/grants/init.go b/internal/web/actions/default/clusters/grants/init.go
new file mode 100644
index 00000000..f7f38927
--- /dev/null
+++ b/internal/web/actions/default/clusters/grants/init.go
@@ -0,0 +1,27 @@
+package grants
+
+import (
+ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/clusters/clusterutils"
+ "github.com/TeaOSLab/EdgeAdmin/internal/web/helpers"
+ "github.com/iwind/TeaGo"
+)
+
+func init() {
+ TeaGo.BeforeStart(func(server *TeaGo.Server) {
+ server.
+ Helper(helpers.NewUserMustAuth()).
+ Helper(clusterutils.NewClustersHelper()).
+ Prefix("/clusters/grants").
+
+ // 授权管理
+ Get("", new(IndexAction)).
+ GetPost("/create", new(CreateAction)).
+ GetPost("/update", new(UpdateAction)).
+ Post("/delete", new(DeleteAction)).
+ Get("/grant", new(GrantAction)).
+ GetPost("/selectPopup", new(SelectPopupAction)).
+ GetPost("/createPopup", new(CreatePopupAction)).
+ GetPost("/updatePopup", new(UpdatePopupAction)).
+ EndAll()
+ })
+}
diff --git a/internal/web/actions/default/nodes/grants/selectPopup.go b/internal/web/actions/default/clusters/grants/selectPopup.go
similarity index 94%
rename from internal/web/actions/default/nodes/grants/selectPopup.go
rename to internal/web/actions/default/clusters/grants/selectPopup.go
index b628c2fd..e5a05985 100644
--- a/internal/web/actions/default/nodes/grants/selectPopup.go
+++ b/internal/web/actions/default/clusters/grants/selectPopup.go
@@ -1,9 +1,9 @@
package grants
import (
- "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
- "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/nodes/grants/grantutils"
+ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/clusters/grants/grantutils"
+ "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
"github.com/iwind/TeaGo/actions"
"github.com/iwind/TeaGo/maps"
)
diff --git a/internal/web/actions/default/nodes/grants/update.go b/internal/web/actions/default/clusters/grants/update.go
similarity index 94%
rename from internal/web/actions/default/nodes/grants/update.go
rename to internal/web/actions/default/clusters/grants/update.go
index 59179c26..bd1c5f4f 100644
--- a/internal/web/actions/default/nodes/grants/update.go
+++ b/internal/web/actions/default/clusters/grants/update.go
@@ -1,9 +1,9 @@
package grants
import (
- "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
- "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/nodes/grants/grantutils"
+ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/clusters/grants/grantutils"
+ "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
"github.com/iwind/TeaGo/actions"
"github.com/iwind/TeaGo/maps"
)
@@ -13,7 +13,7 @@ type UpdateAction struct {
}
func (this *UpdateAction) Init() {
- this.Nav("", "", "")
+ this.Nav("", "grant", "update")
}
func (this *UpdateAction) RunGet(params struct {
diff --git a/internal/web/actions/default/nodes/grants/updatePopup.go b/internal/web/actions/default/clusters/grants/updatePopup.go
similarity index 96%
rename from internal/web/actions/default/nodes/grants/updatePopup.go
rename to internal/web/actions/default/clusters/grants/updatePopup.go
index 6e12b9b0..e2d7ca63 100644
--- a/internal/web/actions/default/nodes/grants/updatePopup.go
+++ b/internal/web/actions/default/clusters/grants/updatePopup.go
@@ -1,9 +1,9 @@
package grants
import (
- "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
- "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/nodes/grants/grantutils"
+ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/clusters/grants/grantutils"
+ "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
"github.com/iwind/TeaGo/actions"
"github.com/iwind/TeaGo/maps"
)
diff --git a/internal/web/actions/default/clusters/init.go b/internal/web/actions/default/clusters/init.go
index 5e4a6c08..c31302e4 100644
--- a/internal/web/actions/default/clusters/init.go
+++ b/internal/web/actions/default/clusters/init.go
@@ -1,6 +1,7 @@
package clusters
import (
+ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/clusters/clusterutils"
"github.com/TeaOSLab/EdgeAdmin/internal/web/helpers"
"github.com/iwind/TeaGo"
)
@@ -9,7 +10,7 @@ func init() {
TeaGo.BeforeStart(func(server *TeaGo.Server) {
server.
Helper(helpers.NewUserMustAuth()).
- Helper(NewHelper()).
+ Helper(clusterutils.NewClustersHelper()).
Prefix("/clusters").
Get("", new(IndexAction)).
GetPost("/create", new(CreateAction)).
diff --git a/internal/web/actions/default/nodes/grants/delete.go b/internal/web/actions/default/nodes/grants/delete.go
deleted file mode 100644
index 0ca75c99..00000000
--- a/internal/web/actions/default/nodes/grants/delete.go
+++ /dev/null
@@ -1,22 +0,0 @@
-package grants
-
-import (
- "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
- "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
-)
-
-type DeleteAction struct {
- actionutils.ParentAction
-}
-
-func (this *DeleteAction) RunPost(params struct {
- GrantId int64
-}) {
- _, err := this.RPC().NodeGrantRPC().DisableNodeGrant(this.AdminContext(), &pb.DisableNodeGrantRequest{GrantId: params.GrantId})
- if err != nil {
- this.ErrorPage(err)
- return
- }
-
- this.Success()
-}
diff --git a/internal/web/actions/default/nodes/grants/grant.go b/internal/web/actions/default/nodes/grants/grant.go
deleted file mode 100644
index 30df5abb..00000000
--- a/internal/web/actions/default/nodes/grants/grant.go
+++ /dev/null
@@ -1,47 +0,0 @@
-package grants
-
-import (
- "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
- "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
- "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/nodes/grants/grantutils"
- "github.com/iwind/TeaGo/maps"
-)
-
-type GrantAction struct {
- actionutils.ParentAction
-}
-
-func (this *GrantAction) Init() {
- this.Nav("", "grant", "index")
-}
-
-func (this *GrantAction) RunGet(params struct {
- GrantId int64
-}) {
- grantResp, err := this.RPC().NodeGrantRPC().FindEnabledGrant(this.AdminContext(), &pb.FindEnabledGrantRequest{GrantId: params.GrantId})
- if err != nil {
- this.ErrorPage(err)
- return
- }
- if grantResp.Grant == nil {
- this.WriteString("can not find the grant")
- return
- }
-
- // TODO 处理节点专用的认证
-
- grant := grantResp.Grant
- this.Data["grant"] = maps.Map{
- "id": grant.Id,
- "name": grant.Name,
- "method": grant.Method,
- "methodName": grantutils.FindGrantMethodName(grant.Method),
- "username": grant.Username,
- "password": grant.Password,
- "privateKey": grant.PrivateKey,
- "description": grant.Description,
- "su": grant.Su,
- }
-
- this.Show()
-}
diff --git a/internal/web/actions/default/nodes/init.go b/internal/web/actions/default/nodes/init.go
index fd21cbd2..00064620 100644
--- a/internal/web/actions/default/nodes/init.go
+++ b/internal/web/actions/default/nodes/init.go
@@ -1,7 +1,6 @@
package nodes
import (
- "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/nodes/grants"
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/nodes/ipAddresses"
"github.com/TeaOSLab/EdgeAdmin/internal/web/helpers"
"github.com/iwind/TeaGo"
@@ -19,15 +18,6 @@ func init() {
GetPost("/ipAddresses/createPopup", new(ipAddresses.CreatePopupAction)).
GetPost("/ipAddresses/updatePopup", new(ipAddresses.UpdatePopupAction)).
- // 授权管理
- Get("/grants", new(grants.IndexAction)).
- GetPost("/grants/create", new(grants.CreateAction)).
- GetPost("/grants/update", new(grants.UpdateAction)).
- Post("/grants/delete", new(grants.DeleteAction)).
- Get("/grants/grant", new(grants.GrantAction)).
- GetPost("/grants/selectPopup", new(grants.SelectPopupAction)).
- GetPost("/grants/createPopup", new(grants.CreatePopupAction)).
- GetPost("/grants/updatePopup", new(grants.UpdatePopupAction)).
EndAll()
})
}
diff --git a/internal/web/import.go b/internal/web/import.go
index 36262d8e..ab45a61f 100644
--- a/internal/web/import.go
+++ b/internal/web/import.go
@@ -7,6 +7,7 @@ import (
_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/clusters"
_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/clusters/cluster"
_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/clusters/cluster/settings"
+ _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/clusters/grants"
_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/csrf"
_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/dashboard"
_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/db"
diff --git a/web/public/js/components/grant/grant-selector.js b/web/public/js/components/grant/grant-selector.js
index ef1dd2ef..7afd65d2 100644
--- a/web/public/js/components/grant/grant-selector.js
+++ b/web/public/js/components/grant/grant-selector.js
@@ -10,7 +10,7 @@ Vue.component("grant-selector", {
// 选择授权
select: function () {
let that = this;
- teaweb.popup("/nodes/grants/selectPopup", {
+ teaweb.popup("/clusters/grants/selectPopup", {
callback: (resp) => {
that.grantId = resp.data.grant.id;
if (that.grantId > 0) {
@@ -22,7 +22,7 @@ Vue.component("grant-selector", {
// 创建授权
create: function () {
- teaweb.popup("/nodes/grants/createPopup", {
+ teaweb.popup("/clusters/grants/createPopup", {
height: "31em",
callback: (resp) => {
this.grantId = resp.data.grant.id;
@@ -39,7 +39,7 @@ Vue.component("grant-selector", {
window.location.reload();
return;
}
- teaweb.popup("/nodes/grants/updatePopup?grantId=" + this.grant.id, {
+ teaweb.popup("/clusters/grants/updatePopup?grantId=" + this.grant.id, {
height: "31em",
callback: (resp) => {
this.grant = resp.data.grant;
diff --git a/web/views/@default/clusters/grants/@grant_menu.html b/web/views/@default/clusters/grants/@grant_menu.html
new file mode 100644
index 00000000..c184965b
--- /dev/null
+++ b/web/views/@default/clusters/grants/@grant_menu.html
@@ -0,0 +1,6 @@
+
暂时还没有集群使用此认证。
+ {{cluster.name}} +暂时还没有节点使用此认证。
+ {{node.name}}({{node.cluster.name}}) +| ID | +名称 | +类型 | +集群数 | +节点数 | +操作 | +
|---|---|---|---|---|---|
| {{grant.id}} | +{{grant.name}} | ++ {{grant.method.name}} + | ++ {{grant.countClusters}} + 0 + | ++ {{grant.countNodes}} + 0 + | ++ 详情 删除 + | +
请点击选中某个认证。