diff --git a/go.mod b/go.mod
index a4ab4379..37686d8c 100644
--- a/go.mod
+++ b/go.mod
@@ -20,6 +20,7 @@ require (
github.com/alibabacloud-go/esa-20240910/v2 v2.32.0
github.com/alibabacloud-go/fc-20230330/v4 v4.3.5
github.com/alibabacloud-go/fc-open-20210406/v2 v2.0.12
+ github.com/alibabacloud-go/ga-20191120/v3 v3.1.8
github.com/alibabacloud-go/live-20161101 v1.1.1
github.com/alibabacloud-go/nlb-20220430/v2 v2.0.3
github.com/alibabacloud-go/slb-20140515/v4 v4.0.10
diff --git a/go.sum b/go.sum
index b9d4247d..5a64f77a 100644
--- a/go.sum
+++ b/go.sum
@@ -112,6 +112,7 @@ github.com/alibabacloud-go/darabonba-map v0.0.2/go.mod h1:28AJaX8FOE/ym8OUFWga+M
github.com/alibabacloud-go/darabonba-openapi/v2 v2.0.0/go.mod h1:5JHVmnHvGzR2wNdgaW1zDLQG8kOC4Uec8ubkMogW7OQ=
github.com/alibabacloud-go/darabonba-openapi/v2 v2.0.2/go.mod h1:5JHVmnHvGzR2wNdgaW1zDLQG8kOC4Uec8ubkMogW7OQ=
github.com/alibabacloud-go/darabonba-openapi/v2 v2.0.5/go.mod h1:kUe8JqFmoVU7lfBauaDD5taFaW7mBI+xVsyHutYtabg=
+github.com/alibabacloud-go/darabonba-openapi/v2 v2.0.9/go.mod h1:bb+Io8Sn2RuM3/Rpme6ll86jMyFSrD1bxeV/+v61KeU=
github.com/alibabacloud-go/darabonba-openapi/v2 v2.0.10/go.mod h1:26a14FGhZVELuz2cc2AolvW4RHmIO3/HRwsdHhaIPDE=
github.com/alibabacloud-go/darabonba-openapi/v2 v2.0.11/go.mod h1:wHxkgZT1ClZdcwEVP/pDgYK/9HucsnCfMipmJgCz4xY=
github.com/alibabacloud-go/darabonba-openapi/v2 v2.1.7 h1:ASXSBga98QrGMxbIThCD6jAti09gedLfvry6yJtsoBE=
@@ -137,6 +138,8 @@ github.com/alibabacloud-go/fc-20230330/v4 v4.3.5 h1:nDNjVzGwkQPbQnAuxAmxvS9x8QGL
github.com/alibabacloud-go/fc-20230330/v4 v4.3.5/go.mod h1:vEJimQ6E/e+m2z0/oXdeQWlFw/Pi/Ar6NKcMrSvcILE=
github.com/alibabacloud-go/fc-open-20210406/v2 v2.0.12 h1:A3D8Mp6qf8DfR6Dt5MpS8aDVaWfS4N85T5CvGUvgrjM=
github.com/alibabacloud-go/fc-open-20210406/v2 v2.0.12/go.mod h1:F5c0E5UB3k8v6neTtw3FBcJ1YCNFzVoL1JPRHTe33u4=
+github.com/alibabacloud-go/ga-20191120/v3 v3.1.8 h1:5GF0PXijDhxRQ3gTg9Ee/CVPtglkxuVdz4yIQgYLPgw=
+github.com/alibabacloud-go/ga-20191120/v3 v3.1.8/go.mod h1:RVpR9VL4YECKoZCQijTYfPk8k52O61v6hSRekjxF0kw=
github.com/alibabacloud-go/live-20161101 v1.1.1 h1:rUGfA8RHmCMtQ5M3yMSyRde+yRXWqVecmiXBU3XrGJ8=
github.com/alibabacloud-go/live-20161101 v1.1.1/go.mod h1:g84w6qeAodT0/IHdc0tEed2a8PyhQhYl7TAj3jGl4A4=
github.com/alibabacloud-go/nlb-20220430/v2 v2.0.3 h1:LtyUVlgBEKyzWgQJurzXM6MXCt84sQr9cE5OKqYymko=
diff --git a/internal/applicant/applicant.go b/internal/applicant/applicant.go
index 6d17e940..e6a04bcd 100644
--- a/internal/applicant/applicant.go
+++ b/internal/applicant/applicant.go
@@ -54,20 +54,20 @@ func NewWithWorkflowNode(config ApplicantWithWorkflowNodeConfig) (Applicant, err
nodeConfig := config.Node.GetConfigForApply()
options := &applicantProviderOptions{
- Domains: sliceutil.Filter(strings.Split(nodeConfig.Domains, ";"), func(s string) bool { return s != "" }),
- ContactEmail: nodeConfig.ContactEmail,
- Provider: domain.ACMEDns01ProviderType(nodeConfig.Provider),
- ProviderAccessConfig: make(map[string]any),
- ProviderExtendedConfig: nodeConfig.ProviderConfig,
- CAProvider: domain.CAProviderType(nodeConfig.CAProvider),
- CAProviderAccessConfig: make(map[string]any),
- CAProviderExtendedConfig: nodeConfig.CAProviderConfig,
- KeyAlgorithm: nodeConfig.KeyAlgorithm,
- Nameservers: sliceutil.Filter(strings.Split(nodeConfig.Nameservers, ";"), func(s string) bool { return s != "" }),
- DnsPropagationWait: nodeConfig.DnsPropagationWait,
- DnsPropagationTimeout: nodeConfig.DnsPropagationTimeout,
- DnsTTL: nodeConfig.DnsTTL,
- DisableFollowCNAME: nodeConfig.DisableFollowCNAME,
+ Domains: sliceutil.Filter(strings.Split(nodeConfig.Domains, ";"), func(s string) bool { return s != "" }),
+ ContactEmail: nodeConfig.ContactEmail,
+ Provider: domain.ACMEDns01ProviderType(nodeConfig.Provider),
+ ProviderAccessConfig: make(map[string]any),
+ ProviderServiceConfig: nodeConfig.ProviderConfig,
+ CAProvider: domain.CAProviderType(nodeConfig.CAProvider),
+ CAProviderAccessConfig: make(map[string]any),
+ CAProviderServiceConfig: nodeConfig.CAProviderConfig,
+ KeyAlgorithm: nodeConfig.KeyAlgorithm,
+ Nameservers: sliceutil.Filter(strings.Split(nodeConfig.Nameservers, ";"), func(s string) bool { return s != "" }),
+ DnsPropagationWait: nodeConfig.DnsPropagationWait,
+ DnsPropagationTimeout: nodeConfig.DnsPropagationTimeout,
+ DnsTTL: nodeConfig.DnsTTL,
+ DisableFollowCNAME: nodeConfig.DisableFollowCNAME,
}
accessRepo := repository.NewAccessRepository()
diff --git a/internal/applicant/providers.go b/internal/applicant/providers.go
index bf27e7e3..de47ae18 100644
--- a/internal/applicant/providers.go
+++ b/internal/applicant/providers.go
@@ -42,23 +42,23 @@ import (
)
type applicantProviderOptions struct {
- Domains []string
- ContactEmail string
- Provider domain.ACMEDns01ProviderType
- ProviderAccessConfig map[string]any
- ProviderExtendedConfig map[string]any
- CAProvider domain.CAProviderType
- CAProviderAccessId string
- CAProviderAccessConfig map[string]any
- CAProviderExtendedConfig map[string]any
- KeyAlgorithm string
- Nameservers []string
- DnsPropagationWait int32
- DnsPropagationTimeout int32
- DnsTTL int32
- DisableFollowCNAME bool
- ReplacedARIAcct string
- ReplacedARICert string
+ Domains []string
+ ContactEmail string
+ Provider domain.ACMEDns01ProviderType
+ ProviderAccessConfig map[string]any
+ ProviderServiceConfig map[string]any
+ CAProvider domain.CAProviderType
+ CAProviderAccessId string
+ CAProviderAccessConfig map[string]any
+ CAProviderServiceConfig map[string]any
+ KeyAlgorithm string
+ Nameservers []string
+ DnsPropagationWait int32
+ DnsPropagationTimeout int32
+ DnsTTL int32
+ DisableFollowCNAME bool
+ ReplacedARIAcct string
+ ReplacedARICert string
}
func createApplicantProvider(options *applicantProviderOptions) (challenge.Provider, error) {
@@ -105,7 +105,7 @@ func createApplicantProvider(options *applicantProviderOptions) (challenge.Provi
applicant, err := pAliyunESA.NewChallengeProvider(&pAliyunESA.ChallengeProviderConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.AccessKeySecret,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
DnsPropagationTimeout: options.DnsPropagationTimeout,
DnsTTL: options.DnsTTL,
})
@@ -126,8 +126,8 @@ func createApplicantProvider(options *applicantProviderOptions) (challenge.Provi
applicant, err := pAWSRoute53.NewChallengeProvider(&pAWSRoute53.ChallengeProviderConfig{
AccessKeyId: access.AccessKeyId,
SecretAccessKey: access.SecretAccessKey,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- HostedZoneId: maputil.GetString(options.ProviderExtendedConfig, "hostedZoneId"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ HostedZoneId: maputil.GetString(options.ProviderServiceConfig, "hostedZoneId"),
DnsPropagationTimeout: options.DnsPropagationTimeout,
DnsTTL: options.DnsTTL,
})
@@ -334,7 +334,7 @@ func createApplicantProvider(options *applicantProviderOptions) (challenge.Provi
applicant, err := pHuaweiCloud.NewChallengeProvider(&pHuaweiCloud.ChallengeProviderConfig{
AccessKeyId: access.AccessKeyId,
SecretAccessKey: access.SecretAccessKey,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
DnsPropagationTimeout: options.DnsPropagationTimeout,
DnsTTL: options.DnsTTL,
})
@@ -351,7 +351,7 @@ func createApplicantProvider(options *applicantProviderOptions) (challenge.Provi
applicant, err := pJDCloud.NewChallengeProvider(&pJDCloud.ChallengeProviderConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.AccessKeySecret,
- RegionId: maputil.GetString(options.ProviderExtendedConfig, "regionId"),
+ RegionId: maputil.GetString(options.ProviderServiceConfig, "regionId"),
DnsPropagationTimeout: options.DnsPropagationTimeout,
DnsTTL: options.DnsTTL,
})
@@ -521,7 +521,7 @@ func createApplicantProvider(options *applicantProviderOptions) (challenge.Provi
applicant, err := pTencentCloudEO.NewChallengeProvider(&pTencentCloudEO.ChallengeProviderConfig{
SecretId: access.SecretId,
SecretKey: access.SecretKey,
- ZoneId: maputil.GetString(options.ProviderExtendedConfig, "zoneId"),
+ ZoneId: maputil.GetString(options.ProviderServiceConfig, "zoneId"),
DnsPropagationTimeout: options.DnsPropagationTimeout,
DnsTTL: options.DnsTTL,
})
diff --git a/internal/deployer/deployer.go b/internal/deployer/deployer.go
index bdacf08e..e4a28746 100644
--- a/internal/deployer/deployer.go
+++ b/internal/deployer/deployer.go
@@ -31,9 +31,9 @@ func NewWithWorkflowNode(config DeployerWithWorkflowNodeConfig) (Deployer, error
nodeConfig := config.Node.GetConfigForDeploy()
options := &deployerProviderOptions{
- Provider: domain.DeploymentProviderType(nodeConfig.Provider),
- ProviderAccessConfig: make(map[string]any),
- ProviderExtendedConfig: nodeConfig.ProviderConfig,
+ Provider: domain.DeploymentProviderType(nodeConfig.Provider),
+ ProviderAccessConfig: make(map[string]any),
+ ProviderServiceConfig: nodeConfig.ProviderConfig,
}
accessRepo := repository.NewAccessRepository()
diff --git a/internal/deployer/providers.go b/internal/deployer/providers.go
index bf7483d9..8870fe97 100644
--- a/internal/deployer/providers.go
+++ b/internal/deployer/providers.go
@@ -19,6 +19,7 @@ import (
pAliyunDDoS "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aliyun-ddos"
pAliyunESA "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aliyun-esa"
pAliyunFC "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aliyun-fc"
+ pAliyunGA "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aliyun-ga"
pAliyunLive "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aliyun-live"
pAliyunNLB "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aliyun-nlb"
pAliyunOSS "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aliyun-oss"
@@ -92,9 +93,9 @@ import (
)
type deployerProviderOptions struct {
- Provider domain.DeploymentProviderType
- ProviderAccessConfig map[string]any
- ProviderExtendedConfig map[string]any
+ Provider domain.DeploymentProviderType
+ ProviderAccessConfig map[string]any
+ ProviderServiceConfig map[string]any
}
func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer, error) {
@@ -117,7 +118,7 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
ApiVersion: access.ApiVersion,
ApiKey: access.ApiKey,
AllowInsecureConnections: access.AllowInsecureConnections,
- AutoRestart: maputil.GetBool(options.ProviderExtendedConfig, "autoRestart"),
+ AutoRestart: maputil.GetBool(options.ProviderServiceConfig, "autoRestart"),
})
return deployer, err
@@ -127,9 +128,9 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
ApiVersion: access.ApiVersion,
ApiKey: access.ApiKey,
AllowInsecureConnections: access.AllowInsecureConnections,
- ResourceType: p1PanelSite.ResourceType(maputil.GetOrDefaultString(options.ProviderExtendedConfig, "resourceType", string(p1PanelSite.RESOURCE_TYPE_WEBSITE))),
- WebsiteId: maputil.GetInt64(options.ProviderExtendedConfig, "websiteId"),
- CertificateId: maputil.GetInt64(options.ProviderExtendedConfig, "certificateId"),
+ ResourceType: p1PanelSite.ResourceType(maputil.GetOrDefaultString(options.ProviderServiceConfig, "resourceType", string(p1PanelSite.RESOURCE_TYPE_WEBSITE))),
+ WebsiteId: maputil.GetInt64(options.ProviderServiceConfig, "websiteId"),
+ CertificateId: maputil.GetInt64(options.ProviderServiceConfig, "certificateId"),
})
return deployer, err
@@ -138,7 +139,7 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
}
}
- case domain.DeploymentProviderTypeAliyunALB, domain.DeploymentProviderTypeAliyunAPIGW, domain.DeploymentProviderTypeAliyunCAS, domain.DeploymentProviderTypeAliyunCASDeploy, domain.DeploymentProviderTypeAliyunCDN, domain.DeploymentProviderTypeAliyunCLB, domain.DeploymentProviderTypeAliyunDCDN, domain.DeploymentProviderTypeAliyunDDoS, domain.DeploymentProviderTypeAliyunESA, domain.DeploymentProviderTypeAliyunFC, domain.DeploymentProviderTypeAliyunLive, domain.DeploymentProviderTypeAliyunNLB, domain.DeploymentProviderTypeAliyunOSS, domain.DeploymentProviderTypeAliyunVOD, domain.DeploymentProviderTypeAliyunWAF:
+ case domain.DeploymentProviderTypeAliyunALB, domain.DeploymentProviderTypeAliyunAPIGW, domain.DeploymentProviderTypeAliyunCAS, domain.DeploymentProviderTypeAliyunCASDeploy, domain.DeploymentProviderTypeAliyunCDN, domain.DeploymentProviderTypeAliyunCLB, domain.DeploymentProviderTypeAliyunDCDN, domain.DeploymentProviderTypeAliyunDDoS, domain.DeploymentProviderTypeAliyunESA, domain.DeploymentProviderTypeAliyunFC, domain.DeploymentProviderTypeAliyunGA, domain.DeploymentProviderTypeAliyunLive, domain.DeploymentProviderTypeAliyunNLB, domain.DeploymentProviderTypeAliyunOSS, domain.DeploymentProviderTypeAliyunVOD, domain.DeploymentProviderTypeAliyunWAF:
{
access := domain.AccessConfigForAliyun{}
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
@@ -150,11 +151,11 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pAliyunALB.NewDeployer(&pAliyunALB.DeployerConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.AccessKeySecret,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- ResourceType: pAliyunALB.ResourceType(maputil.GetString(options.ProviderExtendedConfig, "resourceType")),
- LoadbalancerId: maputil.GetString(options.ProviderExtendedConfig, "loadbalancerId"),
- ListenerId: maputil.GetString(options.ProviderExtendedConfig, "listenerId"),
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ ResourceType: pAliyunALB.ResourceType(maputil.GetString(options.ProviderServiceConfig, "resourceType")),
+ LoadbalancerId: maputil.GetString(options.ProviderServiceConfig, "loadbalancerId"),
+ ListenerId: maputil.GetString(options.ProviderServiceConfig, "listenerId"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -162,11 +163,11 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pAliyunAPIGW.NewDeployer(&pAliyunAPIGW.DeployerConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.AccessKeySecret,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- ServiceType: pAliyunAPIGW.ServiceType(maputil.GetString(options.ProviderExtendedConfig, "serviceType")),
- GatewayId: maputil.GetString(options.ProviderExtendedConfig, "gatewayId"),
- GroupId: maputil.GetString(options.ProviderExtendedConfig, "groupId"),
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ ServiceType: pAliyunAPIGW.ServiceType(maputil.GetString(options.ProviderServiceConfig, "serviceType")),
+ GatewayId: maputil.GetString(options.ProviderServiceConfig, "gatewayId"),
+ GroupId: maputil.GetString(options.ProviderServiceConfig, "groupId"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -174,7 +175,7 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pAliyunCAS.NewDeployer(&pAliyunCAS.DeployerConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.AccessKeySecret,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
})
return deployer, err
@@ -182,9 +183,9 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pAliyunCASDeploy.NewDeployer(&pAliyunCASDeploy.DeployerConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.AccessKeySecret,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- ResourceIds: sliceutil.Filter(strings.Split(maputil.GetString(options.ProviderExtendedConfig, "resourceIds"), ";"), func(s string) bool { return s != "" }),
- ContactIds: sliceutil.Filter(strings.Split(maputil.GetString(options.ProviderExtendedConfig, "contactIds"), ";"), func(s string) bool { return s != "" }),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ ResourceIds: sliceutil.Filter(strings.Split(maputil.GetString(options.ProviderServiceConfig, "resourceIds"), ";"), func(s string) bool { return s != "" }),
+ ContactIds: sliceutil.Filter(strings.Split(maputil.GetString(options.ProviderServiceConfig, "contactIds"), ";"), func(s string) bool { return s != "" }),
})
return deployer, err
@@ -192,7 +193,7 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pAliyunCDN.NewDeployer(&pAliyunCDN.DeployerConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.AccessKeySecret,
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -200,11 +201,11 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pAliyunCLB.NewDeployer(&pAliyunCLB.DeployerConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.AccessKeySecret,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- ResourceType: pAliyunCLB.ResourceType(maputil.GetString(options.ProviderExtendedConfig, "resourceType")),
- LoadbalancerId: maputil.GetString(options.ProviderExtendedConfig, "loadbalancerId"),
- ListenerPort: maputil.GetOrDefaultInt32(options.ProviderExtendedConfig, "listenerPort", 443),
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ ResourceType: pAliyunCLB.ResourceType(maputil.GetString(options.ProviderServiceConfig, "resourceType")),
+ LoadbalancerId: maputil.GetString(options.ProviderServiceConfig, "loadbalancerId"),
+ ListenerPort: maputil.GetOrDefaultInt32(options.ProviderServiceConfig, "listenerPort", 443),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -212,7 +213,7 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pAliyunDCDN.NewDeployer(&pAliyunDCDN.DeployerConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.AccessKeySecret,
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -220,8 +221,8 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pAliyunDDoS.NewDeployer(&pAliyunDDoS.DeployerConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.AccessKeySecret,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -229,8 +230,8 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pAliyunESA.NewDeployer(&pAliyunESA.DeployerConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.AccessKeySecret,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- SiteId: maputil.GetInt64(options.ProviderExtendedConfig, "siteId"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ SiteId: maputil.GetInt64(options.ProviderServiceConfig, "siteId"),
})
return deployer, err
@@ -238,9 +239,20 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pAliyunFC.NewDeployer(&pAliyunFC.DeployerConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.AccessKeySecret,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- ServiceVersion: maputil.GetOrDefaultString(options.ProviderExtendedConfig, "serviceVersion", "3.0"),
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ ServiceVersion: maputil.GetOrDefaultString(options.ProviderServiceConfig, "serviceVersion", "3.0"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
+ })
+ return deployer, err
+
+ case domain.DeploymentProviderTypeAliyunGA:
+ deployer, err := pAliyunGA.NewDeployer(&pAliyunGA.DeployerConfig{
+ AccessKeyId: access.AccessKeyId,
+ AccessKeySecret: access.AccessKeySecret,
+ ResourceType: pAliyunGA.ResourceType(maputil.GetString(options.ProviderServiceConfig, "resourceType")),
+ AcceleratorId: maputil.GetString(options.ProviderServiceConfig, "acceleratorId"),
+ ListenerId: maputil.GetString(options.ProviderServiceConfig, "listenerId"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -248,8 +260,8 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pAliyunLive.NewDeployer(&pAliyunLive.DeployerConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.AccessKeySecret,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -257,10 +269,10 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pAliyunNLB.NewDeployer(&pAliyunNLB.DeployerConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.AccessKeySecret,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- ResourceType: pAliyunNLB.ResourceType(maputil.GetString(options.ProviderExtendedConfig, "resourceType")),
- LoadbalancerId: maputil.GetString(options.ProviderExtendedConfig, "loadbalancerId"),
- ListenerId: maputil.GetString(options.ProviderExtendedConfig, "listenerId"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ ResourceType: pAliyunNLB.ResourceType(maputil.GetString(options.ProviderServiceConfig, "resourceType")),
+ LoadbalancerId: maputil.GetString(options.ProviderServiceConfig, "loadbalancerId"),
+ ListenerId: maputil.GetString(options.ProviderServiceConfig, "listenerId"),
})
return deployer, err
@@ -268,9 +280,9 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pAliyunOSS.NewDeployer(&pAliyunOSS.DeployerConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.AccessKeySecret,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- Bucket: maputil.GetString(options.ProviderExtendedConfig, "bucket"),
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ Bucket: maputil.GetString(options.ProviderServiceConfig, "bucket"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -278,8 +290,8 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pAliyunVOD.NewDeployer(&pAliyunVOD.DeployerConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.AccessKeySecret,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -287,10 +299,10 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pAliyunWAF.NewDeployer(&pAliyunWAF.DeployerConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.AccessKeySecret,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- ServiceVersion: maputil.GetOrDefaultString(options.ProviderExtendedConfig, "serviceVersion", "3.0"),
- InstanceId: maputil.GetString(options.ProviderExtendedConfig, "instanceId"),
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ ServiceVersion: maputil.GetOrDefaultString(options.ProviderServiceConfig, "serviceVersion", "3.0"),
+ InstanceId: maputil.GetString(options.ProviderServiceConfig, "instanceId"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -311,8 +323,8 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pAWSACM.NewDeployer(&pAWSACM.DeployerConfig{
AccessKeyId: access.AccessKeyId,
SecretAccessKey: access.SecretAccessKey,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- CertificateArn: maputil.GetString(options.ProviderExtendedConfig, "certificateArn"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ CertificateArn: maputil.GetString(options.ProviderServiceConfig, "certificateArn"),
})
return deployer, err
@@ -320,8 +332,8 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pAWSCloudFront.NewDeployer(&pAWSCloudFront.DeployerConfig{
AccessKeyId: access.AccessKeyId,
SecretAccessKey: access.SecretAccessKey,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- DistributionId: maputil.GetString(options.ProviderExtendedConfig, "distributionId"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ DistributionId: maputil.GetString(options.ProviderServiceConfig, "distributionId"),
})
return deployer, err
@@ -344,8 +356,8 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
ClientId: access.ClientId,
ClientSecret: access.ClientSecret,
CloudName: access.CloudName,
- KeyVaultName: maputil.GetString(options.ProviderExtendedConfig, "keyvaultName"),
- CertificateName: maputil.GetString(options.ProviderExtendedConfig, "certificateName"),
+ KeyVaultName: maputil.GetString(options.ProviderServiceConfig, "keyvaultName"),
+ CertificateName: maputil.GetString(options.ProviderServiceConfig, "certificateName"),
})
return deployer, err
@@ -366,11 +378,11 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pBaiduCloudAppBLB.NewDeployer(&pBaiduCloudAppBLB.DeployerConfig{
AccessKeyId: access.AccessKeyId,
SecretAccessKey: access.SecretAccessKey,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- ResourceType: pBaiduCloudAppBLB.ResourceType(maputil.GetString(options.ProviderExtendedConfig, "resourceType")),
- LoadbalancerId: maputil.GetString(options.ProviderExtendedConfig, "loadbalancerId"),
- ListenerPort: maputil.GetInt32(options.ProviderExtendedConfig, "listenerPort"),
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ ResourceType: pBaiduCloudAppBLB.ResourceType(maputil.GetString(options.ProviderServiceConfig, "resourceType")),
+ LoadbalancerId: maputil.GetString(options.ProviderServiceConfig, "loadbalancerId"),
+ ListenerPort: maputil.GetInt32(options.ProviderServiceConfig, "listenerPort"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -378,11 +390,11 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pBaiduCloudBLB.NewDeployer(&pBaiduCloudBLB.DeployerConfig{
AccessKeyId: access.AccessKeyId,
SecretAccessKey: access.SecretAccessKey,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- ResourceType: pBaiduCloudBLB.ResourceType(maputil.GetString(options.ProviderExtendedConfig, "resourceType")),
- LoadbalancerId: maputil.GetString(options.ProviderExtendedConfig, "loadbalancerId"),
- ListenerPort: maputil.GetInt32(options.ProviderExtendedConfig, "listenerPort"),
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ ResourceType: pBaiduCloudBLB.ResourceType(maputil.GetString(options.ProviderServiceConfig, "resourceType")),
+ LoadbalancerId: maputil.GetString(options.ProviderServiceConfig, "loadbalancerId"),
+ ListenerPort: maputil.GetInt32(options.ProviderServiceConfig, "listenerPort"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -390,7 +402,7 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pBaiduCloudCDN.NewDeployer(&pBaiduCloudCDN.DeployerConfig{
AccessKeyId: access.AccessKeyId,
SecretAccessKey: access.SecretAccessKey,
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -417,8 +429,8 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
case domain.DeploymentProviderTypeBaishanCDN:
deployer, err := pBaishanCDN.NewDeployer(&pBaishanCDN.DeployerConfig{
ApiToken: access.ApiToken,
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
- CertificateId: maputil.GetString(options.ProviderExtendedConfig, "certificateId"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
+ CertificateId: maputil.GetString(options.ProviderServiceConfig, "certificateId"),
})
return deployer, err
@@ -440,7 +452,7 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
ApiUrl: access.ApiUrl,
ApiKey: access.ApiKey,
AllowInsecureConnections: access.AllowInsecureConnections,
- AutoRestart: maputil.GetBool(options.ProviderExtendedConfig, "autoRestart"),
+ AutoRestart: maputil.GetBool(options.ProviderServiceConfig, "autoRestart"),
})
return deployer, err
@@ -449,9 +461,9 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
ApiUrl: access.ApiUrl,
ApiKey: access.ApiKey,
AllowInsecureConnections: access.AllowInsecureConnections,
- SiteType: maputil.GetOrDefaultString(options.ProviderExtendedConfig, "siteType", "other"),
- SiteName: maputil.GetString(options.ProviderExtendedConfig, "siteName"),
- SiteNames: sliceutil.Filter(strings.Split(maputil.GetString(options.ProviderExtendedConfig, "siteNames"), ";"), func(s string) bool { return s != "" }),
+ SiteType: maputil.GetOrDefaultString(options.ProviderServiceConfig, "siteType", "other"),
+ SiteName: maputil.GetString(options.ProviderServiceConfig, "siteName"),
+ SiteNames: sliceutil.Filter(strings.Split(maputil.GetString(options.ProviderServiceConfig, "siteNames"), ";"), func(s string) bool { return s != "" }),
})
return deployer, err
@@ -469,8 +481,8 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pBunnyCDN.NewDeployer(&pBunnyCDN.DeployerConfig{
ApiKey: access.ApiKey,
- PullZoneId: maputil.GetString(options.ProviderExtendedConfig, "pullZoneId"),
- Hostname: maputil.GetString(options.ProviderExtendedConfig, "hostname"),
+ PullZoneId: maputil.GetString(options.ProviderServiceConfig, "pullZoneId"),
+ Hostname: maputil.GetString(options.ProviderServiceConfig, "hostname"),
})
return deployer, err
}
@@ -487,7 +499,7 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pBytePlusCDN.NewDeployer(&pBytePlusCDN.DeployerConfig{
AccessKey: access.AccessKey,
SecretKey: access.SecretKey,
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -521,9 +533,9 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
ApiKey: access.ApiKey,
ApiSecret: access.ApiSecret,
AllowInsecureConnections: access.AllowInsecureConnections,
- ResourceType: pCdnfly.ResourceType(maputil.GetOrDefaultString(options.ProviderExtendedConfig, "resourceType", string(pCdnfly.RESOURCE_TYPE_SITE))),
- SiteId: maputil.GetString(options.ProviderExtendedConfig, "siteId"),
- CertificateId: maputil.GetString(options.ProviderExtendedConfig, "certificateId"),
+ ResourceType: pCdnfly.ResourceType(maputil.GetOrDefaultString(options.ProviderServiceConfig, "resourceType", string(pCdnfly.RESOURCE_TYPE_SITE))),
+ SiteId: maputil.GetString(options.ProviderServiceConfig, "siteId"),
+ CertificateId: maputil.GetString(options.ProviderServiceConfig, "certificateId"),
})
return deployer, err
}
@@ -538,7 +550,7 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pDogeCDN.NewDeployer(&pDogeCDN.DeployerConfig{
AccessKey: access.AccessKey,
SecretKey: access.SecretKey,
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
}
@@ -553,7 +565,7 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pEdgioApplications.NewDeployer(&pEdgioApplications.DeployerConfig{
ClientId: access.ClientId,
ClientSecret: access.ClientSecret,
- EnvironmentId: maputil.GetString(options.ProviderExtendedConfig, "environmentId"),
+ EnvironmentId: maputil.GetString(options.ProviderServiceConfig, "environmentId"),
})
return deployer, err
}
@@ -571,8 +583,8 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
AccessKeyId: access.AccessKeyId,
AccessKey: access.AccessKey,
AllowInsecureConnections: access.AllowInsecureConnections,
- ResourceType: pFlexCDN.ResourceType(maputil.GetString(options.ProviderExtendedConfig, "resourceType")),
- CertificateId: maputil.GetInt64(options.ProviderExtendedConfig, "certificateId"),
+ ResourceType: pFlexCDN.ResourceType(maputil.GetString(options.ProviderServiceConfig, "resourceType")),
+ CertificateId: maputil.GetInt64(options.ProviderServiceConfig, "certificateId"),
})
return deployer, err
}
@@ -588,8 +600,8 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
case domain.DeploymentProviderTypeGcoreCDN:
deployer, err := pGcoreCDN.NewDeployer(&pGcoreCDN.DeployerConfig{
ApiToken: access.ApiToken,
- ResourceId: maputil.GetInt64(options.ProviderExtendedConfig, "resourceId"),
- CertificateId: maputil.GetInt64(options.ProviderExtendedConfig, "certificateId"),
+ ResourceId: maputil.GetInt64(options.ProviderServiceConfig, "resourceId"),
+ CertificateId: maputil.GetInt64(options.ProviderServiceConfig, "certificateId"),
})
return deployer, err
@@ -611,8 +623,8 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
AccessKeyId: access.AccessKeyId,
AccessKey: access.AccessKey,
AllowInsecureConnections: access.AllowInsecureConnections,
- ResourceType: pGoEdge.ResourceType(maputil.GetString(options.ProviderExtendedConfig, "resourceType")),
- CertificateId: maputil.GetInt64(options.ProviderExtendedConfig, "certificateId"),
+ ResourceType: pGoEdge.ResourceType(maputil.GetString(options.ProviderServiceConfig, "resourceType")),
+ CertificateId: maputil.GetInt64(options.ProviderServiceConfig, "certificateId"),
})
return deployer, err
}
@@ -629,8 +641,8 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pHuaweiCloudCDN.NewDeployer(&pHuaweiCloudCDN.DeployerConfig{
AccessKeyId: access.AccessKeyId,
SecretAccessKey: access.SecretAccessKey,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -638,11 +650,11 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pHuaweiCloudELB.NewDeployer(&pHuaweiCloudELB.DeployerConfig{
AccessKeyId: access.AccessKeyId,
SecretAccessKey: access.SecretAccessKey,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- ResourceType: pHuaweiCloudELB.ResourceType(maputil.GetString(options.ProviderExtendedConfig, "resourceType")),
- CertificateId: maputil.GetString(options.ProviderExtendedConfig, "certificateId"),
- LoadbalancerId: maputil.GetString(options.ProviderExtendedConfig, "loadbalancerId"),
- ListenerId: maputil.GetString(options.ProviderExtendedConfig, "listenerId"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ ResourceType: pHuaweiCloudELB.ResourceType(maputil.GetString(options.ProviderServiceConfig, "resourceType")),
+ CertificateId: maputil.GetString(options.ProviderServiceConfig, "certificateId"),
+ LoadbalancerId: maputil.GetString(options.ProviderServiceConfig, "loadbalancerId"),
+ ListenerId: maputil.GetString(options.ProviderServiceConfig, "listenerId"),
})
return deployer, err
@@ -657,10 +669,10 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pHuaweiCloudWAF.NewDeployer(&pHuaweiCloudWAF.DeployerConfig{
AccessKeyId: access.AccessKeyId,
SecretAccessKey: access.SecretAccessKey,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- ResourceType: pHuaweiCloudWAF.ResourceType(maputil.GetString(options.ProviderExtendedConfig, "resourceType")),
- CertificateId: maputil.GetString(options.ProviderExtendedConfig, "certificateId"),
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ ResourceType: pHuaweiCloudWAF.ResourceType(maputil.GetString(options.ProviderServiceConfig, "resourceType")),
+ CertificateId: maputil.GetString(options.ProviderServiceConfig, "certificateId"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -681,10 +693,10 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pJDCloudALB.NewDeployer(&pJDCloudALB.DeployerConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.AccessKeySecret,
- RegionId: maputil.GetString(options.ProviderExtendedConfig, "regionId"),
- ResourceType: pJDCloudALB.ResourceType(maputil.GetString(options.ProviderExtendedConfig, "resourceType")),
- LoadbalancerId: maputil.GetString(options.ProviderExtendedConfig, "loadbalancerId"),
- ListenerId: maputil.GetString(options.ProviderExtendedConfig, "listenerId"),
+ RegionId: maputil.GetString(options.ProviderServiceConfig, "regionId"),
+ ResourceType: pJDCloudALB.ResourceType(maputil.GetString(options.ProviderServiceConfig, "resourceType")),
+ LoadbalancerId: maputil.GetString(options.ProviderServiceConfig, "loadbalancerId"),
+ ListenerId: maputil.GetString(options.ProviderServiceConfig, "listenerId"),
})
return deployer, err
@@ -692,7 +704,7 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pJDCloudCDN.NewDeployer(&pJDCloudCDN.DeployerConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.AccessKeySecret,
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -700,7 +712,7 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pJDCloudLive.NewDeployer(&pJDCloudLive.DeployerConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.AccessKeySecret,
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -708,7 +720,7 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pJDCloudVOD.NewDeployer(&pJDCloudVOD.DeployerConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.AccessKeySecret,
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -720,18 +732,18 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
case domain.DeploymentProviderTypeLocal:
{
deployer, err := pLocal.NewDeployer(&pLocal.DeployerConfig{
- ShellEnv: pLocal.ShellEnvType(maputil.GetString(options.ProviderExtendedConfig, "shellEnv")),
- PreCommand: maputil.GetString(options.ProviderExtendedConfig, "preCommand"),
- PostCommand: maputil.GetString(options.ProviderExtendedConfig, "postCommand"),
- OutputFormat: pLocal.OutputFormatType(maputil.GetOrDefaultString(options.ProviderExtendedConfig, "format", string(pLocal.OUTPUT_FORMAT_PEM))),
- OutputCertPath: maputil.GetString(options.ProviderExtendedConfig, "certPath"),
- OutputServerCertPath: maputil.GetString(options.ProviderExtendedConfig, "certPathForServerOnly"),
- OutputIntermediaCertPath: maputil.GetString(options.ProviderExtendedConfig, "certPathForIntermediaOnly"),
- OutputKeyPath: maputil.GetString(options.ProviderExtendedConfig, "keyPath"),
- PfxPassword: maputil.GetString(options.ProviderExtendedConfig, "pfxPassword"),
- JksAlias: maputil.GetString(options.ProviderExtendedConfig, "jksAlias"),
- JksKeypass: maputil.GetString(options.ProviderExtendedConfig, "jksKeypass"),
- JksStorepass: maputil.GetString(options.ProviderExtendedConfig, "jksStorepass"),
+ ShellEnv: pLocal.ShellEnvType(maputil.GetString(options.ProviderServiceConfig, "shellEnv")),
+ PreCommand: maputil.GetString(options.ProviderServiceConfig, "preCommand"),
+ PostCommand: maputil.GetString(options.ProviderServiceConfig, "postCommand"),
+ OutputFormat: pLocal.OutputFormatType(maputil.GetOrDefaultString(options.ProviderServiceConfig, "format", string(pLocal.OUTPUT_FORMAT_PEM))),
+ OutputCertPath: maputil.GetString(options.ProviderServiceConfig, "certPath"),
+ OutputServerCertPath: maputil.GetString(options.ProviderServiceConfig, "certPathForServerOnly"),
+ OutputIntermediaCertPath: maputil.GetString(options.ProviderServiceConfig, "certPathForIntermediaOnly"),
+ OutputKeyPath: maputil.GetString(options.ProviderServiceConfig, "keyPath"),
+ PfxPassword: maputil.GetString(options.ProviderServiceConfig, "pfxPassword"),
+ JksAlias: maputil.GetString(options.ProviderServiceConfig, "jksAlias"),
+ JksKeypass: maputil.GetString(options.ProviderServiceConfig, "jksKeypass"),
+ JksStorepass: maputil.GetString(options.ProviderServiceConfig, "jksStorepass"),
})
return deployer, err
}
@@ -745,11 +757,11 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pK8sSecret.NewDeployer(&pK8sSecret.DeployerConfig{
KubeConfig: access.KubeConfig,
- Namespace: maputil.GetOrDefaultString(options.ProviderExtendedConfig, "namespace", "default"),
- SecretName: maputil.GetString(options.ProviderExtendedConfig, "secretName"),
- SecretType: maputil.GetOrDefaultString(options.ProviderExtendedConfig, "secretType", "kubernetes.io/tls"),
- SecretDataKeyForCrt: maputil.GetOrDefaultString(options.ProviderExtendedConfig, "secretDataKeyForCrt", "tls.crt"),
- SecretDataKeyForKey: maputil.GetOrDefaultString(options.ProviderExtendedConfig, "secretDataKeyForKey", "tls.key"),
+ Namespace: maputil.GetOrDefaultString(options.ProviderServiceConfig, "namespace", "default"),
+ SecretName: maputil.GetString(options.ProviderServiceConfig, "secretName"),
+ SecretType: maputil.GetOrDefaultString(options.ProviderServiceConfig, "secretType", "kubernetes.io/tls"),
+ SecretDataKeyForCrt: maputil.GetOrDefaultString(options.ProviderServiceConfig, "secretDataKeyForCrt", "tls.crt"),
+ SecretDataKeyForKey: maputil.GetOrDefaultString(options.ProviderServiceConfig, "secretDataKeyForKey", "tls.key"),
})
return deployer, err
}
@@ -763,7 +775,7 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pNetlifySite.NewDeployer(&pNetlifySite.DeployerConfig{
ApiToken: access.ApiToken,
- SiteId: maputil.GetString(options.ProviderExtendedConfig, "siteId"),
+ SiteId: maputil.GetString(options.ProviderServiceConfig, "siteId"),
})
return deployer, err
}
@@ -780,8 +792,8 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
ApiToken: access.ApiToken,
ApiTokenSecret: access.ApiTokenSecret,
AllowInsecureConnections: access.AllowInsecureConnections,
- NodeName: maputil.GetString(options.ProviderExtendedConfig, "nodeName"),
- AutoRestart: maputil.GetBool(options.ProviderExtendedConfig, "autoRestart"),
+ NodeName: maputil.GetString(options.ProviderServiceConfig, "nodeName"),
+ AutoRestart: maputil.GetBool(options.ProviderServiceConfig, "autoRestart"),
})
return deployer, err
}
@@ -798,7 +810,7 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pQiniuCDN.NewDeployer(&pQiniuCDN.DeployerConfig{
AccessKey: access.AccessKey,
SecretKey: access.SecretKey,
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -806,8 +818,8 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pQiniuPili.NewDeployer(&pQiniuPili.DeployerConfig{
AccessKey: access.AccessKey,
SecretKey: access.SecretKey,
- Hub: maputil.GetString(options.ProviderExtendedConfig, "hub"),
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Hub: maputil.GetString(options.ProviderServiceConfig, "hub"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -827,8 +839,8 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
case domain.DeploymentProviderTypeTencentCloudCDN:
deployer, err := pRainYunRCDN.NewDeployer(&pRainYunRCDN.DeployerConfig{
ApiKey: access.ApiKey,
- InstanceId: maputil.GetInt32(options.ProviderExtendedConfig, "instanceId"),
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ InstanceId: maputil.GetInt32(options.ProviderServiceConfig, "instanceId"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -860,7 +872,7 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
AccessTokenId: access.AccessTokenId,
AccessToken: access.AccessToken,
AllowInsecureConnections: access.AllowInsecureConnections,
- SiteName: maputil.GetString(options.ProviderExtendedConfig, "siteName"),
+ SiteName: maputil.GetString(options.ProviderServiceConfig, "siteName"),
})
return deployer, err
@@ -880,8 +892,8 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
ApiUrl: access.ApiUrl,
ApiToken: access.ApiToken,
AllowInsecureConnections: access.AllowInsecureConnections,
- ResourceType: pSafeLine.ResourceType(maputil.GetString(options.ProviderExtendedConfig, "resourceType")),
- CertificateId: maputil.GetInt32(options.ProviderExtendedConfig, "certificateId"),
+ ResourceType: pSafeLine.ResourceType(maputil.GetString(options.ProviderServiceConfig, "resourceType")),
+ CertificateId: maputil.GetInt32(options.ProviderServiceConfig, "certificateId"),
})
return deployer, err
}
@@ -900,18 +912,18 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
SshPassword: access.Password,
SshKey: access.Key,
SshKeyPassphrase: access.KeyPassphrase,
- UseSCP: maputil.GetBool(options.ProviderExtendedConfig, "useSCP"),
- PreCommand: maputil.GetString(options.ProviderExtendedConfig, "preCommand"),
- PostCommand: maputil.GetString(options.ProviderExtendedConfig, "postCommand"),
- OutputFormat: pSSH.OutputFormatType(maputil.GetOrDefaultString(options.ProviderExtendedConfig, "format", string(pSSH.OUTPUT_FORMAT_PEM))),
- OutputCertPath: maputil.GetString(options.ProviderExtendedConfig, "certPath"),
- OutputServerCertPath: maputil.GetString(options.ProviderExtendedConfig, "certPathForServerOnly"),
- OutputIntermediaCertPath: maputil.GetString(options.ProviderExtendedConfig, "certPathForIntermediaOnly"),
- OutputKeyPath: maputil.GetString(options.ProviderExtendedConfig, "keyPath"),
- PfxPassword: maputil.GetString(options.ProviderExtendedConfig, "pfxPassword"),
- JksAlias: maputil.GetString(options.ProviderExtendedConfig, "jksAlias"),
- JksKeypass: maputil.GetString(options.ProviderExtendedConfig, "jksKeypass"),
- JksStorepass: maputil.GetString(options.ProviderExtendedConfig, "jksStorepass"),
+ UseSCP: maputil.GetBool(options.ProviderServiceConfig, "useSCP"),
+ PreCommand: maputil.GetString(options.ProviderServiceConfig, "preCommand"),
+ PostCommand: maputil.GetString(options.ProviderServiceConfig, "postCommand"),
+ OutputFormat: pSSH.OutputFormatType(maputil.GetOrDefaultString(options.ProviderServiceConfig, "format", string(pSSH.OUTPUT_FORMAT_PEM))),
+ OutputCertPath: maputil.GetString(options.ProviderServiceConfig, "certPath"),
+ OutputServerCertPath: maputil.GetString(options.ProviderServiceConfig, "certPathForServerOnly"),
+ OutputIntermediaCertPath: maputil.GetString(options.ProviderServiceConfig, "certPathForIntermediaOnly"),
+ OutputKeyPath: maputil.GetString(options.ProviderServiceConfig, "keyPath"),
+ PfxPassword: maputil.GetString(options.ProviderServiceConfig, "pfxPassword"),
+ JksAlias: maputil.GetString(options.ProviderServiceConfig, "jksAlias"),
+ JksKeypass: maputil.GetString(options.ProviderServiceConfig, "jksKeypass"),
+ JksStorepass: maputil.GetString(options.ProviderServiceConfig, "jksStorepass"),
})
return deployer, err
}
@@ -928,7 +940,7 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pTencentCloudCDN.NewDeployer(&pTencentCloudCDN.DeployerConfig{
SecretId: access.SecretId,
SecretKey: access.SecretKey,
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -936,11 +948,11 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pTencentCloudCLB.NewDeployer(&pTencentCloudCLB.DeployerConfig{
SecretId: access.SecretId,
SecretKey: access.SecretKey,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- ResourceType: pTencentCloudCLB.ResourceType(maputil.GetString(options.ProviderExtendedConfig, "resourceType")),
- LoadbalancerId: maputil.GetString(options.ProviderExtendedConfig, "loadbalancerId"),
- ListenerId: maputil.GetString(options.ProviderExtendedConfig, "listenerId"),
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ ResourceType: pTencentCloudCLB.ResourceType(maputil.GetString(options.ProviderServiceConfig, "resourceType")),
+ LoadbalancerId: maputil.GetString(options.ProviderServiceConfig, "loadbalancerId"),
+ ListenerId: maputil.GetString(options.ProviderServiceConfig, "listenerId"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -948,9 +960,9 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pTencentCloudCOS.NewDeployer(&pTencentCloudCOS.DeployerConfig{
SecretId: access.SecretId,
SecretKey: access.SecretKey,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- Bucket: maputil.GetString(options.ProviderExtendedConfig, "bucket"),
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ Bucket: maputil.GetString(options.ProviderServiceConfig, "bucket"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -958,7 +970,7 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pTencentCloudCSS.NewDeployer(&pTencentCloudCSS.DeployerConfig{
SecretId: access.SecretId,
SecretKey: access.SecretKey,
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -966,7 +978,7 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pTencentCloudECDN.NewDeployer(&pTencentCloudECDN.DeployerConfig{
SecretId: access.SecretId,
SecretKey: access.SecretKey,
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -974,8 +986,8 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pTencentCloudEO.NewDeployer(&pTencentCloudEO.DeployerConfig{
SecretId: access.SecretId,
SecretKey: access.SecretKey,
- ZoneId: maputil.GetString(options.ProviderExtendedConfig, "zoneId"),
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ ZoneId: maputil.GetString(options.ProviderServiceConfig, "zoneId"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -983,8 +995,8 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pTencentCloudSCF.NewDeployer(&pTencentCloudSCF.DeployerConfig{
SecretId: access.SecretId,
SecretKey: access.SecretKey,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -999,9 +1011,9 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pTencentCloudSSLDeploy.NewDeployer(&pTencentCloudSSLDeploy.DeployerConfig{
SecretId: access.SecretId,
SecretKey: access.SecretKey,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- ResourceType: maputil.GetString(options.ProviderExtendedConfig, "resourceType"),
- ResourceIds: sliceutil.Filter(strings.Split(maputil.GetString(options.ProviderExtendedConfig, "resourceIds"), ";"), func(s string) bool { return s != "" }),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ ResourceType: maputil.GetString(options.ProviderServiceConfig, "resourceType"),
+ ResourceIds: sliceutil.Filter(strings.Split(maputil.GetString(options.ProviderServiceConfig, "resourceIds"), ";"), func(s string) bool { return s != "" }),
})
return deployer, err
@@ -1009,8 +1021,8 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pTencentCloudVOD.NewDeployer(&pTencentCloudVOD.DeployerConfig{
SecretId: access.SecretId,
SecretKey: access.SecretKey,
- SubAppId: maputil.GetInt64(options.ProviderExtendedConfig, "subAppId"),
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ SubAppId: maputil.GetInt64(options.ProviderServiceConfig, "subAppId"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -1018,9 +1030,9 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pTencentCloudWAF.NewDeployer(&pTencentCloudWAF.DeployerConfig{
SecretId: access.SecretId,
SecretKey: access.SecretKey,
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
- DomainId: maputil.GetString(options.ProviderExtendedConfig, "domainId"),
- InstanceId: maputil.GetString(options.ProviderExtendedConfig, "instanceId"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
+ DomainId: maputil.GetString(options.ProviderServiceConfig, "domainId"),
+ InstanceId: maputil.GetString(options.ProviderServiceConfig, "instanceId"),
})
return deployer, err
@@ -1042,7 +1054,7 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
PrivateKey: access.PrivateKey,
PublicKey: access.PublicKey,
ProjectId: access.ProjectId,
- DomainId: maputil.GetString(options.ProviderExtendedConfig, "domainId"),
+ DomainId: maputil.GetString(options.ProviderServiceConfig, "domainId"),
})
return deployer, err
@@ -1051,9 +1063,9 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
PrivateKey: access.PrivateKey,
PublicKey: access.PublicKey,
ProjectId: access.ProjectId,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- Bucket: maputil.GetString(options.ProviderExtendedConfig, "bucket"),
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ Bucket: maputil.GetString(options.ProviderServiceConfig, "bucket"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -1074,7 +1086,7 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pUpyunCDN.NewDeployer(&pUpyunCDN.DeployerConfig{
Username: access.Username,
Password: access.Password,
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -1095,11 +1107,11 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pVolcEngineALB.NewDeployer(&pVolcEngineALB.DeployerConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.SecretAccessKey,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- ResourceType: pVolcEngineALB.ResourceType(maputil.GetString(options.ProviderExtendedConfig, "resourceType")),
- LoadbalancerId: maputil.GetString(options.ProviderExtendedConfig, "loadbalancerId"),
- ListenerId: maputil.GetString(options.ProviderExtendedConfig, "listenerId"),
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ ResourceType: pVolcEngineALB.ResourceType(maputil.GetString(options.ProviderServiceConfig, "resourceType")),
+ LoadbalancerId: maputil.GetString(options.ProviderServiceConfig, "loadbalancerId"),
+ ListenerId: maputil.GetString(options.ProviderServiceConfig, "listenerId"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -1107,7 +1119,7 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pVolcEngineCDN.NewDeployer(&pVolcEngineCDN.DeployerConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.SecretAccessKey,
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -1115,7 +1127,7 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pVolcEngineCertCenter.NewDeployer(&pVolcEngineCertCenter.DeployerConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.SecretAccessKey,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
})
return deployer, err
@@ -1123,10 +1135,10 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pVolcEngineCLB.NewDeployer(&pVolcEngineCLB.DeployerConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.SecretAccessKey,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- ResourceType: pVolcEngineCLB.ResourceType(maputil.GetString(options.ProviderExtendedConfig, "resourceType")),
- LoadbalancerId: maputil.GetString(options.ProviderExtendedConfig, "loadbalancerId"),
- ListenerId: maputil.GetString(options.ProviderExtendedConfig, "listenerId"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ ResourceType: pVolcEngineCLB.ResourceType(maputil.GetString(options.ProviderServiceConfig, "resourceType")),
+ LoadbalancerId: maputil.GetString(options.ProviderServiceConfig, "loadbalancerId"),
+ ListenerId: maputil.GetString(options.ProviderServiceConfig, "listenerId"),
})
return deployer, err
@@ -1134,7 +1146,7 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pVolcEngineDCDN.NewDeployer(&pVolcEngineDCDN.DeployerConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.SecretAccessKey,
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -1142,9 +1154,9 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pVolcEngineImageX.NewDeployer(&pVolcEngineImageX.DeployerConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.SecretAccessKey,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- ServiceId: maputil.GetString(options.ProviderExtendedConfig, "serviceId"),
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ ServiceId: maputil.GetString(options.ProviderServiceConfig, "serviceId"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -1152,7 +1164,7 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pVolcEngineLive.NewDeployer(&pVolcEngineLive.DeployerConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.SecretAccessKey,
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -1160,9 +1172,9 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pVolcEngineTOS.NewDeployer(&pVolcEngineTOS.DeployerConfig{
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.SecretAccessKey,
- Region: maputil.GetString(options.ProviderExtendedConfig, "region"),
- Bucket: maputil.GetString(options.ProviderExtendedConfig, "bucket"),
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
+ Region: maputil.GetString(options.ProviderServiceConfig, "region"),
+ Bucket: maputil.GetString(options.ProviderServiceConfig, "bucket"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
})
return deployer, err
@@ -1184,10 +1196,10 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
AccessKeyId: access.AccessKeyId,
AccessKeySecret: access.AccessKeySecret,
ApiKey: access.ApiKey,
- Environment: maputil.GetOrDefaultString(options.ProviderExtendedConfig, "environment", "production"),
- Domain: maputil.GetString(options.ProviderExtendedConfig, "domain"),
- CertificateId: maputil.GetString(options.ProviderExtendedConfig, "certificateId"),
- WebhookId: maputil.GetString(options.ProviderExtendedConfig, "webhookId"),
+ Environment: maputil.GetOrDefaultString(options.ProviderServiceConfig, "environment", "production"),
+ Domain: maputil.GetString(options.ProviderServiceConfig, "domain"),
+ CertificateId: maputil.GetString(options.ProviderServiceConfig, "certificateId"),
+ WebhookId: maputil.GetString(options.ProviderServiceConfig, "webhookId"),
})
return deployer, err
@@ -1213,7 +1225,7 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
mergedHeaders[http.CanonicalHeaderKey(key)] = h.Get(key)
}
}
- if extendedHeadersString := maputil.GetString(options.ProviderExtendedConfig, "headers"); extendedHeadersString != "" {
+ if extendedHeadersString := maputil.GetString(options.ProviderServiceConfig, "headers"); extendedHeadersString != "" {
h, err := httputil.ParseHeaders(extendedHeadersString)
if err != nil {
return nil, fmt.Errorf("failed to parse webhook headers: %w", err)
@@ -1225,7 +1237,7 @@ func createDeployerProvider(options *deployerProviderOptions) (deployer.Deployer
deployer, err := pWebhook.NewDeployer(&pWebhook.DeployerConfig{
WebhookUrl: access.Url,
- WebhookData: maputil.GetOrDefaultString(options.ProviderExtendedConfig, "webhookData", access.DefaultDataForDeployment),
+ WebhookData: maputil.GetOrDefaultString(options.ProviderServiceConfig, "webhookData", access.DefaultDataForDeployment),
Method: access.Method,
Headers: mergedHeaders,
AllowInsecureConnections: access.AllowInsecureConnections,
diff --git a/internal/domain/provider.go b/internal/domain/provider.go
index 45c72c05..fcbaa031 100644
--- a/internal/domain/provider.go
+++ b/internal/domain/provider.go
@@ -174,7 +174,7 @@ const (
DeploymentProviderTypeAliyunDDoS = DeploymentProviderType(AccessProviderTypeAliyun + "-ddos")
DeploymentProviderTypeAliyunESA = DeploymentProviderType(AccessProviderTypeAliyun + "-esa")
DeploymentProviderTypeAliyunFC = DeploymentProviderType(AccessProviderTypeAliyun + "-fc")
- DeploymentProviderTypeAliyunGA = DeploymentProviderType(AccessProviderTypeAliyun + "-ga") // 阿里云全球加速(预留)
+ DeploymentProviderTypeAliyunGA = DeploymentProviderType(AccessProviderTypeAliyun + "-ga")
DeploymentProviderTypeAliyunLive = DeploymentProviderType(AccessProviderTypeAliyun + "-live")
DeploymentProviderTypeAliyunNLB = DeploymentProviderType(AccessProviderTypeAliyun + "-nlb")
DeploymentProviderTypeAliyunOSS = DeploymentProviderType(AccessProviderTypeAliyun + "-oss")
diff --git a/internal/notify/notifier.go b/internal/notify/notifier.go
index 955e88c3..ee3fbd2f 100644
--- a/internal/notify/notifier.go
+++ b/internal/notify/notifier.go
@@ -31,9 +31,9 @@ func NewWithWorkflowNode(config NotifierWithWorkflowNodeConfig) (Notifier, error
nodeConfig := config.Node.GetConfigForNotify()
options := ¬ifierProviderOptions{
- Provider: domain.NotificationProviderType(nodeConfig.Provider),
- ProviderAccessConfig: make(map[string]any),
- ProviderExtendedConfig: nodeConfig.ProviderConfig,
+ Provider: domain.NotificationProviderType(nodeConfig.Provider),
+ ProviderAccessConfig: make(map[string]any),
+ ProviderServiceConfig: nodeConfig.ProviderConfig,
}
accessRepo := repository.NewAccessRepository()
diff --git a/internal/notify/providers.go b/internal/notify/providers.go
index 70787480..3a8c575d 100644
--- a/internal/notify/providers.go
+++ b/internal/notify/providers.go
@@ -18,9 +18,9 @@ import (
)
type notifierProviderOptions struct {
- Provider domain.NotificationProviderType
- ProviderAccessConfig map[string]any
- ProviderExtendedConfig map[string]any
+ Provider domain.NotificationProviderType
+ ProviderAccessConfig map[string]any
+ ProviderServiceConfig map[string]any
}
func createNotifierProvider(options *notifierProviderOptions) (notifier.Notifier, error) {
@@ -55,8 +55,8 @@ func createNotifierProvider(options *notifierProviderOptions) (notifier.Notifier
SmtpTls: access.SmtpTls,
Username: access.Username,
Password: access.Password,
- SenderAddress: maputil.GetOrDefaultString(options.ProviderExtendedConfig, "senderAddress", access.DefaultSenderAddress),
- ReceiverAddress: maputil.GetOrDefaultString(options.ProviderExtendedConfig, "receiverAddress", access.DefaultReceiverAddress),
+ SenderAddress: maputil.GetOrDefaultString(options.ProviderServiceConfig, "senderAddress", access.DefaultSenderAddress),
+ ReceiverAddress: maputil.GetOrDefaultString(options.ProviderServiceConfig, "receiverAddress", access.DefaultReceiverAddress),
})
}
@@ -83,7 +83,7 @@ func createNotifierProvider(options *notifierProviderOptions) (notifier.Notifier
ServerUrl: access.ServerUrl,
Username: access.Username,
Password: access.Password,
- ChannelId: maputil.GetOrDefaultString(options.ProviderExtendedConfig, "channelId", access.DefaultChannelId),
+ ChannelId: maputil.GetOrDefaultString(options.ProviderServiceConfig, "channelId", access.DefaultChannelId),
})
}
@@ -96,7 +96,7 @@ func createNotifierProvider(options *notifierProviderOptions) (notifier.Notifier
return pTelegramBot.NewNotifier(&pTelegramBot.NotifierConfig{
BotToken: access.BotToken,
- ChatId: maputil.GetOrDefaultInt64(options.ProviderExtendedConfig, "chatId", access.DefaultChatId),
+ ChatId: maputil.GetOrDefaultInt64(options.ProviderServiceConfig, "chatId", access.DefaultChatId),
})
}
@@ -117,7 +117,7 @@ func createNotifierProvider(options *notifierProviderOptions) (notifier.Notifier
mergedHeaders[http.CanonicalHeaderKey(key)] = h.Get(key)
}
}
- if extendedHeadersString := maputil.GetString(options.ProviderExtendedConfig, "headers"); extendedHeadersString != "" {
+ if extendedHeadersString := maputil.GetString(options.ProviderServiceConfig, "headers"); extendedHeadersString != "" {
h, err := httputil.ParseHeaders(extendedHeadersString)
if err != nil {
return nil, fmt.Errorf("failed to parse webhook headers: %w", err)
@@ -129,7 +129,7 @@ func createNotifierProvider(options *notifierProviderOptions) (notifier.Notifier
return pWebhook.NewNotifier(&pWebhook.NotifierConfig{
WebhookUrl: access.Url,
- WebhookData: maputil.GetOrDefaultString(options.ProviderExtendedConfig, "webhookData", access.DefaultDataForNotification),
+ WebhookData: maputil.GetOrDefaultString(options.ProviderServiceConfig, "webhookData", access.DefaultDataForNotification),
Method: access.Method,
Headers: mergedHeaders,
AllowInsecureConnections: access.AllowInsecureConnections,
diff --git a/internal/pkg/core/deployer/providers/aliyun-alb/aliyun_alb.go b/internal/pkg/core/deployer/providers/aliyun-alb/aliyun_alb.go
index 3dca4a9d..35b4997c 100644
--- a/internal/pkg/core/deployer/providers/aliyun-alb/aliyun_alb.go
+++ b/internal/pkg/core/deployer/providers/aliyun-alb/aliyun_alb.go
@@ -157,7 +157,7 @@ func (d *DeployerProvider) deployToLoadbalancer(ctx context.Context, cloudCertId
if listListenersResp.Body.Listeners != nil {
for _, listener := range listListenersResp.Body.Listeners {
- listenerIds = append(listenerIds, *listener.ListenerId)
+ listenerIds = append(listenerIds, tea.StringValue(listener.ListenerId))
}
}
@@ -192,7 +192,7 @@ func (d *DeployerProvider) deployToLoadbalancer(ctx context.Context, cloudCertId
if listListenersResp.Body.Listeners != nil {
for _, listener := range listListenersResp.Body.Listeners {
- listenerIds = append(listenerIds, *listener.ListenerId)
+ listenerIds = append(listenerIds, tea.StringValue(listener.ListenerId))
}
}
@@ -211,8 +211,13 @@ func (d *DeployerProvider) deployToLoadbalancer(ctx context.Context, cloudCertId
d.logger.Info("found https/quic listeners to deploy", slog.Any("listenerIds", listenerIds))
for _, listenerId := range listenerIds {
- if err := d.updateListenerCertificate(ctx, listenerId, cloudCertId); err != nil {
- errs = append(errs, err)
+ select {
+ case <-ctx.Done():
+ return ctx.Err()
+ default:
+ if err := d.updateListenerCertificate(ctx, listenerId, cloudCertId); err != nil {
+ errs = append(errs, err)
+ }
}
}
diff --git a/internal/pkg/core/deployer/providers/aliyun-alb/aliyun_alb_test.go b/internal/pkg/core/deployer/providers/aliyun-alb/aliyun_alb_test.go
index c75119e9..11d5b565 100644
--- a/internal/pkg/core/deployer/providers/aliyun-alb/aliyun_alb_test.go
+++ b/internal/pkg/core/deployer/providers/aliyun-alb/aliyun_alb_test.go
@@ -96,6 +96,7 @@ func TestDeploy(t *testing.T) {
fmt.Sprintf("ACCESSKEYSECRET: %v", fAccessKeySecret),
fmt.Sprintf("REGION: %v", fRegion),
fmt.Sprintf("LISTENERID: %v", fListenerId),
+ fmt.Sprintf("DOMAIN: %v", fDomain),
}, "\n"))
deployer, err := provider.NewDeployer(&provider.DeployerConfig{
diff --git a/internal/pkg/core/deployer/providers/aliyun-clb/aliyun_clb.go b/internal/pkg/core/deployer/providers/aliyun-clb/aliyun_clb.go
index d443514e..34c3a49e 100644
--- a/internal/pkg/core/deployer/providers/aliyun-clb/aliyun_clb.go
+++ b/internal/pkg/core/deployer/providers/aliyun-clb/aliyun_clb.go
@@ -171,7 +171,6 @@ func (d *DeployerProvider) deployToLoadbalancer(ctx context.Context, cloudCertId
select {
case <-ctx.Done():
return ctx.Err()
-
default:
if err := d.updateListenerCertificate(ctx, d.config.LoadbalancerId, listenerPort, cloudCertId); err != nil {
errs = append(errs, err)
diff --git a/internal/pkg/core/deployer/providers/aliyun-ga/aliyun_ga.go b/internal/pkg/core/deployer/providers/aliyun-ga/aliyun_ga.go
new file mode 100644
index 00000000..f69660a8
--- /dev/null
+++ b/internal/pkg/core/deployer/providers/aliyun-ga/aliyun_ga.go
@@ -0,0 +1,322 @@
+package aliyunga
+
+import (
+ "context"
+ "errors"
+ "fmt"
+ "log/slog"
+ "strings"
+
+ aliopen "github.com/alibabacloud-go/darabonba-openapi/v2/client"
+ aliga "github.com/alibabacloud-go/ga-20191120/v3/client"
+ "github.com/alibabacloud-go/tea/tea"
+
+ "github.com/usual2970/certimate/internal/pkg/core/deployer"
+ "github.com/usual2970/certimate/internal/pkg/core/uploader"
+ uploadersp "github.com/usual2970/certimate/internal/pkg/core/uploader/providers/aliyun-cas"
+ sliceutil "github.com/usual2970/certimate/internal/pkg/utils/slice"
+)
+
+type DeployerConfig struct {
+ // 阿里云 AccessKeyId。
+ AccessKeyId string `json:"accessKeyId"`
+ // 阿里云 AccessKeySecret。
+ AccessKeySecret string `json:"accessKeySecret"`
+ // 部署资源类型。
+ ResourceType ResourceType `json:"resourceType"`
+ // 全球加速实例 ID。
+ AcceleratorId string `json:"acceleratorId"`
+ // 全球加速监听 ID。
+ // 部署资源类型为 [RESOURCE_TYPE_LISTENER] 时必填。
+ ListenerId string `json:"listenerId,omitempty"`
+ // SNI 域名(不支持泛域名)。
+ // 部署资源类型为 [RESOURCE_TYPE_ACCELERATOR]、[RESOURCE_TYPE_LISTENER] 时选填。
+ Domain string `json:"domain,omitempty"`
+}
+
+type DeployerProvider struct {
+ config *DeployerConfig
+ logger *slog.Logger
+ sdkClient *aliga.Client
+ sslUploader uploader.Uploader
+}
+
+var _ deployer.Deployer = (*DeployerProvider)(nil)
+
+func NewDeployer(config *DeployerConfig) (*DeployerProvider, error) {
+ if config == nil {
+ panic("config is nil")
+ }
+
+ client, err := createSdkClient(config.AccessKeyId, config.AccessKeySecret)
+ if err != nil {
+ return nil, fmt.Errorf("failed to create sdk client: %w", err)
+ }
+
+ uploader, err := createSslUploader(config.AccessKeyId, config.AccessKeySecret)
+ if err != nil {
+ return nil, fmt.Errorf("failed to create ssl uploader: %w", err)
+ }
+
+ return &DeployerProvider{
+ config: config,
+ logger: slog.Default(),
+ sdkClient: client,
+ sslUploader: uploader,
+ }, nil
+}
+
+func (d *DeployerProvider) WithLogger(logger *slog.Logger) deployer.Deployer {
+ if logger == nil {
+ d.logger = slog.Default()
+ } else {
+ d.logger = logger
+ }
+ d.sslUploader.WithLogger(logger)
+ return d
+}
+
+func (d *DeployerProvider) Deploy(ctx context.Context, certPEM string, privkeyPEM string) (*deployer.DeployResult, error) {
+ // 上传证书到 CAS
+ upres, err := d.sslUploader.Upload(ctx, certPEM, privkeyPEM)
+ if err != nil {
+ return nil, fmt.Errorf("failed to upload certificate file: %w", err)
+ } else {
+ d.logger.Info("ssl certificate uploaded", slog.Any("result", upres))
+ }
+
+ // 根据部署资源类型决定部署方式
+ switch d.config.ResourceType {
+ case RESOURCE_TYPE_ACCELERATOR:
+ if err := d.deployToAccelerator(ctx, upres.ExtendedData["certIdentifier"].(string)); err != nil {
+ return nil, err
+ }
+
+ case RESOURCE_TYPE_LISTENER:
+ if err := d.deployToListener(ctx, upres.ExtendedData["certIdentifier"].(string)); err != nil {
+ return nil, err
+ }
+
+ default:
+ return nil, fmt.Errorf("unsupported resource type '%s'", d.config.ResourceType)
+ }
+
+ return &deployer.DeployResult{}, nil
+}
+
+func (d *DeployerProvider) deployToAccelerator(ctx context.Context, cloudCertId string) error {
+ if d.config.AcceleratorId == "" {
+ return errors.New("config `acceleratorId` is required")
+ }
+
+ // 查询 HTTPS 监听列表
+ // REF: https://help.aliyun.com/zh/ga/developer-reference/api-ga-2019-11-20-listlisteners
+ listenerIds := make([]string, 0)
+ listListenersPageNumber := int32(1)
+ listListenersPageSize := int32(50)
+ for {
+ select {
+ case <-ctx.Done():
+ return ctx.Err()
+ default:
+ }
+
+ listListenersReq := &aliga.ListListenersRequest{
+ RegionId: tea.String("cn-hangzhou"),
+ AcceleratorId: tea.String(d.config.AcceleratorId),
+ PageNumber: tea.Int32(listListenersPageNumber),
+ PageSize: tea.Int32(listListenersPageSize),
+ }
+ listListenersResp, err := d.sdkClient.ListListeners(listListenersReq)
+ d.logger.Debug("sdk request 'ga.ListListeners'", slog.Any("request", listListenersReq), slog.Any("response", listListenersResp))
+ if err != nil {
+ return fmt.Errorf("failed to execute sdk request 'ga.ListListeners': %w", err)
+ }
+
+ if listListenersResp.Body.Listeners != nil {
+ for _, listener := range listListenersResp.Body.Listeners {
+ if strings.EqualFold(tea.StringValue(listener.Protocol), "https") {
+ listenerIds = append(listenerIds, tea.StringValue(listener.ListenerId))
+ }
+ }
+ }
+
+ if len(listListenersResp.Body.Listeners) < int(listListenersPageSize) {
+ break
+ } else {
+ listListenersPageNumber++
+ }
+ }
+
+ // 遍历更新监听证书
+ if len(listenerIds) == 0 {
+ d.logger.Info("no ga listeners to deploy")
+ } else {
+ var errs []error
+ d.logger.Info("found https listeners to deploy", slog.Any("listenerIds", listenerIds))
+
+ for _, listenerId := range listenerIds {
+ select {
+ case <-ctx.Done():
+ return ctx.Err()
+ default:
+ if err := d.updateListenerCertificate(ctx, d.config.AcceleratorId, listenerId, cloudCertId); err != nil {
+ errs = append(errs, err)
+ }
+ }
+ }
+
+ if len(errs) > 0 {
+ return errors.Join(errs...)
+ }
+ }
+
+ return nil
+}
+
+func (d *DeployerProvider) deployToListener(ctx context.Context, cloudCertId string) error {
+ if d.config.AcceleratorId == "" {
+ return errors.New("config `acceleratorId` is required")
+ }
+ if d.config.ListenerId == "" {
+ return errors.New("config `listenerId` is required")
+ }
+
+ // 更新监听
+ if err := d.updateListenerCertificate(ctx, d.config.AcceleratorId, d.config.ListenerId, cloudCertId); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (d *DeployerProvider) updateListenerCertificate(ctx context.Context, cloudAcceleratorId string, cloudListenerId string, cloudCertId string) error {
+ // 查询监听绑定的证书列表
+ // REF: https://help.aliyun.com/zh/ga/developer-reference/api-ga-2019-11-20-listlistenercertificates
+ var listenerDefaultCertificate *aliga.ListListenerCertificatesResponseBodyCertificates
+ var listenerAdditionalCertificates []*aliga.ListListenerCertificatesResponseBodyCertificates = make([]*aliga.ListListenerCertificatesResponseBodyCertificates, 0)
+ var listListenerCertificatesNextToken *string
+ for {
+ listListenerCertificatesReq := &aliga.ListListenerCertificatesRequest{
+ RegionId: tea.String("cn-hangzhou"),
+ AcceleratorId: tea.String(d.config.AcceleratorId),
+ NextToken: listListenerCertificatesNextToken,
+ MaxResults: tea.Int32(20),
+ }
+ listListenerCertificatesResp, err := d.sdkClient.ListListenerCertificates(listListenerCertificatesReq)
+ d.logger.Debug("sdk request 'ga.ListListenerCertificates'", slog.Any("request", listListenerCertificatesReq), slog.Any("response", listListenerCertificatesResp))
+ if err != nil {
+ return fmt.Errorf("failed to execute sdk request 'ga.ListListenerCertificates': %w", err)
+ }
+
+ if listListenerCertificatesResp.Body.Certificates != nil {
+ for _, certificate := range listListenerCertificatesResp.Body.Certificates {
+ if tea.BoolValue(certificate.IsDefault) {
+ listenerDefaultCertificate = certificate
+ } else {
+ listenerAdditionalCertificates = append(listenerAdditionalCertificates, certificate)
+ }
+ }
+ }
+
+ if listListenerCertificatesResp.Body.NextToken == nil {
+ break
+ } else {
+ listListenerCertificatesNextToken = listListenerCertificatesResp.Body.NextToken
+ }
+ }
+
+ if d.config.Domain == "" {
+ // 未指定 SNI,只需部署到监听器
+ if listenerDefaultCertificate != nil && tea.StringValue(listenerDefaultCertificate.CertificateId) == cloudCertId {
+ d.logger.Info("no need to update ga listener default certificate")
+ return nil
+ }
+
+ // 修改监听的属性
+ // REF: https://help.aliyun.com/zh/ga/developer-reference/api-ga-2019-11-20-updatelistener
+ updateListenerReq := &aliga.UpdateListenerRequest{
+ RegionId: tea.String("cn-hangzhou"),
+ ListenerId: tea.String(cloudListenerId),
+ Certificates: []*aliga.UpdateListenerRequestCertificates{{
+ Id: tea.String(cloudCertId),
+ }},
+ }
+ updateListenerResp, err := d.sdkClient.UpdateListener(updateListenerReq)
+ d.logger.Debug("sdk request 'ga.UpdateListener'", slog.Any("request", updateListenerReq), slog.Any("response", updateListenerResp))
+ if err != nil {
+ return fmt.Errorf("failed to execute sdk request 'ga.UpdateListener': %w", err)
+ }
+ } else {
+ // 指定 SNI,需部署到扩展域名
+ if sliceutil.Some(listenerAdditionalCertificates, func(item *aliga.ListListenerCertificatesResponseBodyCertificates) bool {
+ return tea.StringValue(item.CertificateId) == cloudCertId
+ }) {
+ d.logger.Info("no need to update ga listener additional certificate")
+ return nil
+ }
+
+ if sliceutil.Some(listenerAdditionalCertificates, func(item *aliga.ListListenerCertificatesResponseBodyCertificates) bool {
+ return tea.StringValue(item.Domain) == d.config.Domain
+ }) {
+ // 为监听替换扩展证书
+ // REF: https://help.aliyun.com/zh/ga/developer-reference/api-ga-2019-11-20-updateadditionalcertificatewithlistener
+ updateAdditionalCertificateWithListenerReq := &aliga.UpdateAdditionalCertificateWithListenerRequest{
+ RegionId: tea.String("cn-hangzhou"),
+ AcceleratorId: tea.String(cloudAcceleratorId),
+ ListenerId: tea.String(cloudListenerId),
+ CertificateId: tea.String(cloudCertId),
+ Domain: tea.String(d.config.Domain),
+ }
+ updateAdditionalCertificateWithListenerResp, err := d.sdkClient.UpdateAdditionalCertificateWithListener(updateAdditionalCertificateWithListenerReq)
+ d.logger.Debug("sdk request 'ga.UpdateAdditionalCertificateWithListener'", slog.Any("request", updateAdditionalCertificateWithListenerReq), slog.Any("response", updateAdditionalCertificateWithListenerResp))
+ if err != nil {
+ return fmt.Errorf("failed to execute sdk request 'ga.UpdateAdditionalCertificateWithListener': %w", err)
+ }
+ } else {
+ // 为监听绑定扩展证书
+ // REF: https://help.aliyun.com/zh/ga/developer-reference/api-ga-2019-11-20-associateadditionalcertificateswithlistener
+ associateAdditionalCertificatesWithListenerReq := &aliga.AssociateAdditionalCertificatesWithListenerRequest{
+ RegionId: tea.String("cn-hangzhou"),
+ AcceleratorId: tea.String(cloudAcceleratorId),
+ ListenerId: tea.String(cloudListenerId),
+ Certificates: []*aliga.AssociateAdditionalCertificatesWithListenerRequestCertificates{{
+ Id: tea.String(cloudCertId),
+ Domain: tea.String(d.config.Domain),
+ }},
+ }
+ associateAdditionalCertificatesWithListenerResp, err := d.sdkClient.AssociateAdditionalCertificatesWithListener(associateAdditionalCertificatesWithListenerReq)
+ d.logger.Debug("sdk request 'ga.AssociateAdditionalCertificatesWithListener'", slog.Any("request", associateAdditionalCertificatesWithListenerReq), slog.Any("response", associateAdditionalCertificatesWithListenerResp))
+ if err != nil {
+ return fmt.Errorf("failed to execute sdk request 'ga.AssociateAdditionalCertificatesWithListener': %w", err)
+ }
+ }
+ }
+
+ return nil
+}
+
+func createSdkClient(accessKeyId, accessKeySecret string) (*aliga.Client, error) {
+ // 接入点一览 https://api.aliyun.com/product/Ga
+ config := &aliopen.Config{
+ AccessKeyId: tea.String(accessKeyId),
+ AccessKeySecret: tea.String(accessKeySecret),
+ Endpoint: tea.String("ga.cn-hangzhou.aliyuncs.com"),
+ }
+
+ client, err := aliga.NewClient(config)
+ if err != nil {
+ return nil, err
+ }
+
+ return client, nil
+}
+
+func createSslUploader(accessKeyId, accessKeySecret string) (uploader.Uploader, error) {
+ uploader, err := uploadersp.NewUploader(&uploadersp.UploaderConfig{
+ AccessKeyId: accessKeyId,
+ AccessKeySecret: accessKeySecret,
+ Region: "cn-hangzhou",
+ })
+ return uploader, err
+}
diff --git a/internal/pkg/core/deployer/providers/aliyun-ga/aliyun_ga_test.go b/internal/pkg/core/deployer/providers/aliyun-ga/aliyun_ga_test.go
new file mode 100644
index 00000000..611ddc41
--- /dev/null
+++ b/internal/pkg/core/deployer/providers/aliyun-ga/aliyun_ga_test.go
@@ -0,0 +1,118 @@
+package aliyunga_test
+
+import (
+ "context"
+ "flag"
+ "fmt"
+ "os"
+ "strings"
+ "testing"
+
+ provider "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aliyun-ga"
+)
+
+var (
+ fInputCertPath string
+ fInputKeyPath string
+ fAccessKeyId string
+ fAccessKeySecret string
+ fAcceleratorId string
+ fListenerId string
+ fDomain string
+)
+
+func init() {
+ argsPrefix := "CERTIMATE_DEPLOYER_ALIYUNGA_"
+
+ flag.StringVar(&fInputCertPath, argsPrefix+"INPUTCERTPATH", "", "")
+ flag.StringVar(&fInputKeyPath, argsPrefix+"INPUTKEYPATH", "", "")
+ flag.StringVar(&fAccessKeyId, argsPrefix+"ACCESSKEYID", "", "")
+ flag.StringVar(&fAccessKeySecret, argsPrefix+"ACCESSKEYSECRET", "", "")
+ flag.StringVar(&fAcceleratorId, argsPrefix+"ACCELERATORID", "", "")
+ flag.StringVar(&fListenerId, argsPrefix+"LISTENERID", "", "")
+ flag.StringVar(&fDomain, argsPrefix+"DOMAIN", "", "")
+}
+
+/*
+Shell command to run this test:
+
+ go test -v ./aliyun_ga_test.go -args \
+ --CERTIMATE_DEPLOYER_ALIYUNGA_INPUTCERTPATH="/path/to/your-input-cert.pem" \
+ --CERTIMATE_DEPLOYER_ALIYUNGA_INPUTKEYPATH="/path/to/your-input-key.pem" \
+ --CERTIMATE_DEPLOYER_ALIYUNGA_ACCESSKEYID="your-access-key-id" \
+ --CERTIMATE_DEPLOYER_ALIYUNGA_ACCESSKEYSECRET="your-access-key-secret" \
+ --CERTIMATE_DEPLOYER_ALIYUNGA_ACCELERATORID="your-ga-accelerator-id" \
+ --CERTIMATE_DEPLOYER_ALIYUNGA_LISTENERID="your-ga-listener-id" \
+ --CERTIMATE_DEPLOYER_ALIYUNGA_DOMAIN="your-ga-sni-domain"
+*/
+func TestDeploy(t *testing.T) {
+ flag.Parse()
+
+ t.Run("Deploy_ToAccelerator", func(t *testing.T) {
+ t.Log(strings.Join([]string{
+ "args:",
+ fmt.Sprintf("INPUTCERTPATH: %v", fInputCertPath),
+ fmt.Sprintf("INPUTKEYPATH: %v", fInputKeyPath),
+ fmt.Sprintf("ACCESSKEYID: %v", fAccessKeyId),
+ fmt.Sprintf("ACCESSKEYSECRET: %v", fAccessKeySecret),
+ fmt.Sprintf("ACCELERATORID: %v", fAcceleratorId),
+ fmt.Sprintf("DOMAIN: %v", fDomain),
+ }, "\n"))
+
+ deployer, err := provider.NewDeployer(&provider.DeployerConfig{
+ AccessKeyId: fAccessKeyId,
+ AccessKeySecret: fAccessKeySecret,
+ ResourceType: provider.RESOURCE_TYPE_ACCELERATOR,
+ AcceleratorId: fAcceleratorId,
+ Domain: fDomain,
+ })
+ if err != nil {
+ t.Errorf("err: %+v", err)
+ return
+ }
+
+ fInputCertData, _ := os.ReadFile(fInputCertPath)
+ fInputKeyData, _ := os.ReadFile(fInputKeyPath)
+ res, err := deployer.Deploy(context.Background(), string(fInputCertData), string(fInputKeyData))
+ if err != nil {
+ t.Errorf("err: %+v", err)
+ return
+ }
+
+ t.Logf("ok: %v", res)
+ })
+
+ t.Run("Deploy_ToListener", func(t *testing.T) {
+ t.Log(strings.Join([]string{
+ "args:",
+ fmt.Sprintf("INPUTCERTPATH: %v", fInputCertPath),
+ fmt.Sprintf("INPUTKEYPATH: %v", fInputKeyPath),
+ fmt.Sprintf("ACCESSKEYID: %v", fAccessKeyId),
+ fmt.Sprintf("ACCESSKEYSECRET: %v", fAccessKeySecret),
+ fmt.Sprintf("LISTENERID: %v", fListenerId),
+ fmt.Sprintf("DOMAIN: %v", fDomain),
+ }, "\n"))
+
+ deployer, err := provider.NewDeployer(&provider.DeployerConfig{
+ AccessKeyId: fAccessKeyId,
+ AccessKeySecret: fAccessKeySecret,
+ ResourceType: provider.RESOURCE_TYPE_LISTENER,
+ ListenerId: fListenerId,
+ Domain: fDomain,
+ })
+ if err != nil {
+ t.Errorf("err: %+v", err)
+ return
+ }
+
+ fInputCertData, _ := os.ReadFile(fInputCertPath)
+ fInputKeyData, _ := os.ReadFile(fInputKeyPath)
+ res, err := deployer.Deploy(context.Background(), string(fInputCertData), string(fInputKeyData))
+ if err != nil {
+ t.Errorf("err: %+v", err)
+ return
+ }
+
+ t.Logf("ok: %v", res)
+ })
+}
diff --git a/internal/pkg/core/deployer/providers/aliyun-ga/consts.go b/internal/pkg/core/deployer/providers/aliyun-ga/consts.go
new file mode 100644
index 00000000..f96d98d5
--- /dev/null
+++ b/internal/pkg/core/deployer/providers/aliyun-ga/consts.go
@@ -0,0 +1,10 @@
+package aliyunga
+
+type ResourceType string
+
+const (
+ // 资源类型:部署到指定全球加速器。
+ RESOURCE_TYPE_ACCELERATOR = ResourceType("accelerator")
+ // 资源类型:部署到指定监听器。
+ RESOURCE_TYPE_LISTENER = ResourceType("listener")
+)
diff --git a/internal/pkg/core/deployer/providers/aliyun-nlb/aliyun_nlb.go b/internal/pkg/core/deployer/providers/aliyun-nlb/aliyun_nlb.go
index b8391144..58015f3d 100644
--- a/internal/pkg/core/deployer/providers/aliyun-nlb/aliyun_nlb.go
+++ b/internal/pkg/core/deployer/providers/aliyun-nlb/aliyun_nlb.go
@@ -145,7 +145,7 @@ func (d *DeployerProvider) deployToLoadbalancer(ctx context.Context, cloudCertId
if listListenersResp.Body.Listeners != nil {
for _, listener := range listListenersResp.Body.Listeners {
- listenerIds = append(listenerIds, *listener.ListenerId)
+ listenerIds = append(listenerIds, tea.StringValue(listener.ListenerId))
}
}
@@ -167,7 +167,6 @@ func (d *DeployerProvider) deployToLoadbalancer(ctx context.Context, cloudCertId
select {
case <-ctx.Done():
return ctx.Err()
-
default:
if err := d.updateListenerCertificate(ctx, listenerId, cloudCertId); err != nil {
errs = append(errs, err)
diff --git a/internal/pkg/core/deployer/providers/huaweicloud-elb/huaweicloud_elb.go b/internal/pkg/core/deployer/providers/huaweicloud-elb/huaweicloud_elb.go
index 748111dd..23ec4a92 100644
--- a/internal/pkg/core/deployer/providers/huaweicloud-elb/huaweicloud_elb.go
+++ b/internal/pkg/core/deployer/providers/huaweicloud-elb/huaweicloud_elb.go
@@ -210,7 +210,6 @@ func (d *DeployerProvider) deployToLoadbalancer(ctx context.Context, certPEM str
select {
case <-ctx.Done():
return ctx.Err()
-
default:
if err := d.modifyListenerCertificate(ctx, listenerId, upres.CertId); err != nil {
errs = append(errs, err)
diff --git a/ui/src/components/workflow/node/DeployNodeConfigForm.tsx b/ui/src/components/workflow/node/DeployNodeConfigForm.tsx
index 981d7183..ff2f96b3 100644
--- a/ui/src/components/workflow/node/DeployNodeConfigForm.tsx
+++ b/ui/src/components/workflow/node/DeployNodeConfigForm.tsx
@@ -27,6 +27,7 @@ import DeployNodeConfigFormAliyunDCDNConfig from "./DeployNodeConfigFormAliyunDC
import DeployNodeConfigFormAliyunDDoSConfig from "./DeployNodeConfigFormAliyunDDoSConfig";
import DeployNodeConfigFormAliyunESAConfig from "./DeployNodeConfigFormAliyunESAConfig";
import DeployNodeConfigFormAliyunFCConfig from "./DeployNodeConfigFormAliyunFCConfig";
+import DeployNodeConfigFormAliyunGAConfig from "./DeployNodeConfigFormAliyunGAConfig";
import DeployNodeConfigFormAliyunLiveConfig from "./DeployNodeConfigFormAliyunLiveConfig";
import DeployNodeConfigFormAliyunNLBConfig from "./DeployNodeConfigFormAliyunNLBConfig";
import DeployNodeConfigFormAliyunOSSConfig from "./DeployNodeConfigFormAliyunOSSConfig";
@@ -203,6 +204,8 @@ const DeployNodeConfigForm = forwardRef;
case DEPLOYMENT_PROVIDERS.ALIYUN_FC:
return ;
+ case DEPLOYMENT_PROVIDERS.ALIYUN_GA:
+ return ;
case DEPLOYMENT_PROVIDERS.ALIYUN_LIVE:
return ;
case DEPLOYMENT_PROVIDERS.ALIYUN_NLB:
diff --git a/ui/src/components/workflow/node/DeployNodeConfigFormAliyunGAConfig.tsx b/ui/src/components/workflow/node/DeployNodeConfigFormAliyunGAConfig.tsx
new file mode 100644
index 00000000..ba2633c4
--- /dev/null
+++ b/ui/src/components/workflow/node/DeployNodeConfigFormAliyunGAConfig.tsx
@@ -0,0 +1,118 @@
+import { useTranslation } from "react-i18next";
+import { Form, type FormInstance, Input, Select } from "antd";
+import { createSchemaFieldRule } from "antd-zod";
+import { z } from "zod";
+
+import Show from "@/components/Show";
+import { validDomainName } from "@/utils/validators";
+
+type DeployNodeConfigFormAliyunGAConfigFieldValues = Nullish<{
+ resourceType: string;
+ acceleratorId?: string;
+ listenerId?: string;
+ domain?: string;
+}>;
+
+export type DeployNodeConfigFormAliyunGAConfigProps = {
+ form: FormInstance;
+ formName: string;
+ disabled?: boolean;
+ initialValues?: DeployNodeConfigFormAliyunGAConfigFieldValues;
+ onValuesChange?: (values: DeployNodeConfigFormAliyunGAConfigFieldValues) => void;
+};
+
+const RESOURCE_TYPE_ACCELERATOR = "accelerator" as const;
+const RESOURCE_TYPE_LISTENER = "listener" as const;
+
+const initFormModel = (): DeployNodeConfigFormAliyunGAConfigFieldValues => {
+ return {};
+};
+
+const DeployNodeConfigFormAliyunGAConfig = ({ form: formInst, formName, disabled, initialValues, onValuesChange }: DeployNodeConfigFormAliyunGAConfigProps) => {
+ const { t } = useTranslation();
+
+ const formSchema = z.object({
+ resourceType: z.union([z.literal(RESOURCE_TYPE_ACCELERATOR), z.literal(RESOURCE_TYPE_LISTENER)], {
+ message: t("workflow_node.deploy.form.aliyun_ga_resource_type.placeholder"),
+ }),
+ acceleratorId: z
+ .string()
+ .max(64, t("common.errmsg.string_max", { max: 64 }))
+ .trim(),
+ listenerId: z
+ .string()
+ .max(64, t("common.errmsg.string_max", { max: 64 }))
+ .trim()
+ .nullish()
+ .refine((v) => fieldResourceType !== RESOURCE_TYPE_LISTENER || !!v?.trim(), t("workflow_node.deploy.form.aliyun_ga_listener_id.placeholder")),
+ domain: z
+ .string()
+ .nullish()
+ .refine((v) => {
+ if (![RESOURCE_TYPE_ACCELERATOR, RESOURCE_TYPE_LISTENER].includes(fieldResourceType)) return true;
+ return !v || validDomainName(v!);
+ }, t("common.errmsg.domain_invalid")),
+ });
+ const formRule = createSchemaFieldRule(formSchema);
+
+ const fieldResourceType = Form.useWatch("resourceType", formInst);
+
+ const handleFormChange = (_: unknown, values: z.infer) => {
+ onValuesChange?.(values);
+ };
+
+ return (
+
+
+
+
+ }
+ >
+
+
+
+
+ }
+ >
+
+
+
+
+
+ }
+ >
+
+
+
+
+ );
+};
+
+export default DeployNodeConfigFormAliyunGAConfig;
diff --git a/ui/src/domain/provider.ts b/ui/src/domain/provider.ts
index 4cad8606..a2c432ce 100644
--- a/ui/src/domain/provider.ts
+++ b/ui/src/domain/provider.ts
@@ -353,6 +353,7 @@ export const DEPLOYMENT_PROVIDERS = Object.freeze({
ALIYUN_DDOS: `${ACCESS_PROVIDERS.ALIYUN}-ddospro`,
ALIYUN_ESA: `${ACCESS_PROVIDERS.ALIYUN}-esa`,
ALIYUN_FC: `${ACCESS_PROVIDERS.ALIYUN}-fc`,
+ ALIYUN_GA: `${ACCESS_PROVIDERS.ALIYUN}-ga`,
ALIYUN_LIVE: `${ACCESS_PROVIDERS.ALIYUN}-live`,
ALIYUN_NLB: `${ACCESS_PROVIDERS.ALIYUN}-nlb`,
ALIYUN_OSS: `${ACCESS_PROVIDERS.ALIYUN}-oss`,
@@ -475,6 +476,7 @@ export const deploymentProvidersMap: Maphttps://fcnext.console.aliyun.com",
+ "workflow_node.deploy.form.aliyun_ga_resource_type.label": "Resource type",
+ "workflow_node.deploy.form.aliyun_ga_resource_type.placeholder": "Please select resource type",
+ "workflow_node.deploy.form.aliyun_ga_resource_type.option.accelerator.label": "GA accelerator",
+ "workflow_node.deploy.form.aliyun_ga_resource_type.option.listener.label": "GA listener",
+ "workflow_node.deploy.form.aliyun_ga_accelerator_id.label": "Alibaba Cloud GA accelerator ID",
+ "workflow_node.deploy.form.aliyun_ga_accelerator_id.placeholder": "Please enter Alibaba Cloud GA accelerator ID",
+ "workflow_node.deploy.form.aliyun_ga_accelerator_id.tooltip": "For more information, https://ga.console.aliyun.com",
+ "workflow_node.deploy.form.aliyun_ga_listener_id.label": "Alibaba Cloud GA listener ID",
+ "workflow_node.deploy.form.aliyun_ga_listener_id.placeholder": "Please enter Alibaba Cloud GA listener ID",
+ "workflow_node.deploy.form.aliyun_ga_listener_id.tooltip": "For more information, https://ga.console.aliyun.com",
+ "workflow_node.deploy.form.aliyun_ga_snidomain.label": "Alibaba Cloud GA SNI domain (Optional)",
+ "workflow_node.deploy.form.aliyun_ga_snidomain.placeholder": "Please enter Alibaba Cloud GA SNI domain name",
+ "workflow_node.deploy.form.aliyun_ga_snidomain.tooltip": "For more information, https://ga.console.aliyun.com",
"workflow_node.deploy.form.aliyun_live_region.label": "Alibaba Cloud Live region",
"workflow_node.deploy.form.aliyun_live_region.placeholder": "Please enter Alibaba Cloud Live region (e.g. cn-hangzhou)",
"workflow_node.deploy.form.aliyun_live_region.tooltip": "For more information, see https://www.alibabacloud.com/help/en/live/product-overview/supported-regions",
diff --git a/ui/src/i18n/locales/zh/nls.provider.json b/ui/src/i18n/locales/zh/nls.provider.json
index 27abe56c..45f3fd53 100644
--- a/ui/src/i18n/locales/zh/nls.provider.json
+++ b/ui/src/i18n/locales/zh/nls.provider.json
@@ -16,6 +16,7 @@
"provider.aliyun.dns": "阿里云 - 云解析 DNS",
"provider.aliyun.esa": "阿里云 - 边缘安全加速 ESA",
"provider.aliyun.fc": "阿里云 - 函数计算 FC",
+ "provider.aliyun.ga": "阿里云 - 全球加速 GA",
"provider.aliyun.live": "阿里云 - 视频直播 Live",
"provider.aliyun.nlb": "阿里云 - 网络型负载均衡 NLB",
"provider.aliyun.oss": "阿里云 - 对象存储 OSS",
diff --git a/ui/src/i18n/locales/zh/nls.workflow.nodes.json b/ui/src/i18n/locales/zh/nls.workflow.nodes.json
index e462f34a..ff2f0522 100644
--- a/ui/src/i18n/locales/zh/nls.workflow.nodes.json
+++ b/ui/src/i18n/locales/zh/nls.workflow.nodes.json
@@ -212,6 +212,19 @@
"workflow_node.deploy.form.aliyun_fc_domain.label": "阿里云 FC 自定义域名",
"workflow_node.deploy.form.aliyun_fc_domain.placeholder": "请输入阿里云 FC 自定义域名(支持泛域名)",
"workflow_node.deploy.form.aliyun_fc_domain.tooltip": "这是什么?请参阅 see https://fcnext.console.aliyun.com/",
+ "workflow_node.deploy.form.aliyun_ga_resource_type.label": "证书替换方式",
+ "workflow_node.deploy.form.aliyun_ga_resource_type.placeholder": "请选择证书替换方式",
+ "workflow_node.deploy.form.aliyun_ga_resource_type.option.accelerator.label": "替换指定全球加速器下的全部 HTTPS 监听的证书",
+ "workflow_node.deploy.form.aliyun_ga_resource_type.option.listener.label": "替换指定全球加速器监听器的证书",
+ "workflow_node.deploy.form.aliyun_ga_accelerator_id.label": "阿里云全球加速实例 ID",
+ "workflow_node.deploy.form.aliyun_ga_accelerator_id.placeholder": "请输入阿里云全球加速实例 ID",
+ "workflow_node.deploy.form.aliyun_ga_accelerator_id.tooltip": "这是什么?请参阅 https://ga.console.aliyun.com",
+ "workflow_node.deploy.form.aliyun_ga_listener_id.label": "阿里云全球加速监听 ID",
+ "workflow_node.deploy.form.aliyun_ga_listener_id.placeholder": "请输入阿里云全球加速监听 ID",
+ "workflow_node.deploy.form.aliyun_ga_listener_id.tooltip": "这是什么?请参阅 https://ga.console.aliyun.com",
+ "workflow_node.deploy.form.aliyun_ga_snidomain.label": "阿里云全球加速扩展域名(可选)",
+ "workflow_node.deploy.form.aliyun_ga_snidomain.placeholder": "请输入阿里云全球加速扩展域名",
+ "workflow_node.deploy.form.aliyun_ga_snidomain.tooltip": "这是什么?请参阅 https://ga.console.aliyun.com
不填写时,将替换监听器的默认证书;否则,将替换扩展域名证书。",
"workflow_node.deploy.form.aliyun_live_region.label": "阿里云视频直播服务地域",
"workflow_node.deploy.form.aliyun_live_region.placeholder": "请输入阿里云视频直播服务地域(例如:cn-hangzhou)",
"workflow_node.deploy.form.aliyun_live_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/live/product-overview/supported-regions",