feat: support aliyun global ALB/NLB

This commit is contained in:
Fu Diwei 2024-11-09 09:54:49 +08:00
parent 22d3aeb7b5
commit 24df7913fe
3 changed files with 26 additions and 4 deletions

View File

@ -5,6 +5,7 @@ import (
"encoding/json" "encoding/json"
"errors" "errors"
"fmt" "fmt"
"strings"
aliyunAlb "github.com/alibabacloud-go/alb-20200616/v2/client" aliyunAlb "github.com/alibabacloud-go/alb-20200616/v2/client"
aliyunOpen "github.com/alibabacloud-go/darabonba-openapi/v2/client" aliyunOpen "github.com/alibabacloud-go/darabonba-openapi/v2/client"
@ -39,10 +40,21 @@ func NewAliyunALBDeployer(option *DeployerOption) (Deployer, error) {
return nil, xerrors.Wrap(err, "failed to create sdk client") return nil, xerrors.Wrap(err, "failed to create sdk client")
} }
aliCasRegion := option.DeployConfig.GetConfigAsString("region")
if aliCasRegion != "" {
// 阿里云 CAS 服务接入点是独立于 ALB 服务的
// 国内版接入点:华东一杭州
// 国际版接入点:亚太东南一新加坡
if !strings.HasPrefix(aliCasRegion, "cn-") {
aliCasRegion = "ap-southeast-1"
} else {
aliCasRegion = "cn-hangzhou"
}
}
uploader, err := uploaderAliyunCas.New(&uploaderAliyunCas.AliyunCASUploaderConfig{ uploader, err := uploaderAliyunCas.New(&uploaderAliyunCas.AliyunCASUploaderConfig{
AccessKeyId: access.AccessKeyId, AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.AccessKeySecret, AccessKeySecret: access.AccessKeySecret,
Region: "", // TODO: 暂时传空,但仅支持阿里云国内版、不支持国际版,后续需要重新设计表单以区分国内国际 Region: aliCasRegion,
}) })
if err != nil { if err != nil {
return nil, xerrors.Wrap(err, "failed to create ssl uploader") return nil, xerrors.Wrap(err, "failed to create ssl uploader")

View File

@ -5,6 +5,7 @@ import (
"encoding/json" "encoding/json"
"errors" "errors"
"fmt" "fmt"
"strings"
aliyunOpen "github.com/alibabacloud-go/darabonba-openapi/v2/client" aliyunOpen "github.com/alibabacloud-go/darabonba-openapi/v2/client"
aliyunNlb "github.com/alibabacloud-go/nlb-20220430/v2/client" aliyunNlb "github.com/alibabacloud-go/nlb-20220430/v2/client"
@ -39,10 +40,21 @@ func NewAliyunNLBDeployer(option *DeployerOption) (Deployer, error) {
return nil, xerrors.Wrap(err, "failed to create sdk client") return nil, xerrors.Wrap(err, "failed to create sdk client")
} }
aliCasRegion := option.DeployConfig.GetConfigAsString("region")
if aliCasRegion != "" {
// 阿里云 CAS 服务接入点是独立于 NLB 服务的
// 国内版接入点:华东一杭州
// 国际版接入点:亚太东南一新加坡
if !strings.HasPrefix(aliCasRegion, "cn-") {
aliCasRegion = "ap-southeast-1"
} else {
aliCasRegion = "cn-hangzhou"
}
}
uploader, err := uploaderAliyunCas.New(&uploaderAliyunCas.AliyunCASUploaderConfig{ uploader, err := uploaderAliyunCas.New(&uploaderAliyunCas.AliyunCASUploaderConfig{
AccessKeyId: access.AccessKeyId, AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.AccessKeySecret, AccessKeySecret: access.AccessKeySecret,
Region: "", // TODO: 暂时传空,但仅支持阿里云国内版、不支持国际版,后续需要重新设计表单以区分国内国际 Region: aliCasRegion,
}) })
if err != nil { if err != nil {
return nil, xerrors.Wrap(err, "failed to create ssl uploader") return nil, xerrors.Wrap(err, "failed to create ssl uploader")

View File

@ -70,8 +70,6 @@ func (d *TencentCLBDeployer) GetInfos() []string {
} }
func (d *TencentCLBDeployer) Deploy(ctx context.Context) error { func (d *TencentCLBDeployer) Deploy(ctx context.Context) error {
// TODO: 直接部署方式
switch d.option.DeployConfig.GetConfigAsString("resourceType") { switch d.option.DeployConfig.GetConfigAsString("resourceType") {
case "ssl-deploy": case "ssl-deploy":
// 通过 SSL 服务部署到云资源实例 // 通过 SSL 服务部署到云资源实例