diff --git a/apps/infra/internal/app/graph/globalvpn.resolvers.go b/apps/infra/internal/app/graph/globalvpn.resolvers.go index def2082fb..d125df308 100644 --- a/apps/infra/internal/app/graph/globalvpn.resolvers.go +++ b/apps/infra/internal/app/graph/globalvpn.resolvers.go @@ -6,9 +6,10 @@ package graph import ( "context" - "github.com/kloudlite/api/pkg/errors" "time" + "github.com/kloudlite/api/pkg/errors" + "github.com/kloudlite/api/apps/infra/internal/app/graph/generated" "github.com/kloudlite/api/apps/infra/internal/app/graph/model" "github.com/kloudlite/api/apps/infra/internal/entities" @@ -65,5 +66,7 @@ func (r *Resolver) GlobalVPN() generated.GlobalVPNResolver { return &globalVPNRe // GlobalVPNIn returns generated.GlobalVPNInResolver implementation. func (r *Resolver) GlobalVPNIn() generated.GlobalVPNInResolver { return &globalVPNInResolver{r} } -type globalVPNResolver struct{ *Resolver } -type globalVPNInResolver struct{ *Resolver } +type ( + globalVPNResolver struct{ *Resolver } + globalVPNInResolver struct{ *Resolver } +) diff --git a/apps/infra/internal/domain/byok-clusters.go b/apps/infra/internal/domain/byok-clusters.go index e6fcf2fb6..bff9f4b02 100644 --- a/apps/infra/internal/domain/byok-clusters.go +++ b/apps/infra/internal/domain/byok-clusters.go @@ -91,7 +91,12 @@ func (d *domain) CreateBYOKCluster(ctx InfraContext, cluster entities.BYOKCluste cluster.MessageQueueTopicName = common.SendToAgentSubjectPrefix(ctx.AccountName, cluster.Name) - gvpnConn, err := d.ensureGlobalVPNConnection(ctx, cluster.Name, cluster.GlobalVPN, nil) + gvpnConn, err := d.ensureGlobalVPNConnection(ctx, ensureGlobalVPNConnectionArgs{ + ClusterName: cluster.Name, + GlobalVPNName: cluster.GlobalVPN, + DispatchAddr: nil, + Visibility: cluster.Visibility, + }) if err != nil { return nil, errors.NewE(err) } diff --git a/apps/infra/internal/domain/clusters.go b/apps/infra/internal/domain/clusters.go index 16faad548..5a4685a73 100644 --- a/apps/infra/internal/domain/clusters.go +++ b/apps/infra/internal/domain/clusters.go @@ -353,7 +353,12 @@ func (d *domain) CreateCluster(ctx InfraContext, cluster entities.Cluster) (*ent cluster.SyncStatus = t.GenSyncStatus(t.SyncActionApply, 0) // FIXME: removing public DNS host for now - gvpnConn, err := d.ensureGlobalVPNConnection(ctx, cluster.Name, *cluster.GlobalVPN, nil) + gvpnConn, err := d.ensureGlobalVPNConnection(ctx, ensureGlobalVPNConnectionArgs{ + ClusterName: cluster.Name, + GlobalVPNName: *cluster.GlobalVPN, + DispatchAddr: nil, + Visibility: entities.ClusterVisbility{}, + }) if err != nil { return nil, errors.NewE(err) } diff --git a/apps/infra/internal/domain/global-vpn-cluster-connection.go b/apps/infra/internal/domain/global-vpn-cluster-connection.go index 26faf8602..78c3dd7e3 100644 --- a/apps/infra/internal/domain/global-vpn-cluster-connection.go +++ b/apps/infra/internal/domain/global-vpn-cluster-connection.go @@ -393,14 +393,27 @@ func (d *domain) deleteGlobalVPNConnection(ctx InfraContext, clusterName string, } func (d *domain) EnsureGlobalVPNConnection(ctx InfraContext, clusterName string, groupName string, dispatchAddr *entities.DispatchAddr) (*entities.GlobalVPNConnection, error) { - return d.ensureGlobalVPNConnection(ctx, clusterName, groupName, dispatchAddr) + // return d.ensureGlobalVPNConnection(ctx, clusterName, groupName, dispatchAddr) + return d.ensureGlobalVPNConnection(ctx, ensureGlobalVPNConnectionArgs{ + ClusterName: clusterName, + GlobalVPNName: groupName, + DispatchAddr: dispatchAddr, + Visibility: entities.ClusterVisbility{}, + }) +} + +type ensureGlobalVPNConnectionArgs struct { + ClusterName string + GlobalVPNName string + DispatchAddr *entities.DispatchAddr + Visibility entities.ClusterVisbility } -func (d *domain) ensureGlobalVPNConnection(ctx InfraContext, clusterName string, groupName string, dispatchAddr *entities.DispatchAddr) (*entities.GlobalVPNConnection, error) { +func (d *domain) ensureGlobalVPNConnection(ctx InfraContext, args ensureGlobalVPNConnectionArgs) (*entities.GlobalVPNConnection, error) { gvpnConn, err := d.gvpnConnRepo.FindOne(ctx, repos.Filter{ fields.AccountName: ctx.AccountName, - fields.ClusterName: clusterName, - fields.MetadataName: groupName, + fields.ClusterName: args.ClusterName, + fields.MetadataName: args.GlobalVPNName, }) if err != nil { return nil, errors.NewE(err) @@ -414,19 +427,19 @@ func (d *domain) ensureGlobalVPNConnection(ctx InfraContext, clusterName string, } gvpnGateway := networkingv1.Gateway{ObjectMeta: metav1.ObjectMeta{ - Name: groupName, - // Name: fmt.Sprintf("%s-%s", ctx.AccountName, groupName), + Name: args.GlobalVPNName, // Name: fmt.Sprintf("%s-%s", ctx.AccountName, groupName), }} gvpnGateway.EnsureGVK() return d.createGlobalVPNConnection(ctx, entities.GlobalVPNConnection{ Gateway: gvpnGateway, - GlobalVPNName: groupName, - ResourceMetadata: common.ResourceMetadata{DisplayName: groupName, CreatedBy: common.CreatedOrUpdatedByKloudlite, LastUpdatedBy: common.CreatedOrUpdatedByKloudlite}, + GlobalVPNName: args.GlobalVPNName, + ResourceMetadata: common.ResourceMetadata{DisplayName: args.GlobalVPNName, CreatedBy: common.CreatedOrUpdatedByKloudlite, LastUpdatedBy: common.CreatedOrUpdatedByKloudlite}, AccountName: ctx.AccountName, - ClusterName: clusterName, - DispatchAddr: dispatchAddr, + ClusterName: args.ClusterName, + DispatchAddr: args.DispatchAddr, + Visibility: args.Visibility, ParsedWgParams: nil, }) }