mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-11-05 01:20:25 +08:00
优化代码
This commit is contained in:
@@ -228,18 +228,9 @@ func (this *HTTPWebDAO) ComposeWebConfig(webId int64) (*serverconfigs.HTTPWebCon
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
for _, cacheRef := range cacheConfig.CacheRefs {
|
||||
if cacheRef.CachePolicyId > 0 {
|
||||
cachePolicy, err := SharedHTTPCachePolicyDAO.ComposeCachePolicy(cacheRef.CachePolicyId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if cachePolicy != nil {
|
||||
cacheRef.CachePolicy = cachePolicy
|
||||
}
|
||||
}
|
||||
}
|
||||
config.Cache = cacheConfig
|
||||
|
||||
// 暂不支持自定义缓存策略设置,因为同一个集群下的服务需要集中管理
|
||||
}
|
||||
|
||||
// 防火墙配置
|
||||
@@ -251,17 +242,7 @@ func (this *HTTPWebDAO) ComposeWebConfig(webId int64) (*serverconfigs.HTTPWebCon
|
||||
}
|
||||
config.FirewallRef = firewallRef
|
||||
|
||||
if firewallRef.FirewallPolicyId > 0 {
|
||||
firewallPolicy, err := SharedHTTPFirewallPolicyDAO.ComposeFirewallPolicy(firewallRef.FirewallPolicyId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if firewallPolicy == nil {
|
||||
config.FirewallRef = nil
|
||||
} else {
|
||||
config.FirewallPolicy = firewallPolicy
|
||||
}
|
||||
}
|
||||
// 暂不支持自定义防火墙策略设置,因为同一个集群下的服务需要集中管理
|
||||
}
|
||||
|
||||
// 路径规则
|
||||
|
||||
@@ -609,6 +609,14 @@ func (this *NodeClusterDAO) FindAllEnabledNodeClustersWithHTTPFirewallPolicyId(h
|
||||
return
|
||||
}
|
||||
|
||||
// 获取集群的WAF策略ID
|
||||
func (this *NodeClusterDAO) FindClusterHTTPFirewallPolicyId(clusterId int64) (int64, error) {
|
||||
return this.Query().
|
||||
Pk(clusterId).
|
||||
Result("httpFirewallPolicyId").
|
||||
FindInt64Col(0)
|
||||
}
|
||||
|
||||
// 设置集群的缓存策略
|
||||
func (this *NodeClusterDAO) UpdateNodeClusterHTTPCachePolicyId(clusterId int64, httpCachePolicyId int64) error {
|
||||
_, err := this.Query().
|
||||
@@ -618,6 +626,14 @@ func (this *NodeClusterDAO) UpdateNodeClusterHTTPCachePolicyId(clusterId int64,
|
||||
return err
|
||||
}
|
||||
|
||||
// 获取集群的缓存策略ID
|
||||
func (this *NodeClusterDAO) FindClusterHTTPCachePolicyId(clusterId int64) (int64, error) {
|
||||
return this.Query().
|
||||
Pk(clusterId).
|
||||
Result("cachePolicyId").
|
||||
FindInt64Col(0)
|
||||
}
|
||||
|
||||
// 设置集群的WAF策略
|
||||
func (this *NodeClusterDAO) UpdateNodeClusterHTTPFirewallPolicyId(clusterId int64, httpFirewallPolicyId int64) error {
|
||||
_, err := this.Query().
|
||||
|
||||
@@ -143,7 +143,7 @@ func (this *NodeDAO) UpdateNodeLatestVersion(nodeId int64) error {
|
||||
}
|
||||
|
||||
// 批量更新节点版本
|
||||
func (this *NodeDAO) UpdateAllNodesLatestVersionMatch(clusterId int64) error {
|
||||
func (this *NodeDAO) IncreaseAllNodesLatestVersionMatch(clusterId int64) error {
|
||||
_, err := this.Query().
|
||||
Attr("clusterId", clusterId).
|
||||
Set("latestVersion", dbs.SQL("latestVersion+1")).
|
||||
@@ -459,6 +459,7 @@ func (this *NodeDAO) UpdateNodeInstallStatus(nodeId int64, status *NodeInstallSt
|
||||
}
|
||||
|
||||
// 组合配置
|
||||
// TODO 提升运行速度
|
||||
func (this *NodeDAO) ComposeNodeConfig(nodeId int64) (*nodeconfigs.NodeConfig, error) {
|
||||
node, err := this.FindEnabledNode(nodeId)
|
||||
if err != nil {
|
||||
@@ -513,8 +514,39 @@ func (this *NodeDAO) ComposeNodeConfig(nodeId int64) (*nodeconfigs.NodeConfig, e
|
||||
config.GlobalConfig = globalConfig
|
||||
}
|
||||
|
||||
// WAF
|
||||
clusterId := int64(node.ClusterId)
|
||||
httpFirewallPolicyId, err := SharedNodeClusterDAO.FindClusterHTTPFirewallPolicyId(clusterId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if httpFirewallPolicyId > 0 {
|
||||
firewallPolicy, err := SharedHTTPFirewallPolicyDAO.ComposeFirewallPolicy(httpFirewallPolicyId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if firewallPolicy != nil {
|
||||
config.HTTPFirewallPolicy = firewallPolicy
|
||||
}
|
||||
}
|
||||
|
||||
// 缓存策略
|
||||
httpCachePolicyId, err := SharedNodeClusterDAO.FindClusterHTTPCachePolicyId(clusterId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if httpCachePolicyId > 0 {
|
||||
cachePolicy, err := SharedHTTPCachePolicyDAO.ComposeCachePolicy(httpCachePolicyId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if cachePolicy != nil {
|
||||
config.HTTPCachePolicy = cachePolicy
|
||||
}
|
||||
}
|
||||
|
||||
// TOA
|
||||
toaConfig, err := SharedNodeClusterDAO.FindClusterTOAConfig(int64(node.ClusterId))
|
||||
toaConfig, err := SharedNodeClusterDAO.FindClusterTOAConfig(clusterId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ func (this *ServerChangeEvent) Run() error {
|
||||
if !isOk {
|
||||
continue
|
||||
}
|
||||
err = SharedNodeDAO.UpdateAllNodesLatestVersionMatch(clusterId)
|
||||
err = SharedNodeDAO.IncreaseAllNodesLatestVersionMatch(clusterId)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@ func (this *MessageService) ListUnreadMessages(ctx context.Context, req *pb.List
|
||||
ParamsJSON: []byte(message.Params),
|
||||
IsRead: message.IsRead == 1,
|
||||
CreatedAt: int64(message.CreatedAt),
|
||||
Cluster: pbCluster,
|
||||
NodeCluster: pbCluster,
|
||||
Node: pbNode,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -255,7 +255,7 @@ func (this *NodeService) ListEnabledNodesMatch(ctx context.Context, req *pb.List
|
||||
Version: int64(node.Version),
|
||||
IsInstalled: node.IsInstalled == 1,
|
||||
StatusJSON: []byte(node.Status),
|
||||
Cluster: &pb.NodeCluster{
|
||||
NodeCluster: &pb.NodeCluster{
|
||||
Id: int64(node.ClusterId),
|
||||
Name: clusterName,
|
||||
},
|
||||
@@ -478,7 +478,7 @@ func (this *NodeService) FindEnabledNode(ctx context.Context, req *pb.FindEnable
|
||||
Secret: node.Secret,
|
||||
InstallDir: node.InstallDir,
|
||||
IsInstalled: node.IsInstalled == 1,
|
||||
Cluster: &pb.NodeCluster{
|
||||
NodeCluster: &pb.NodeCluster{
|
||||
Id: int64(node.ClusterId),
|
||||
Name: clusterName,
|
||||
},
|
||||
@@ -744,7 +744,7 @@ func (this *NodeService) FindAllEnabledNodesWithGrantId(ctx context.Context, req
|
||||
Version: int64(node.Version),
|
||||
IsInstalled: node.IsInstalled == 1,
|
||||
StatusJSON: []byte(node.Status),
|
||||
Cluster: &pb.NodeCluster{
|
||||
NodeCluster: &pb.NodeCluster{
|
||||
Id: int64(node.ClusterId),
|
||||
Name: clusterName,
|
||||
},
|
||||
|
||||
@@ -78,7 +78,7 @@ func (this *NodeClusterService) FindEnabledNodeCluster(ctx context.Context, req
|
||||
return &pb.FindEnabledNodeClusterResponse{}, nil
|
||||
}
|
||||
|
||||
return &pb.FindEnabledNodeClusterResponse{Cluster: &pb.NodeCluster{
|
||||
return &pb.FindEnabledNodeClusterResponse{NodeCluster: &pb.NodeCluster{
|
||||
Id: int64(cluster.Id),
|
||||
Name: cluster.Name,
|
||||
CreatedAt: int64(cluster.CreatedAt),
|
||||
@@ -168,7 +168,7 @@ func (this *NodeClusterService) FindAllEnabledNodeClusters(ctx context.Context,
|
||||
}
|
||||
|
||||
return &pb.FindAllEnabledNodeClustersResponse{
|
||||
Clusters: result,
|
||||
NodeClusters: result,
|
||||
}, nil
|
||||
}
|
||||
|
||||
@@ -185,7 +185,7 @@ func (this *NodeClusterService) FindAllChangedNodeClusters(ctx context.Context,
|
||||
}
|
||||
if len(clusterIds) == 0 {
|
||||
return &pb.FindAllChangedNodeClustersResponse{
|
||||
Clusters: []*pb.NodeCluster{},
|
||||
NodeClusters: []*pb.NodeCluster{},
|
||||
}, nil
|
||||
}
|
||||
result := []*pb.NodeCluster{}
|
||||
@@ -205,7 +205,7 @@ func (this *NodeClusterService) FindAllChangedNodeClusters(ctx context.Context,
|
||||
Secret: cluster.Secret,
|
||||
})
|
||||
}
|
||||
return &pb.FindAllChangedNodeClustersResponse{Clusters: result}, nil
|
||||
return &pb.FindAllChangedNodeClustersResponse{NodeClusters: result}, nil
|
||||
}
|
||||
|
||||
// 计算所有集群数量
|
||||
@@ -250,7 +250,7 @@ func (this *NodeClusterService) ListEnabledNodeClusters(ctx context.Context, req
|
||||
})
|
||||
}
|
||||
|
||||
return &pb.ListEnabledNodeClustersResponse{Clusters: result}, nil
|
||||
return &pb.ListEnabledNodeClustersResponse{NodeClusters: result}, nil
|
||||
}
|
||||
|
||||
// 查找集群的健康检查配置
|
||||
@@ -354,7 +354,7 @@ func (this *NodeClusterService) FindAllEnabledNodeClustersWithGrantId(ctx contex
|
||||
Secret: cluster.Secret,
|
||||
})
|
||||
}
|
||||
return &pb.FindAllEnabledNodeClustersWithGrantIdResponse{Clusters: result}, nil
|
||||
return &pb.FindAllEnabledNodeClustersWithGrantIdResponse{NodeClusters: result}, nil
|
||||
}
|
||||
|
||||
// 查找集群的DNS配置
|
||||
@@ -566,8 +566,8 @@ func (this *NodeClusterService) UpdateNodeClusterTOA(ctx context.Context, req *p
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// 更新节点版本
|
||||
err = models.SharedNodeDAO.UpdateAllNodesLatestVersionMatch(req.NodeClusterId)
|
||||
// 增加节点版本号
|
||||
err = models.SharedNodeDAO.IncreaseAllNodesLatestVersionMatch(req.NodeClusterId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -655,6 +655,13 @@ func (this *NodeClusterService) UpdateNodeClusterHTTPCachePolicyId(ctx context.C
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// 增加节点版本号
|
||||
err = models.SharedNodeDAO.IncreaseAllNodesLatestVersionMatch(req.NodeClusterId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return this.Success()
|
||||
}
|
||||
|
||||
@@ -668,5 +675,12 @@ func (this *NodeClusterService) UpdateNodeClusterHTTPFirewallPolicyId(ctx contex
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// 增加节点版本号
|
||||
err = models.SharedNodeDAO.IncreaseAllNodesLatestVersionMatch(req.NodeClusterId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return this.Success()
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ func (this *ServerService) CreateServer(ctx context.Context, req *pb.CreateServe
|
||||
}
|
||||
|
||||
// 更新节点版本
|
||||
err = models.SharedNodeDAO.UpdateAllNodesLatestVersionMatch(req.NodeClusterId)
|
||||
err = models.SharedNodeDAO.IncreaseAllNodesLatestVersionMatch(req.NodeClusterId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -75,14 +75,14 @@ func (this *ServerService) UpdateServerBasic(ctx context.Context, req *pb.Update
|
||||
|
||||
// 更新老的节点版本
|
||||
if req.NodeClusterId != int64(server.ClusterId) {
|
||||
err = models.SharedNodeDAO.UpdateAllNodesLatestVersionMatch(int64(server.ClusterId))
|
||||
err = models.SharedNodeDAO.IncreaseAllNodesLatestVersionMatch(int64(server.ClusterId))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
// 更新新的节点版本
|
||||
err = models.SharedNodeDAO.UpdateAllNodesLatestVersionMatch(req.NodeClusterId)
|
||||
err = models.SharedNodeDAO.IncreaseAllNodesLatestVersionMatch(req.NodeClusterId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -461,7 +461,7 @@ func (this *ServerService) ListEnabledServersMatch(ctx context.Context, req *pb.
|
||||
ServerNamesJSON: []byte(server.ServerNames),
|
||||
CreatedAt: int64(server.CreatedAt),
|
||||
DnsName: server.DnsName,
|
||||
Cluster: &pb.NodeCluster{
|
||||
NodeCluster: &pb.NodeCluster{
|
||||
Id: int64(server.ClusterId),
|
||||
Name: clusterName,
|
||||
},
|
||||
@@ -497,7 +497,7 @@ func (this *ServerService) DisableServer(ctx context.Context, req *pb.DisableSer
|
||||
}
|
||||
|
||||
// 更新节点版本
|
||||
err = models.SharedNodeDAO.UpdateAllNodesLatestVersionMatch(int64(server.ClusterId))
|
||||
err = models.SharedNodeDAO.IncreaseAllNodesLatestVersionMatch(int64(server.ClusterId))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -572,7 +572,7 @@ func (this *ServerService) FindEnabledServer(ctx context.Context, req *pb.FindEn
|
||||
IncludeNodes: []byte(server.IncludeNodes),
|
||||
ExcludeNodes: []byte(server.ExcludeNodes),
|
||||
CreatedAt: int64(server.CreatedAt),
|
||||
Cluster: &pb.NodeCluster{
|
||||
NodeCluster: &pb.NodeCluster{
|
||||
Id: int64(server.ClusterId),
|
||||
Name: clusterName,
|
||||
},
|
||||
|
||||
@@ -108,7 +108,7 @@ func (this *UserService) ListEnabledUsers(ctx context.Context, req *pb.ListEnabl
|
||||
Remark: user.Remark,
|
||||
IsOn: user.IsOn == 1,
|
||||
CreatedAt: int64(user.CreatedAt),
|
||||
Cluster: pbCluster,
|
||||
NodeCluster: pbCluster,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -153,7 +153,7 @@ func (this *UserService) FindEnabledUser(ctx context.Context, req *pb.FindEnable
|
||||
Remark: user.Remark,
|
||||
IsOn: user.IsOn == 1,
|
||||
CreatedAt: int64(user.CreatedAt),
|
||||
Cluster: pbCluster,
|
||||
NodeCluster: pbCluster,
|
||||
}}, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user