diff --git a/internal/db/models/node_cluster_dao.go b/internal/db/models/node_cluster_dao.go index 449025cc..5076900f 100644 --- a/internal/db/models/node_cluster_dao.go +++ b/internal/db/models/node_cluster_dao.go @@ -125,13 +125,13 @@ func (this *NodeClusterDAO) FindAllEnableClusterIds(tx *dbs.Tx) (result []int64, } // CreateCluster 创建集群 -func (this *NodeClusterDAO) CreateCluster(tx *dbs.Tx, adminId int64, name string, grantId int64, installDir string, dnsDomainId int64, dnsName string, cachePolicyId int64, httpFirewallPolicyId int64, systemServices map[string]maps.Map) (clusterId int64, err error) { +func (this *NodeClusterDAO) CreateCluster(tx *dbs.Tx, adminId int64, name string, grantId int64, installDir string, dnsDomainId int64, dnsName string, dnsTTL int32, cachePolicyId int64, httpFirewallPolicyId int64, systemServices map[string]maps.Map) (clusterId int64, err error) { uniqueId, err := this.GenUniqueId(tx) if err != nil { return 0, err } - secret := rands.String(32) + var secret = rands.String(32) err = SharedApiTokenDAO.CreateAPIToken(tx, uniqueId, secret, nodeconfigs.NodeRoleCluster) if err != nil { return 0, err @@ -151,7 +151,7 @@ func (this *NodeClusterDAO) CreateCluster(tx *dbs.Tx, adminId int64, name string ServersAutoSync: true, CNameRecords: []string{}, CNameAsDomain: true, - TTL: 0, + TTL: dnsTTL, IncludingLnNodes: true, } dnsJSON, err := json.Marshal(dnsConfig) diff --git a/internal/rpc/services/service_node_cluster.go b/internal/rpc/services/service_node_cluster.go index 22640fc3..ea2db270 100644 --- a/internal/rpc/services/service_node_cluster.go +++ b/internal/rpc/services/service_node_cluster.go @@ -33,7 +33,7 @@ func (this *NodeClusterService) CreateNodeCluster(ctx context.Context, req *pb.C } // 系统服务 - systemServices := map[string]maps.Map{} + var systemServices = map[string]maps.Map{} if len(req.SystemServicesJSON) > 0 { err = json.Unmarshal(req.SystemServicesJSON, &systemServices) if err != nil { @@ -61,7 +61,12 @@ func (this *NodeClusterService) CreateNodeCluster(ctx context.Context, req *pb.C req.HttpFirewallPolicyId = policyId } - clusterId, err = models.SharedNodeClusterDAO.CreateCluster(tx, adminId, req.Name, req.NodeGrantId, req.InstallDir, req.DnsDomainId, req.DnsName, req.HttpCachePolicyId, req.HttpFirewallPolicyId, systemServices) + // DNS + if req.DnsTTL < 0 { + req.DnsTTL = 0 + } + + clusterId, err = models.SharedNodeClusterDAO.CreateCluster(tx, adminId, req.Name, req.NodeGrantId, req.InstallDir, req.DnsDomainId, req.DnsName, req.DnsTTL, req.HttpCachePolicyId, req.HttpFirewallPolicyId, systemServices) if err != nil { return err }