mirror of
https://github.com/woodchen-ink/certimate.git
synced 2025-07-18 17:31:55 +08:00
feat: add baotapanel console deployer
This commit is contained in:
parent
6d8301b159
commit
b734ffcf9d
@ -6,23 +6,23 @@ import (
|
|||||||
"github.com/go-acme/lego/v4/challenge"
|
"github.com/go-acme/lego/v4/challenge"
|
||||||
|
|
||||||
"github.com/usual2970/certimate/internal/domain"
|
"github.com/usual2970/certimate/internal/domain"
|
||||||
providerACMEHttpReq "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/acmehttpreq"
|
pACMEHttpReq "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/acmehttpreq"
|
||||||
providerAliyun "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/aliyun"
|
pAliyun "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/aliyun"
|
||||||
providerAWSRoute53 "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/aws-route53"
|
pAWSRoute53 "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/aws-route53"
|
||||||
providerAzureDNS "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/azure-dns"
|
pAzureDNS "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/azure-dns"
|
||||||
providerCloudflare "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/cloudflare"
|
pCloudflare "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/cloudflare"
|
||||||
providerClouDNS "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/cloudns"
|
pClouDNS "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/cloudns"
|
||||||
providerGname "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/gname"
|
pGname "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/gname"
|
||||||
providerGoDaddy "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/godaddy"
|
pGoDaddy "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/godaddy"
|
||||||
providerHuaweiCloud "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/huaweicloud"
|
pHuaweiCloud "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/huaweicloud"
|
||||||
providerNameDotCom "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/namedotcom"
|
pNameDotCom "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/namedotcom"
|
||||||
providerNameSilo "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/namesilo"
|
pNameSilo "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/namesilo"
|
||||||
providerNS1 "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/ns1"
|
pNS1 "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/ns1"
|
||||||
providerPowerDNS "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/powerdns"
|
pPowerDNS "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/powerdns"
|
||||||
providerRainYun "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/rainyun"
|
pRainYun "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/rainyun"
|
||||||
providerTencentCloud "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/tencentcloud"
|
pTencentCloud "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/tencentcloud"
|
||||||
providerVolcEngine "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/volcengine"
|
pVolcEngine "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/volcengine"
|
||||||
providerWestcn "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/westcn"
|
pWestcn "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/westcn"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/maps"
|
"github.com/usual2970/certimate/internal/pkg/utils/maps"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -39,7 +39,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
applicant, err := providerACMEHttpReq.NewChallengeProvider(&providerACMEHttpReq.ACMEHttpReqApplicantConfig{
|
applicant, err := pACMEHttpReq.NewChallengeProvider(&pACMEHttpReq.ACMEHttpReqApplicantConfig{
|
||||||
Endpoint: access.Endpoint,
|
Endpoint: access.Endpoint,
|
||||||
Mode: access.Mode,
|
Mode: access.Mode,
|
||||||
Username: access.Username,
|
Username: access.Username,
|
||||||
@ -56,7 +56,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
applicant, err := providerAliyun.NewChallengeProvider(&providerAliyun.AliyunApplicantConfig{
|
applicant, err := pAliyun.NewChallengeProvider(&pAliyun.AliyunApplicantConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.AccessKeySecret,
|
AccessKeySecret: access.AccessKeySecret,
|
||||||
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
||||||
@ -72,7 +72,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
applicant, err := providerAWSRoute53.NewChallengeProvider(&providerAWSRoute53.AWSRoute53ApplicantConfig{
|
applicant, err := pAWSRoute53.NewChallengeProvider(&pAWSRoute53.AWSRoute53ApplicantConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
SecretAccessKey: access.SecretAccessKey,
|
SecretAccessKey: access.SecretAccessKey,
|
||||||
Region: maps.GetValueAsString(options.ProviderApplyConfig, "region"),
|
Region: maps.GetValueAsString(options.ProviderApplyConfig, "region"),
|
||||||
@ -90,7 +90,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
applicant, err := providerAzureDNS.NewChallengeProvider(&providerAzureDNS.AzureDNSApplicantConfig{
|
applicant, err := pAzureDNS.NewChallengeProvider(&pAzureDNS.AzureDNSApplicantConfig{
|
||||||
TenantId: access.TenantId,
|
TenantId: access.TenantId,
|
||||||
ClientId: access.ClientId,
|
ClientId: access.ClientId,
|
||||||
ClientSecret: access.ClientSecret,
|
ClientSecret: access.ClientSecret,
|
||||||
@ -108,7 +108,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
applicant, err := providerCloudflare.NewChallengeProvider(&providerCloudflare.CloudflareApplicantConfig{
|
applicant, err := pCloudflare.NewChallengeProvider(&pCloudflare.CloudflareApplicantConfig{
|
||||||
DnsApiToken: access.DnsApiToken,
|
DnsApiToken: access.DnsApiToken,
|
||||||
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
||||||
DnsTTL: options.DnsTTL,
|
DnsTTL: options.DnsTTL,
|
||||||
@ -123,7 +123,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
applicant, err := providerClouDNS.NewChallengeProvider(&providerClouDNS.ClouDNSApplicantConfig{
|
applicant, err := pClouDNS.NewChallengeProvider(&pClouDNS.ClouDNSApplicantConfig{
|
||||||
AuthId: access.AuthId,
|
AuthId: access.AuthId,
|
||||||
AuthPassword: access.AuthPassword,
|
AuthPassword: access.AuthPassword,
|
||||||
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
||||||
@ -139,7 +139,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
applicant, err := providerGname.NewChallengeProvider(&providerGname.GnameApplicantConfig{
|
applicant, err := pGname.NewChallengeProvider(&pGname.GnameApplicantConfig{
|
||||||
AppId: access.AppId,
|
AppId: access.AppId,
|
||||||
AppKey: access.AppKey,
|
AppKey: access.AppKey,
|
||||||
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
||||||
@ -155,7 +155,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
applicant, err := providerGoDaddy.NewChallengeProvider(&providerGoDaddy.GoDaddyApplicantConfig{
|
applicant, err := pGoDaddy.NewChallengeProvider(&pGoDaddy.GoDaddyApplicantConfig{
|
||||||
ApiKey: access.ApiKey,
|
ApiKey: access.ApiKey,
|
||||||
ApiSecret: access.ApiSecret,
|
ApiSecret: access.ApiSecret,
|
||||||
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
||||||
@ -171,7 +171,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
applicant, err := providerHuaweiCloud.NewChallengeProvider(&providerHuaweiCloud.HuaweiCloudApplicantConfig{
|
applicant, err := pHuaweiCloud.NewChallengeProvider(&pHuaweiCloud.HuaweiCloudApplicantConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
SecretAccessKey: access.SecretAccessKey,
|
SecretAccessKey: access.SecretAccessKey,
|
||||||
Region: maps.GetValueAsString(options.ProviderApplyConfig, "region"),
|
Region: maps.GetValueAsString(options.ProviderApplyConfig, "region"),
|
||||||
@ -188,7 +188,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
applicant, err := providerNameDotCom.NewChallengeProvider(&providerNameDotCom.NameDotComApplicantConfig{
|
applicant, err := pNameDotCom.NewChallengeProvider(&pNameDotCom.NameDotComApplicantConfig{
|
||||||
Username: access.Username,
|
Username: access.Username,
|
||||||
ApiToken: access.ApiToken,
|
ApiToken: access.ApiToken,
|
||||||
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
||||||
@ -204,7 +204,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
applicant, err := providerNameSilo.NewChallengeProvider(&providerNameSilo.NameSiloApplicantConfig{
|
applicant, err := pNameSilo.NewChallengeProvider(&pNameSilo.NameSiloApplicantConfig{
|
||||||
ApiKey: access.ApiKey,
|
ApiKey: access.ApiKey,
|
||||||
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
||||||
DnsTTL: options.DnsTTL,
|
DnsTTL: options.DnsTTL,
|
||||||
@ -219,7 +219,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
applicant, err := providerNS1.NewChallengeProvider(&providerNS1.NS1ApplicantConfig{
|
applicant, err := pNS1.NewChallengeProvider(&pNS1.NS1ApplicantConfig{
|
||||||
ApiKey: access.ApiKey,
|
ApiKey: access.ApiKey,
|
||||||
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
||||||
DnsTTL: options.DnsTTL,
|
DnsTTL: options.DnsTTL,
|
||||||
@ -234,7 +234,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
applicant, err := providerPowerDNS.NewChallengeProvider(&providerPowerDNS.PowerDNSApplicantConfig{
|
applicant, err := pPowerDNS.NewChallengeProvider(&pPowerDNS.PowerDNSApplicantConfig{
|
||||||
ApiUrl: access.ApiUrl,
|
ApiUrl: access.ApiUrl,
|
||||||
ApiKey: access.ApiKey,
|
ApiKey: access.ApiKey,
|
||||||
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
||||||
@ -250,7 +250,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
applicant, err := providerRainYun.NewChallengeProvider(&providerRainYun.RainYunApplicantConfig{
|
applicant, err := pRainYun.NewChallengeProvider(&pRainYun.RainYunApplicantConfig{
|
||||||
ApiKey: access.ApiKey,
|
ApiKey: access.ApiKey,
|
||||||
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
||||||
DnsTTL: options.DnsTTL,
|
DnsTTL: options.DnsTTL,
|
||||||
@ -265,7 +265,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
applicant, err := providerTencentCloud.NewChallengeProvider(&providerTencentCloud.TencentCloudApplicantConfig{
|
applicant, err := pTencentCloud.NewChallengeProvider(&pTencentCloud.TencentCloudApplicantConfig{
|
||||||
SecretId: access.SecretId,
|
SecretId: access.SecretId,
|
||||||
SecretKey: access.SecretKey,
|
SecretKey: access.SecretKey,
|
||||||
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
||||||
@ -281,7 +281,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
applicant, err := providerVolcEngine.NewChallengeProvider(&providerVolcEngine.VolcEngineApplicantConfig{
|
applicant, err := pVolcEngine.NewChallengeProvider(&pVolcEngine.VolcEngineApplicantConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
SecretAccessKey: access.SecretAccessKey,
|
SecretAccessKey: access.SecretAccessKey,
|
||||||
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
||||||
@ -297,7 +297,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
applicant, err := providerWestcn.NewChallengeProvider(&providerWestcn.WestcnApplicantConfig{
|
applicant, err := pWestcn.NewChallengeProvider(&pWestcn.WestcnApplicantConfig{
|
||||||
Username: access.Username,
|
Username: access.Username,
|
||||||
ApiPassword: access.ApiPassword,
|
ApiPassword: access.ApiPassword,
|
||||||
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
||||||
|
@ -6,45 +6,46 @@ import (
|
|||||||
|
|
||||||
"github.com/usual2970/certimate/internal/domain"
|
"github.com/usual2970/certimate/internal/domain"
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/deployer"
|
"github.com/usual2970/certimate/internal/pkg/core/deployer"
|
||||||
providerAliyunALB "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aliyun-alb"
|
pAliyunALB "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aliyun-alb"
|
||||||
providerAliyunCASDeploy "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aliyun-cas-deploy"
|
pAliyunCASDeploy "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aliyun-cas-deploy"
|
||||||
providerAliyunCDN "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aliyun-cdn"
|
pAliyunCDN "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aliyun-cdn"
|
||||||
providerAliyunCLB "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aliyun-clb"
|
pAliyunCLB "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aliyun-clb"
|
||||||
providerAliyunDCDN "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aliyun-dcdn"
|
pAliyunDCDN "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aliyun-dcdn"
|
||||||
providerAliyunESA "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aliyun-esa"
|
pAliyunESA "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aliyun-esa"
|
||||||
providerAliyunLive "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aliyun-live"
|
pAliyunLive "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aliyun-live"
|
||||||
providerAliyunNLB "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aliyun-nlb"
|
pAliyunNLB "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aliyun-nlb"
|
||||||
providerAliyunOSS "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aliyun-oss"
|
pAliyunOSS "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aliyun-oss"
|
||||||
providerAliyunWAF "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aliyun-waf"
|
pAliyunWAF "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aliyun-waf"
|
||||||
providerAWSCloudFront "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aws-cloudfront"
|
pAWSCloudFront "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/aws-cloudfront"
|
||||||
providerBaiduCloudCDN "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/baiducloud-cdn"
|
pBaiduCloudCDN "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/baiducloud-cdn"
|
||||||
providerBaotaPanelSite "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/baotapanel-site"
|
pBaotaPanelConsole "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/baotapanel-console"
|
||||||
providerBytePlusCDN "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/byteplus-cdn"
|
pBaotaPanelSite "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/baotapanel-site"
|
||||||
providerDogeCDN "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/dogecloud-cdn"
|
pBytePlusCDN "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/byteplus-cdn"
|
||||||
providerEdgioApplications "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/edgio-applications"
|
pDogeCDN "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/dogecloud-cdn"
|
||||||
providerHuaweiCloudCDN "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/huaweicloud-cdn"
|
pEdgioApplications "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/edgio-applications"
|
||||||
providerHuaweiCloudELB "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/huaweicloud-elb"
|
pHuaweiCloudCDN "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/huaweicloud-cdn"
|
||||||
providerK8sSecret "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/k8s-secret"
|
pHuaweiCloudELB "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/huaweicloud-elb"
|
||||||
providerLocal "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/local"
|
pK8sSecret "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/k8s-secret"
|
||||||
providerQiniuCDN "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/qiniu-cdn"
|
pLocal "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/local"
|
||||||
providerQiniuPili "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/qiniu-pili"
|
pQiniuCDN "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/qiniu-cdn"
|
||||||
|
pQiniuPili "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/qiniu-pili"
|
||||||
providerSSH "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/ssh"
|
providerSSH "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/ssh"
|
||||||
providerTencentCloudCDN "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/tencentcloud-cdn"
|
pTencentCloudCDN "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/tencentcloud-cdn"
|
||||||
providerTencentCloudCLB "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/tencentcloud-clb"
|
pTencentCloudCLB "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/tencentcloud-clb"
|
||||||
providerTencentCloudCOS "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/tencentcloud-cos"
|
pTencentCloudCOS "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/tencentcloud-cos"
|
||||||
providerTencentCloudCSS "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/tencentcloud-css"
|
pTencentCloudCSS "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/tencentcloud-css"
|
||||||
providerTencentCloudECDN "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/tencentcloud-ecdn"
|
pTencentCloudECDN "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/tencentcloud-ecdn"
|
||||||
providerTencentCloudEO "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/tencentcloud-eo"
|
pTencentCloudEO "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/tencentcloud-eo"
|
||||||
providerTencentCloudSSLDeploy "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/tencentcloud-ssl-deploy"
|
pTencentCloudSSLDeploy "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/tencentcloud-ssl-deploy"
|
||||||
providerUCloudUCDN "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/ucloud-ucdn"
|
pUCloudUCDN "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/ucloud-ucdn"
|
||||||
providerUCloudUS3 "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/ucloud-us3"
|
pUCloudUS3 "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/ucloud-us3"
|
||||||
providerVolcEngineCDN "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/volcengine-cdn"
|
pVolcEngineCDN "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/volcengine-cdn"
|
||||||
providerVolcEngineCLB "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/volcengine-clb"
|
pVolcEngineCLB "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/volcengine-clb"
|
||||||
providerVolcEngineDCDN "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/volcengine-dcdn"
|
pVolcEngineDCDN "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/volcengine-dcdn"
|
||||||
providerVolcEngineImageX "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/volcengine-imagex"
|
pVolcEngineImageX "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/volcengine-imagex"
|
||||||
providerVolcEngineLive "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/volcengine-live"
|
pVolcEngineLive "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/volcengine-live"
|
||||||
providerVolcEngineTOS "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/volcengine-tos"
|
pVolcEngineTOS "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/volcengine-tos"
|
||||||
providerWebhook "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/webhook"
|
pWebhook "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/webhook"
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/logger"
|
"github.com/usual2970/certimate/internal/pkg/core/logger"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/maps"
|
"github.com/usual2970/certimate/internal/pkg/utils/maps"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/slices"
|
"github.com/usual2970/certimate/internal/pkg/utils/slices"
|
||||||
@ -67,11 +68,11 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
|
|
||||||
switch options.Provider {
|
switch options.Provider {
|
||||||
case domain.DeployProviderTypeAliyunALB:
|
case domain.DeployProviderTypeAliyunALB:
|
||||||
deployer, err := providerAliyunALB.NewWithLogger(&providerAliyunALB.AliyunALBDeployerConfig{
|
deployer, err := pAliyunALB.NewWithLogger(&pAliyunALB.AliyunALBDeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.AccessKeySecret,
|
AccessKeySecret: access.AccessKeySecret,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
||||||
ResourceType: providerAliyunALB.DeployResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")),
|
ResourceType: pAliyunALB.DeployResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")),
|
||||||
LoadbalancerId: maps.GetValueAsString(options.ProviderDeployConfig, "loadbalancerId"),
|
LoadbalancerId: maps.GetValueAsString(options.ProviderDeployConfig, "loadbalancerId"),
|
||||||
ListenerId: maps.GetValueAsString(options.ProviderDeployConfig, "listenerId"),
|
ListenerId: maps.GetValueAsString(options.ProviderDeployConfig, "listenerId"),
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
||||||
@ -79,7 +80,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
return deployer, logger, err
|
return deployer, logger, err
|
||||||
|
|
||||||
case domain.DeployProviderTypeAliyunCASDeploy:
|
case domain.DeployProviderTypeAliyunCASDeploy:
|
||||||
deployer, err := providerAliyunCASDeploy.NewWithLogger(&providerAliyunCASDeploy.AliyunCASDeployDeployerConfig{
|
deployer, err := pAliyunCASDeploy.NewWithLogger(&pAliyunCASDeploy.AliyunCASDeployDeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.AccessKeySecret,
|
AccessKeySecret: access.AccessKeySecret,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
||||||
@ -89,7 +90,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
return deployer, logger, err
|
return deployer, logger, err
|
||||||
|
|
||||||
case domain.DeployProviderTypeAliyunCDN:
|
case domain.DeployProviderTypeAliyunCDN:
|
||||||
deployer, err := providerAliyunCDN.NewWithLogger(&providerAliyunCDN.AliyunCDNDeployerConfig{
|
deployer, err := pAliyunCDN.NewWithLogger(&pAliyunCDN.AliyunCDNDeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.AccessKeySecret,
|
AccessKeySecret: access.AccessKeySecret,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
||||||
@ -97,11 +98,11 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
return deployer, logger, err
|
return deployer, logger, err
|
||||||
|
|
||||||
case domain.DeployProviderTypeAliyunCLB:
|
case domain.DeployProviderTypeAliyunCLB:
|
||||||
deployer, err := providerAliyunCLB.NewWithLogger(&providerAliyunCLB.AliyunCLBDeployerConfig{
|
deployer, err := pAliyunCLB.NewWithLogger(&pAliyunCLB.AliyunCLBDeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.AccessKeySecret,
|
AccessKeySecret: access.AccessKeySecret,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
||||||
ResourceType: providerAliyunCLB.DeployResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")),
|
ResourceType: pAliyunCLB.DeployResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")),
|
||||||
LoadbalancerId: maps.GetValueAsString(options.ProviderDeployConfig, "loadbalancerId"),
|
LoadbalancerId: maps.GetValueAsString(options.ProviderDeployConfig, "loadbalancerId"),
|
||||||
ListenerPort: maps.GetValueOrDefaultAsInt32(options.ProviderDeployConfig, "listenerPort", 443),
|
ListenerPort: maps.GetValueOrDefaultAsInt32(options.ProviderDeployConfig, "listenerPort", 443),
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
||||||
@ -109,7 +110,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
return deployer, logger, err
|
return deployer, logger, err
|
||||||
|
|
||||||
case domain.DeployProviderTypeAliyunDCDN:
|
case domain.DeployProviderTypeAliyunDCDN:
|
||||||
deployer, err := providerAliyunDCDN.NewWithLogger(&providerAliyunDCDN.AliyunDCDNDeployerConfig{
|
deployer, err := pAliyunDCDN.NewWithLogger(&pAliyunDCDN.AliyunDCDNDeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.AccessKeySecret,
|
AccessKeySecret: access.AccessKeySecret,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
||||||
@ -117,7 +118,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
return deployer, logger, err
|
return deployer, logger, err
|
||||||
|
|
||||||
case domain.DeployProviderTypeAliyunESA:
|
case domain.DeployProviderTypeAliyunESA:
|
||||||
deployer, err := providerAliyunESA.NewWithLogger(&providerAliyunESA.AliyunESADeployerConfig{
|
deployer, err := pAliyunESA.NewWithLogger(&pAliyunESA.AliyunESADeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.AccessKeySecret,
|
AccessKeySecret: access.AccessKeySecret,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
||||||
@ -126,7 +127,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
return deployer, logger, err
|
return deployer, logger, err
|
||||||
|
|
||||||
case domain.DeployProviderTypeAliyunLive:
|
case domain.DeployProviderTypeAliyunLive:
|
||||||
deployer, err := providerAliyunLive.NewWithLogger(&providerAliyunLive.AliyunLiveDeployerConfig{
|
deployer, err := pAliyunLive.NewWithLogger(&pAliyunLive.AliyunLiveDeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.AccessKeySecret,
|
AccessKeySecret: access.AccessKeySecret,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
||||||
@ -135,18 +136,18 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
return deployer, logger, err
|
return deployer, logger, err
|
||||||
|
|
||||||
case domain.DeployProviderTypeAliyunNLB:
|
case domain.DeployProviderTypeAliyunNLB:
|
||||||
deployer, err := providerAliyunNLB.NewWithLogger(&providerAliyunNLB.AliyunNLBDeployerConfig{
|
deployer, err := pAliyunNLB.NewWithLogger(&pAliyunNLB.AliyunNLBDeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.AccessKeySecret,
|
AccessKeySecret: access.AccessKeySecret,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
||||||
ResourceType: providerAliyunNLB.DeployResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")),
|
ResourceType: pAliyunNLB.DeployResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")),
|
||||||
LoadbalancerId: maps.GetValueAsString(options.ProviderDeployConfig, "loadbalancerId"),
|
LoadbalancerId: maps.GetValueAsString(options.ProviderDeployConfig, "loadbalancerId"),
|
||||||
ListenerId: maps.GetValueAsString(options.ProviderDeployConfig, "listenerId"),
|
ListenerId: maps.GetValueAsString(options.ProviderDeployConfig, "listenerId"),
|
||||||
}, logger)
|
}, logger)
|
||||||
return deployer, logger, err
|
return deployer, logger, err
|
||||||
|
|
||||||
case domain.DeployProviderTypeAliyunOSS:
|
case domain.DeployProviderTypeAliyunOSS:
|
||||||
deployer, err := providerAliyunOSS.NewWithLogger(&providerAliyunOSS.AliyunOSSDeployerConfig{
|
deployer, err := pAliyunOSS.NewWithLogger(&pAliyunOSS.AliyunOSSDeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.AccessKeySecret,
|
AccessKeySecret: access.AccessKeySecret,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
||||||
@ -156,7 +157,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
return deployer, logger, err
|
return deployer, logger, err
|
||||||
|
|
||||||
case domain.DeployProviderTypeAliyunWAF:
|
case domain.DeployProviderTypeAliyunWAF:
|
||||||
deployer, err := providerAliyunWAF.NewWithLogger(&providerAliyunWAF.AliyunWAFDeployerConfig{
|
deployer, err := pAliyunWAF.NewWithLogger(&pAliyunWAF.AliyunWAFDeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.AccessKeySecret,
|
AccessKeySecret: access.AccessKeySecret,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
||||||
@ -178,7 +179,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
|
|
||||||
switch options.Provider {
|
switch options.Provider {
|
||||||
case domain.DeployProviderTypeAWSCloudFront:
|
case domain.DeployProviderTypeAWSCloudFront:
|
||||||
deployer, err := providerAWSCloudFront.NewWithLogger(&providerAWSCloudFront.AWSCloudFrontDeployerConfig{
|
deployer, err := pAWSCloudFront.NewWithLogger(&pAWSCloudFront.AWSCloudFrontDeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
SecretAccessKey: access.SecretAccessKey,
|
SecretAccessKey: access.SecretAccessKey,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
||||||
@ -200,7 +201,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
|
|
||||||
switch options.Provider {
|
switch options.Provider {
|
||||||
case domain.DeployProviderTypeBaiduCloudCDN:
|
case domain.DeployProviderTypeBaiduCloudCDN:
|
||||||
deployer, err := providerBaiduCloudCDN.NewWithLogger(&providerBaiduCloudCDN.BaiduCloudCDNDeployerConfig{
|
deployer, err := pBaiduCloudCDN.NewWithLogger(&pBaiduCloudCDN.BaiduCloudCDNDeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
SecretAccessKey: access.SecretAccessKey,
|
SecretAccessKey: access.SecretAccessKey,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
||||||
@ -212,19 +213,33 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
case domain.DeployProviderTypeBaotaPanelSite:
|
case domain.DeployProviderTypeBaotaPanelConsole, domain.DeployProviderTypeBaotaPanelSite:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForBaotaPanel{}
|
access := domain.AccessConfigForBaotaPanel{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
deployer, err := providerBaotaPanelSite.NewWithLogger(&providerBaotaPanelSite.BaotaPanelSiteDeployerConfig{
|
switch options.Provider {
|
||||||
ApiUrl: access.ApiUrl,
|
case domain.DeployProviderTypeBaotaPanelConsole:
|
||||||
ApiKey: access.ApiKey,
|
deployer, err := pBaotaPanelConsole.NewWithLogger(&pBaotaPanelConsole.BaotaPanelConsoleDeployerConfig{
|
||||||
SiteName: maps.GetValueAsString(options.ProviderDeployConfig, "siteName"),
|
ApiUrl: access.ApiUrl,
|
||||||
}, logger)
|
ApiKey: access.ApiKey,
|
||||||
return deployer, logger, err
|
AutoRestart: maps.GetValueAsBool(options.ProviderDeployConfig, "autoRestart"),
|
||||||
|
}, logger)
|
||||||
|
return deployer, logger, err
|
||||||
|
|
||||||
|
case domain.DeployProviderTypeBaotaPanelSite:
|
||||||
|
deployer, err := pBaotaPanelSite.NewWithLogger(&pBaotaPanelSite.BaotaPanelSiteDeployerConfig{
|
||||||
|
ApiUrl: access.ApiUrl,
|
||||||
|
ApiKey: access.ApiKey,
|
||||||
|
SiteName: maps.GetValueAsString(options.ProviderDeployConfig, "siteName"),
|
||||||
|
}, logger)
|
||||||
|
return deployer, logger, err
|
||||||
|
|
||||||
|
default:
|
||||||
|
break
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
case domain.DeployProviderTypeBytePlusCDN:
|
case domain.DeployProviderTypeBytePlusCDN:
|
||||||
@ -236,7 +251,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
|
|
||||||
switch options.Provider {
|
switch options.Provider {
|
||||||
case domain.DeployProviderTypeBytePlusCDN:
|
case domain.DeployProviderTypeBytePlusCDN:
|
||||||
deployer, err := providerBytePlusCDN.NewWithLogger(&providerBytePlusCDN.BytePlusCDNDeployerConfig{
|
deployer, err := pBytePlusCDN.NewWithLogger(&pBytePlusCDN.BytePlusCDNDeployerConfig{
|
||||||
AccessKey: access.AccessKey,
|
AccessKey: access.AccessKey,
|
||||||
SecretKey: access.SecretKey,
|
SecretKey: access.SecretKey,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
||||||
@ -255,7 +270,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
return nil, nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
deployer, err := providerDogeCDN.NewWithLogger(&providerDogeCDN.DogeCloudCDNDeployerConfig{
|
deployer, err := pDogeCDN.NewWithLogger(&pDogeCDN.DogeCloudCDNDeployerConfig{
|
||||||
AccessKey: access.AccessKey,
|
AccessKey: access.AccessKey,
|
||||||
SecretKey: access.SecretKey,
|
SecretKey: access.SecretKey,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
||||||
@ -270,7 +285,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
return nil, nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
deployer, err := providerEdgioApplications.NewWithLogger(&providerEdgioApplications.EdgioApplicationsDeployerConfig{
|
deployer, err := pEdgioApplications.NewWithLogger(&pEdgioApplications.EdgioApplicationsDeployerConfig{
|
||||||
ClientId: access.ClientId,
|
ClientId: access.ClientId,
|
||||||
ClientSecret: access.ClientSecret,
|
ClientSecret: access.ClientSecret,
|
||||||
EnvironmentId: maps.GetValueAsString(options.ProviderDeployConfig, "environmentId"),
|
EnvironmentId: maps.GetValueAsString(options.ProviderDeployConfig, "environmentId"),
|
||||||
@ -287,7 +302,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
|
|
||||||
switch options.Provider {
|
switch options.Provider {
|
||||||
case domain.DeployProviderTypeHuaweiCloudCDN:
|
case domain.DeployProviderTypeHuaweiCloudCDN:
|
||||||
deployer, err := providerHuaweiCloudCDN.NewWithLogger(&providerHuaweiCloudCDN.HuaweiCloudCDNDeployerConfig{
|
deployer, err := pHuaweiCloudCDN.NewWithLogger(&pHuaweiCloudCDN.HuaweiCloudCDNDeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
SecretAccessKey: access.SecretAccessKey,
|
SecretAccessKey: access.SecretAccessKey,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
||||||
@ -296,11 +311,11 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
return deployer, logger, err
|
return deployer, logger, err
|
||||||
|
|
||||||
case domain.DeployProviderTypeHuaweiCloudELB:
|
case domain.DeployProviderTypeHuaweiCloudELB:
|
||||||
deployer, err := providerHuaweiCloudELB.NewWithLogger(&providerHuaweiCloudELB.HuaweiCloudELBDeployerConfig{
|
deployer, err := pHuaweiCloudELB.NewWithLogger(&pHuaweiCloudELB.HuaweiCloudELBDeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
SecretAccessKey: access.SecretAccessKey,
|
SecretAccessKey: access.SecretAccessKey,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
||||||
ResourceType: providerHuaweiCloudELB.DeployResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")),
|
ResourceType: pHuaweiCloudELB.DeployResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")),
|
||||||
CertificateId: maps.GetValueAsString(options.ProviderDeployConfig, "certificateId"),
|
CertificateId: maps.GetValueAsString(options.ProviderDeployConfig, "certificateId"),
|
||||||
LoadbalancerId: maps.GetValueAsString(options.ProviderDeployConfig, "loadbalancerId"),
|
LoadbalancerId: maps.GetValueAsString(options.ProviderDeployConfig, "loadbalancerId"),
|
||||||
ListenerId: maps.GetValueAsString(options.ProviderDeployConfig, "listenerId"),
|
ListenerId: maps.GetValueAsString(options.ProviderDeployConfig, "listenerId"),
|
||||||
@ -314,11 +329,11 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
|
|
||||||
case domain.DeployProviderTypeLocal:
|
case domain.DeployProviderTypeLocal:
|
||||||
{
|
{
|
||||||
deployer, err := providerLocal.NewWithLogger(&providerLocal.LocalDeployerConfig{
|
deployer, err := pLocal.NewWithLogger(&pLocal.LocalDeployerConfig{
|
||||||
ShellEnv: providerLocal.ShellEnvType(maps.GetValueAsString(options.ProviderDeployConfig, "shellEnv")),
|
ShellEnv: pLocal.ShellEnvType(maps.GetValueAsString(options.ProviderDeployConfig, "shellEnv")),
|
||||||
PreCommand: maps.GetValueAsString(options.ProviderDeployConfig, "preCommand"),
|
PreCommand: maps.GetValueAsString(options.ProviderDeployConfig, "preCommand"),
|
||||||
PostCommand: maps.GetValueAsString(options.ProviderDeployConfig, "postCommand"),
|
PostCommand: maps.GetValueAsString(options.ProviderDeployConfig, "postCommand"),
|
||||||
OutputFormat: providerLocal.OutputFormatType(maps.GetValueOrDefaultAsString(options.ProviderDeployConfig, "format", string(providerLocal.OUTPUT_FORMAT_PEM))),
|
OutputFormat: pLocal.OutputFormatType(maps.GetValueOrDefaultAsString(options.ProviderDeployConfig, "format", string(pLocal.OUTPUT_FORMAT_PEM))),
|
||||||
OutputCertPath: maps.GetValueAsString(options.ProviderDeployConfig, "certPath"),
|
OutputCertPath: maps.GetValueAsString(options.ProviderDeployConfig, "certPath"),
|
||||||
OutputKeyPath: maps.GetValueAsString(options.ProviderDeployConfig, "keyPath"),
|
OutputKeyPath: maps.GetValueAsString(options.ProviderDeployConfig, "keyPath"),
|
||||||
PfxPassword: maps.GetValueAsString(options.ProviderDeployConfig, "pfxPassword"),
|
PfxPassword: maps.GetValueAsString(options.ProviderDeployConfig, "pfxPassword"),
|
||||||
@ -336,7 +351,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
return nil, nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
deployer, err := providerK8sSecret.NewWithLogger(&providerK8sSecret.K8sSecretDeployerConfig{
|
deployer, err := pK8sSecret.NewWithLogger(&pK8sSecret.K8sSecretDeployerConfig{
|
||||||
KubeConfig: access.KubeConfig,
|
KubeConfig: access.KubeConfig,
|
||||||
Namespace: maps.GetValueOrDefaultAsString(options.ProviderDeployConfig, "namespace", "default"),
|
Namespace: maps.GetValueOrDefaultAsString(options.ProviderDeployConfig, "namespace", "default"),
|
||||||
SecretName: maps.GetValueAsString(options.ProviderDeployConfig, "secretName"),
|
SecretName: maps.GetValueAsString(options.ProviderDeployConfig, "secretName"),
|
||||||
@ -356,7 +371,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
|
|
||||||
switch options.Provider {
|
switch options.Provider {
|
||||||
case domain.DeployProviderTypeQiniuCDN:
|
case domain.DeployProviderTypeQiniuCDN:
|
||||||
deployer, err := providerQiniuCDN.NewWithLogger(&providerQiniuCDN.QiniuCDNDeployerConfig{
|
deployer, err := pQiniuCDN.NewWithLogger(&pQiniuCDN.QiniuCDNDeployerConfig{
|
||||||
AccessKey: access.AccessKey,
|
AccessKey: access.AccessKey,
|
||||||
SecretKey: access.SecretKey,
|
SecretKey: access.SecretKey,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
||||||
@ -364,7 +379,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
return deployer, logger, err
|
return deployer, logger, err
|
||||||
|
|
||||||
case domain.DeployProviderTypeQiniuPili:
|
case domain.DeployProviderTypeQiniuPili:
|
||||||
deployer, err := providerQiniuPili.NewWithLogger(&providerQiniuPili.QiniuPiliDeployerConfig{
|
deployer, err := pQiniuPili.NewWithLogger(&pQiniuPili.QiniuPiliDeployerConfig{
|
||||||
AccessKey: access.AccessKey,
|
AccessKey: access.AccessKey,
|
||||||
SecretKey: access.SecretKey,
|
SecretKey: access.SecretKey,
|
||||||
Hub: maps.GetValueAsString(options.ProviderDeployConfig, "hub"),
|
Hub: maps.GetValueAsString(options.ProviderDeployConfig, "hub"),
|
||||||
@ -414,7 +429,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
|
|
||||||
switch options.Provider {
|
switch options.Provider {
|
||||||
case domain.DeployProviderTypeTencentCloudCDN:
|
case domain.DeployProviderTypeTencentCloudCDN:
|
||||||
deployer, err := providerTencentCloudCDN.NewWithLogger(&providerTencentCloudCDN.TencentCloudCDNDeployerConfig{
|
deployer, err := pTencentCloudCDN.NewWithLogger(&pTencentCloudCDN.TencentCloudCDNDeployerConfig{
|
||||||
SecretId: access.SecretId,
|
SecretId: access.SecretId,
|
||||||
SecretKey: access.SecretKey,
|
SecretKey: access.SecretKey,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
||||||
@ -422,11 +437,11 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
return deployer, logger, err
|
return deployer, logger, err
|
||||||
|
|
||||||
case domain.DeployProviderTypeTencentCloudCLB:
|
case domain.DeployProviderTypeTencentCloudCLB:
|
||||||
deployer, err := providerTencentCloudCLB.NewWithLogger(&providerTencentCloudCLB.TencentCloudCLBDeployerConfig{
|
deployer, err := pTencentCloudCLB.NewWithLogger(&pTencentCloudCLB.TencentCloudCLBDeployerConfig{
|
||||||
SecretId: access.SecretId,
|
SecretId: access.SecretId,
|
||||||
SecretKey: access.SecretKey,
|
SecretKey: access.SecretKey,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
||||||
ResourceType: providerTencentCloudCLB.DeployResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")),
|
ResourceType: pTencentCloudCLB.DeployResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")),
|
||||||
LoadbalancerId: maps.GetValueAsString(options.ProviderDeployConfig, "loadbalancerId"),
|
LoadbalancerId: maps.GetValueAsString(options.ProviderDeployConfig, "loadbalancerId"),
|
||||||
ListenerId: maps.GetValueAsString(options.ProviderDeployConfig, "listenerId"),
|
ListenerId: maps.GetValueAsString(options.ProviderDeployConfig, "listenerId"),
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
||||||
@ -434,7 +449,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
return deployer, logger, err
|
return deployer, logger, err
|
||||||
|
|
||||||
case domain.DeployProviderTypeTencentCloudCOS:
|
case domain.DeployProviderTypeTencentCloudCOS:
|
||||||
deployer, err := providerTencentCloudCOS.NewWithLogger(&providerTencentCloudCOS.TencentCloudCOSDeployerConfig{
|
deployer, err := pTencentCloudCOS.NewWithLogger(&pTencentCloudCOS.TencentCloudCOSDeployerConfig{
|
||||||
SecretId: access.SecretId,
|
SecretId: access.SecretId,
|
||||||
SecretKey: access.SecretKey,
|
SecretKey: access.SecretKey,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
||||||
@ -444,7 +459,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
return deployer, logger, err
|
return deployer, logger, err
|
||||||
|
|
||||||
case domain.DeployProviderTypeTencentCloudCSS:
|
case domain.DeployProviderTypeTencentCloudCSS:
|
||||||
deployer, err := providerTencentCloudCSS.NewWithLogger(&providerTencentCloudCSS.TencentCloudCSSDeployerConfig{
|
deployer, err := pTencentCloudCSS.NewWithLogger(&pTencentCloudCSS.TencentCloudCSSDeployerConfig{
|
||||||
SecretId: access.SecretId,
|
SecretId: access.SecretId,
|
||||||
SecretKey: access.SecretKey,
|
SecretKey: access.SecretKey,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
||||||
@ -452,7 +467,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
return deployer, logger, err
|
return deployer, logger, err
|
||||||
|
|
||||||
case domain.DeployProviderTypeTencentCloudECDN:
|
case domain.DeployProviderTypeTencentCloudECDN:
|
||||||
deployer, err := providerTencentCloudECDN.NewWithLogger(&providerTencentCloudECDN.TencentCloudECDNDeployerConfig{
|
deployer, err := pTencentCloudECDN.NewWithLogger(&pTencentCloudECDN.TencentCloudECDNDeployerConfig{
|
||||||
SecretId: access.SecretId,
|
SecretId: access.SecretId,
|
||||||
SecretKey: access.SecretKey,
|
SecretKey: access.SecretKey,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
||||||
@ -460,7 +475,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
return deployer, logger, err
|
return deployer, logger, err
|
||||||
|
|
||||||
case domain.DeployProviderTypeTencentCloudEO:
|
case domain.DeployProviderTypeTencentCloudEO:
|
||||||
deployer, err := providerTencentCloudEO.NewWithLogger(&providerTencentCloudEO.TencentCloudEODeployerConfig{
|
deployer, err := pTencentCloudEO.NewWithLogger(&pTencentCloudEO.TencentCloudEODeployerConfig{
|
||||||
SecretId: access.SecretId,
|
SecretId: access.SecretId,
|
||||||
SecretKey: access.SecretKey,
|
SecretKey: access.SecretKey,
|
||||||
ZoneId: maps.GetValueAsString(options.ProviderDeployConfig, "zoneId"),
|
ZoneId: maps.GetValueAsString(options.ProviderDeployConfig, "zoneId"),
|
||||||
@ -469,7 +484,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
return deployer, logger, err
|
return deployer, logger, err
|
||||||
|
|
||||||
case domain.DeployProviderTypeTencentCloudSSLDeploy:
|
case domain.DeployProviderTypeTencentCloudSSLDeploy:
|
||||||
deployer, err := providerTencentCloudSSLDeploy.NewWithLogger(&providerTencentCloudSSLDeploy.TencentCloudSSLDeployDeployerConfig{
|
deployer, err := pTencentCloudSSLDeploy.NewWithLogger(&pTencentCloudSSLDeploy.TencentCloudSSLDeployDeployerConfig{
|
||||||
SecretId: access.SecretId,
|
SecretId: access.SecretId,
|
||||||
SecretKey: access.SecretKey,
|
SecretKey: access.SecretKey,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
||||||
@ -492,7 +507,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
|
|
||||||
switch options.Provider {
|
switch options.Provider {
|
||||||
case domain.DeployProviderTypeUCloudUCDN:
|
case domain.DeployProviderTypeUCloudUCDN:
|
||||||
deployer, err := providerUCloudUCDN.NewWithLogger(&providerUCloudUCDN.UCloudUCDNDeployerConfig{
|
deployer, err := pUCloudUCDN.NewWithLogger(&pUCloudUCDN.UCloudUCDNDeployerConfig{
|
||||||
PrivateKey: access.PrivateKey,
|
PrivateKey: access.PrivateKey,
|
||||||
PublicKey: access.PublicKey,
|
PublicKey: access.PublicKey,
|
||||||
ProjectId: access.ProjectId,
|
ProjectId: access.ProjectId,
|
||||||
@ -501,7 +516,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
return deployer, logger, err
|
return deployer, logger, err
|
||||||
|
|
||||||
case domain.DeployProviderTypeUCloudUS3:
|
case domain.DeployProviderTypeUCloudUS3:
|
||||||
deployer, err := providerUCloudUS3.NewWithLogger(&providerUCloudUS3.UCloudUS3DeployerConfig{
|
deployer, err := pUCloudUS3.NewWithLogger(&pUCloudUS3.UCloudUS3DeployerConfig{
|
||||||
PrivateKey: access.PrivateKey,
|
PrivateKey: access.PrivateKey,
|
||||||
PublicKey: access.PublicKey,
|
PublicKey: access.PublicKey,
|
||||||
ProjectId: access.ProjectId,
|
ProjectId: access.ProjectId,
|
||||||
@ -525,7 +540,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
|
|
||||||
switch options.Provider {
|
switch options.Provider {
|
||||||
case domain.DeployProviderTypeVolcEngineCDN:
|
case domain.DeployProviderTypeVolcEngineCDN:
|
||||||
deployer, err := providerVolcEngineCDN.NewWithLogger(&providerVolcEngineCDN.VolcEngineCDNDeployerConfig{
|
deployer, err := pVolcEngineCDN.NewWithLogger(&pVolcEngineCDN.VolcEngineCDNDeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.SecretAccessKey,
|
AccessKeySecret: access.SecretAccessKey,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
||||||
@ -533,17 +548,17 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
return deployer, logger, err
|
return deployer, logger, err
|
||||||
|
|
||||||
case domain.DeployProviderTypeVolcEngineCLB:
|
case domain.DeployProviderTypeVolcEngineCLB:
|
||||||
deployer, err := providerVolcEngineCLB.NewWithLogger(&providerVolcEngineCLB.VolcEngineCLBDeployerConfig{
|
deployer, err := pVolcEngineCLB.NewWithLogger(&pVolcEngineCLB.VolcEngineCLBDeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.SecretAccessKey,
|
AccessKeySecret: access.SecretAccessKey,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
||||||
ResourceType: providerVolcEngineCLB.DeployResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")),
|
ResourceType: pVolcEngineCLB.DeployResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")),
|
||||||
ListenerId: maps.GetValueAsString(options.ProviderDeployConfig, "listenerId"),
|
ListenerId: maps.GetValueAsString(options.ProviderDeployConfig, "listenerId"),
|
||||||
}, logger)
|
}, logger)
|
||||||
return deployer, logger, err
|
return deployer, logger, err
|
||||||
|
|
||||||
case domain.DeployProviderTypeVolcEngineDCDN:
|
case domain.DeployProviderTypeVolcEngineDCDN:
|
||||||
deployer, err := providerVolcEngineDCDN.NewWithLogger(&providerVolcEngineDCDN.VolcEngineDCDNDeployerConfig{
|
deployer, err := pVolcEngineDCDN.NewWithLogger(&pVolcEngineDCDN.VolcEngineDCDNDeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.SecretAccessKey,
|
AccessKeySecret: access.SecretAccessKey,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
||||||
@ -551,7 +566,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
return deployer, logger, err
|
return deployer, logger, err
|
||||||
|
|
||||||
case domain.DeployProviderTypeVolcEngineImageX:
|
case domain.DeployProviderTypeVolcEngineImageX:
|
||||||
deployer, err := providerVolcEngineImageX.NewWithLogger(&providerVolcEngineImageX.VolcEngineImageXDeployerConfig{
|
deployer, err := pVolcEngineImageX.NewWithLogger(&pVolcEngineImageX.VolcEngineImageXDeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.SecretAccessKey,
|
AccessKeySecret: access.SecretAccessKey,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
||||||
@ -561,7 +576,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
return deployer, logger, err
|
return deployer, logger, err
|
||||||
|
|
||||||
case domain.DeployProviderTypeVolcEngineLive:
|
case domain.DeployProviderTypeVolcEngineLive:
|
||||||
deployer, err := providerVolcEngineLive.NewWithLogger(&providerVolcEngineLive.VolcEngineLiveDeployerConfig{
|
deployer, err := pVolcEngineLive.NewWithLogger(&pVolcEngineLive.VolcEngineLiveDeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.SecretAccessKey,
|
AccessKeySecret: access.SecretAccessKey,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
||||||
@ -569,7 +584,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
return deployer, logger, err
|
return deployer, logger, err
|
||||||
|
|
||||||
case domain.DeployProviderTypeVolcEngineTOS:
|
case domain.DeployProviderTypeVolcEngineTOS:
|
||||||
deployer, err := providerVolcEngineTOS.NewWithLogger(&providerVolcEngineTOS.VolcEngineTOSDeployerConfig{
|
deployer, err := pVolcEngineTOS.NewWithLogger(&pVolcEngineTOS.VolcEngineTOSDeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.SecretAccessKey,
|
AccessKeySecret: access.SecretAccessKey,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
||||||
@ -590,7 +605,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, logger.Logger,
|
|||||||
return nil, nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
deployer, err := providerWebhook.NewWithLogger(&providerWebhook.WebhookDeployerConfig{
|
deployer, err := pWebhook.NewWithLogger(&pWebhook.WebhookDeployerConfig{
|
||||||
WebhookUrl: access.Url,
|
WebhookUrl: access.Url,
|
||||||
WebhookData: maps.GetValueAsString(options.ProviderDeployConfig, "webhookData"),
|
WebhookData: maps.GetValueAsString(options.ProviderDeployConfig, "webhookData"),
|
||||||
}, logger)
|
}, logger)
|
||||||
|
@ -107,6 +107,7 @@ const (
|
|||||||
DeployProviderTypeAliyunWAF = DeployProviderType("aliyun-waf")
|
DeployProviderTypeAliyunWAF = DeployProviderType("aliyun-waf")
|
||||||
DeployProviderTypeAWSCloudFront = DeployProviderType("aws-cloudfront")
|
DeployProviderTypeAWSCloudFront = DeployProviderType("aws-cloudfront")
|
||||||
DeployProviderTypeBaiduCloudCDN = DeployProviderType("baiducloud-cdn")
|
DeployProviderTypeBaiduCloudCDN = DeployProviderType("baiducloud-cdn")
|
||||||
|
DeployProviderTypeBaotaPanelConsole = DeployProviderType("baotapanel-console")
|
||||||
DeployProviderTypeBaotaPanelSite = DeployProviderType("baotapanel-site")
|
DeployProviderTypeBaotaPanelSite = DeployProviderType("baotapanel-site")
|
||||||
DeployProviderTypeBytePlusCDN = DeployProviderType("byteplus-cdn")
|
DeployProviderTypeBytePlusCDN = DeployProviderType("byteplus-cdn")
|
||||||
DeployProviderTypeDogeCloudCDN = DeployProviderType("dogecloud-cdn")
|
DeployProviderTypeDogeCloudCDN = DeployProviderType("dogecloud-cdn")
|
||||||
|
@ -5,14 +5,14 @@ import (
|
|||||||
|
|
||||||
"github.com/usual2970/certimate/internal/domain"
|
"github.com/usual2970/certimate/internal/domain"
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/notifier"
|
"github.com/usual2970/certimate/internal/pkg/core/notifier"
|
||||||
providerBark "github.com/usual2970/certimate/internal/pkg/core/notifier/providers/bark"
|
pBark "github.com/usual2970/certimate/internal/pkg/core/notifier/providers/bark"
|
||||||
providerDingTalk "github.com/usual2970/certimate/internal/pkg/core/notifier/providers/dingtalk"
|
pDingTalk "github.com/usual2970/certimate/internal/pkg/core/notifier/providers/dingtalk"
|
||||||
providerEmail "github.com/usual2970/certimate/internal/pkg/core/notifier/providers/email"
|
pEmail "github.com/usual2970/certimate/internal/pkg/core/notifier/providers/email"
|
||||||
providerLark "github.com/usual2970/certimate/internal/pkg/core/notifier/providers/lark"
|
pLark "github.com/usual2970/certimate/internal/pkg/core/notifier/providers/lark"
|
||||||
providerServerChan "github.com/usual2970/certimate/internal/pkg/core/notifier/providers/serverchan"
|
pServerChan "github.com/usual2970/certimate/internal/pkg/core/notifier/providers/serverchan"
|
||||||
providerTelegram "github.com/usual2970/certimate/internal/pkg/core/notifier/providers/telegram"
|
pTelegram "github.com/usual2970/certimate/internal/pkg/core/notifier/providers/telegram"
|
||||||
providerWebhook "github.com/usual2970/certimate/internal/pkg/core/notifier/providers/webhook"
|
pWebhook "github.com/usual2970/certimate/internal/pkg/core/notifier/providers/webhook"
|
||||||
providerWeCom "github.com/usual2970/certimate/internal/pkg/core/notifier/providers/wecom"
|
pWeCom "github.com/usual2970/certimate/internal/pkg/core/notifier/providers/wecom"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/maps"
|
"github.com/usual2970/certimate/internal/pkg/utils/maps"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -23,19 +23,19 @@ func createNotifier(channel domain.NotifyChannelType, channelConfig map[string]a
|
|||||||
*/
|
*/
|
||||||
switch channel {
|
switch channel {
|
||||||
case domain.NotifyChannelTypeBark:
|
case domain.NotifyChannelTypeBark:
|
||||||
return providerBark.New(&providerBark.BarkNotifierConfig{
|
return pBark.New(&pBark.BarkNotifierConfig{
|
||||||
DeviceKey: maps.GetValueAsString(channelConfig, "deviceKey"),
|
DeviceKey: maps.GetValueAsString(channelConfig, "deviceKey"),
|
||||||
ServerUrl: maps.GetValueAsString(channelConfig, "serverUrl"),
|
ServerUrl: maps.GetValueAsString(channelConfig, "serverUrl"),
|
||||||
})
|
})
|
||||||
|
|
||||||
case domain.NotifyChannelTypeDingTalk:
|
case domain.NotifyChannelTypeDingTalk:
|
||||||
return providerDingTalk.New(&providerDingTalk.DingTalkNotifierConfig{
|
return pDingTalk.New(&pDingTalk.DingTalkNotifierConfig{
|
||||||
AccessToken: maps.GetValueAsString(channelConfig, "accessToken"),
|
AccessToken: maps.GetValueAsString(channelConfig, "accessToken"),
|
||||||
Secret: maps.GetValueAsString(channelConfig, "secret"),
|
Secret: maps.GetValueAsString(channelConfig, "secret"),
|
||||||
})
|
})
|
||||||
|
|
||||||
case domain.NotifyChannelTypeEmail:
|
case domain.NotifyChannelTypeEmail:
|
||||||
return providerEmail.New(&providerEmail.EmailNotifierConfig{
|
return pEmail.New(&pEmail.EmailNotifierConfig{
|
||||||
SmtpHost: maps.GetValueAsString(channelConfig, "smtpHost"),
|
SmtpHost: maps.GetValueAsString(channelConfig, "smtpHost"),
|
||||||
SmtpPort: maps.GetValueAsInt32(channelConfig, "smtpPort"),
|
SmtpPort: maps.GetValueAsInt32(channelConfig, "smtpPort"),
|
||||||
SmtpTLS: maps.GetValueOrDefaultAsBool(channelConfig, "smtpTLS", true),
|
SmtpTLS: maps.GetValueOrDefaultAsBool(channelConfig, "smtpTLS", true),
|
||||||
@ -46,28 +46,28 @@ func createNotifier(channel domain.NotifyChannelType, channelConfig map[string]a
|
|||||||
})
|
})
|
||||||
|
|
||||||
case domain.NotifyChannelTypeLark:
|
case domain.NotifyChannelTypeLark:
|
||||||
return providerLark.New(&providerLark.LarkNotifierConfig{
|
return pLark.New(&pLark.LarkNotifierConfig{
|
||||||
WebhookUrl: maps.GetValueAsString(channelConfig, "webhookUrl"),
|
WebhookUrl: maps.GetValueAsString(channelConfig, "webhookUrl"),
|
||||||
})
|
})
|
||||||
|
|
||||||
case domain.NotifyChannelTypeServerChan:
|
case domain.NotifyChannelTypeServerChan:
|
||||||
return providerServerChan.New(&providerServerChan.ServerChanNotifierConfig{
|
return pServerChan.New(&pServerChan.ServerChanNotifierConfig{
|
||||||
Url: maps.GetValueAsString(channelConfig, "url"),
|
Url: maps.GetValueAsString(channelConfig, "url"),
|
||||||
})
|
})
|
||||||
|
|
||||||
case domain.NotifyChannelTypeTelegram:
|
case domain.NotifyChannelTypeTelegram:
|
||||||
return providerTelegram.New(&providerTelegram.TelegramNotifierConfig{
|
return pTelegram.New(&pTelegram.TelegramNotifierConfig{
|
||||||
ApiToken: maps.GetValueAsString(channelConfig, "apiToken"),
|
ApiToken: maps.GetValueAsString(channelConfig, "apiToken"),
|
||||||
ChatId: maps.GetValueAsInt64(channelConfig, "chatId"),
|
ChatId: maps.GetValueAsInt64(channelConfig, "chatId"),
|
||||||
})
|
})
|
||||||
|
|
||||||
case domain.NotifyChannelTypeWebhook:
|
case domain.NotifyChannelTypeWebhook:
|
||||||
return providerWebhook.New(&providerWebhook.WebhookNotifierConfig{
|
return pWebhook.New(&pWebhook.WebhookNotifierConfig{
|
||||||
Url: maps.GetValueAsString(channelConfig, "url"),
|
Url: maps.GetValueAsString(channelConfig, "url"),
|
||||||
})
|
})
|
||||||
|
|
||||||
case domain.NotifyChannelTypeWeCom:
|
case domain.NotifyChannelTypeWeCom:
|
||||||
return providerWeCom.New(&providerWeCom.WeComNotifierConfig{
|
return pWeCom.New(&pWeCom.WeComNotifierConfig{
|
||||||
WebhookUrl: maps.GetValueAsString(channelConfig, "webhookUrl"),
|
WebhookUrl: maps.GetValueAsString(channelConfig, "webhookUrl"),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,87 @@
|
|||||||
|
package baotapanelconsole
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"errors"
|
||||||
|
|
||||||
|
xerrors "github.com/pkg/errors"
|
||||||
|
|
||||||
|
"github.com/usual2970/certimate/internal/pkg/core/deployer"
|
||||||
|
"github.com/usual2970/certimate/internal/pkg/core/logger"
|
||||||
|
btsdk "github.com/usual2970/certimate/internal/pkg/vendors/btpanel-sdk"
|
||||||
|
)
|
||||||
|
|
||||||
|
type BaotaPanelConsoleDeployerConfig struct {
|
||||||
|
// 宝塔面板地址。
|
||||||
|
ApiUrl string `json:"apiUrl"`
|
||||||
|
// 宝塔面板接口密钥。
|
||||||
|
ApiKey string `json:"apiKey"`
|
||||||
|
// 是否自动重启。
|
||||||
|
AutoRestart bool `json:"autoRestart"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type BaotaPanelConsoleDeployer struct {
|
||||||
|
config *BaotaPanelConsoleDeployerConfig
|
||||||
|
logger logger.Logger
|
||||||
|
sdkClient *btsdk.BaoTaPanelClient
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ deployer.Deployer = (*BaotaPanelConsoleDeployer)(nil)
|
||||||
|
|
||||||
|
func New(config *BaotaPanelConsoleDeployerConfig) (*BaotaPanelConsoleDeployer, error) {
|
||||||
|
return NewWithLogger(config, logger.NewNilLogger())
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewWithLogger(config *BaotaPanelConsoleDeployerConfig, logger logger.Logger) (*BaotaPanelConsoleDeployer, error) {
|
||||||
|
if config == nil {
|
||||||
|
return nil, errors.New("config is nil")
|
||||||
|
}
|
||||||
|
|
||||||
|
if logger == nil {
|
||||||
|
return nil, errors.New("logger is nil")
|
||||||
|
}
|
||||||
|
|
||||||
|
client, err := createSdkClient(config.ApiUrl, config.ApiKey)
|
||||||
|
if err != nil {
|
||||||
|
return nil, xerrors.Wrap(err, "failed to create sdk client")
|
||||||
|
}
|
||||||
|
|
||||||
|
return &BaotaPanelConsoleDeployer{
|
||||||
|
logger: logger,
|
||||||
|
config: config,
|
||||||
|
sdkClient: client,
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *BaotaPanelConsoleDeployer) Deploy(ctx context.Context, certPem string, privkeyPem string) (*deployer.DeployResult, error) {
|
||||||
|
// 设置面板 SSL 证书
|
||||||
|
configSavePanelSSLReq := &btsdk.ConfigSavePanelSSLRequest{
|
||||||
|
PrivateKey: privkeyPem,
|
||||||
|
Certificate: certPem,
|
||||||
|
}
|
||||||
|
configSavePanelSSLResp, err := d.sdkClient.ConfigSavePanelSSL(configSavePanelSSLReq)
|
||||||
|
if err != nil {
|
||||||
|
return nil, xerrors.Wrap(err, "failed to execute sdk request 'bt.ConfigSavePanelSSL'")
|
||||||
|
} else {
|
||||||
|
d.logger.Logt("已设置面板 SSL 证书", configSavePanelSSLResp)
|
||||||
|
}
|
||||||
|
|
||||||
|
if d.config.AutoRestart {
|
||||||
|
// 重启面板
|
||||||
|
systemServiceAdminReq := &btsdk.SystemServiceAdminRequest{
|
||||||
|
Name: "nginx",
|
||||||
|
Type: "restart",
|
||||||
|
}
|
||||||
|
_, err := d.sdkClient.SystemServiceAdmin(systemServiceAdminReq)
|
||||||
|
if err != nil {
|
||||||
|
return nil, xerrors.Wrap(err, "failed to execute sdk request 'bt.SystemServiceAdmin'")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return &deployer.DeployResult{}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func createSdkClient(apiUrl, apiKey string) (*btsdk.BaoTaPanelClient, error) {
|
||||||
|
client := btsdk.NewBaoTaPanelClient(apiUrl, apiKey)
|
||||||
|
return client, nil
|
||||||
|
}
|
@ -0,0 +1,70 @@
|
|||||||
|
package baotapanelconsole_test
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"flag"
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
"strings"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
provider "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/baotapanel-console"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
fInputCertPath string
|
||||||
|
fInputKeyPath string
|
||||||
|
fApiUrl string
|
||||||
|
fApiKey string
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
argsPrefix := "CERTIMATE_DEPLOYER_BAOTAPANELCONSOLE_"
|
||||||
|
|
||||||
|
flag.StringVar(&fInputCertPath, argsPrefix+"INPUTCERTPATH", "", "")
|
||||||
|
flag.StringVar(&fInputKeyPath, argsPrefix+"INPUTKEYPATH", "", "")
|
||||||
|
flag.StringVar(&fApiUrl, argsPrefix+"APIURL", "", "")
|
||||||
|
flag.StringVar(&fApiKey, argsPrefix+"APIKEY", "", "")
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Shell command to run this test:
|
||||||
|
|
||||||
|
go test -v ./baotapanel_console_test.go -args \
|
||||||
|
--CERTIMATE_DEPLOYER_BAOTAPANELCONSOLE_INPUTCERTPATH="/path/to/your-input-cert.pem" \
|
||||||
|
--CERTIMATE_DEPLOYER_BAOTAPANELCONSOLE_INPUTKEYPATH="/path/to/your-input-key.pem" \
|
||||||
|
--CERTIMATE_DEPLOYER_BAOTAPANELCONSOLE_APIURL="your-baota-panel-url" \
|
||||||
|
--CERTIMATE_DEPLOYER_BAOTAPANELCONSOLE_APIKEY="your-baota-panel-key"
|
||||||
|
*/
|
||||||
|
func TestDeploy(t *testing.T) {
|
||||||
|
flag.Parse()
|
||||||
|
|
||||||
|
t.Run("Deploy", func(t *testing.T) {
|
||||||
|
t.Log(strings.Join([]string{
|
||||||
|
"args:",
|
||||||
|
fmt.Sprintf("INPUTCERTPATH: %v", fInputCertPath),
|
||||||
|
fmt.Sprintf("INPUTKEYPATH: %v", fInputKeyPath),
|
||||||
|
fmt.Sprintf("APIURL: %v", fApiUrl),
|
||||||
|
fmt.Sprintf("APIKEY: %v", fApiKey),
|
||||||
|
}, "\n"))
|
||||||
|
|
||||||
|
deployer, err := provider.New(&provider.BaotaPanelConsoleDeployerConfig{
|
||||||
|
ApiUrl: fApiUrl,
|
||||||
|
ApiKey: fApiKey,
|
||||||
|
})
|
||||||
|
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)
|
||||||
|
})
|
||||||
|
}
|
@ -59,19 +59,19 @@ func (d *BaotaPanelSiteDeployer) Deploy(ctx context.Context, certPem string, pri
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 设置站点 SSL 证书
|
// 设置站点 SSL 证书
|
||||||
setSiteSSLReq := &btsdk.SetSiteSSLRequest{
|
siteSetSSLReq := &btsdk.SiteSetSSLRequest{
|
||||||
SiteName: d.config.SiteName,
|
SiteName: d.config.SiteName,
|
||||||
Type: "1",
|
Type: "1",
|
||||||
Key: privkeyPem,
|
PrivateKey: privkeyPem,
|
||||||
Csr: certPem,
|
Certificate: certPem,
|
||||||
}
|
}
|
||||||
setSiteSSLResp, err := d.sdkClient.SetSiteSSL(setSiteSSLReq)
|
siteSetSSLResp, err := d.sdkClient.SiteSetSSL(siteSetSSLReq)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, xerrors.Wrap(err, "failed to execute sdk request 'bt.SetSiteSSL'")
|
return nil, xerrors.Wrap(err, "failed to execute sdk request 'bt.SiteSetSSL'")
|
||||||
|
} else {
|
||||||
|
d.logger.Logt("已设置站点 SSL 证书", siteSetSSLResp)
|
||||||
}
|
}
|
||||||
|
|
||||||
d.logger.Logt("已设置站点 SSL 证书", setSiteSSLResp)
|
|
||||||
|
|
||||||
return &deployer.DeployResult{}, nil
|
return &deployer.DeployResult{}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
42
internal/pkg/vendors/btpanel-sdk/api.go
vendored
42
internal/pkg/vendors/btpanel-sdk/api.go
vendored
@ -5,22 +5,44 @@ type BaseResponse interface {
|
|||||||
GetMsg() *string
|
GetMsg() *string
|
||||||
}
|
}
|
||||||
|
|
||||||
type SetSiteSSLRequest struct {
|
type baseResponse struct {
|
||||||
Type string `json:"type"`
|
|
||||||
SiteName string `json:"siteName"`
|
|
||||||
Key string `json:"key"`
|
|
||||||
Csr string `json:"csr"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type SetSiteSSLResponse struct {
|
|
||||||
Status *bool `json:"status,omitempty"`
|
Status *bool `json:"status,omitempty"`
|
||||||
Msg *string `json:"msg,omitempty"`
|
Msg *string `json:"msg,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *SetSiteSSLResponse) GetStatus() *bool {
|
func (r *baseResponse) GetStatus() *bool {
|
||||||
return r.Status
|
return r.Status
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *SetSiteSSLResponse) GetMsg() *string {
|
func (r *baseResponse) GetMsg() *string {
|
||||||
return r.Msg
|
return r.Msg
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type ConfigSavePanelSSLRequest struct {
|
||||||
|
PrivateKey string `json:"privateKey"`
|
||||||
|
Certificate string `json:"certPem"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ConfigSavePanelSSLResponse struct {
|
||||||
|
baseResponse
|
||||||
|
}
|
||||||
|
|
||||||
|
type SiteSetSSLRequest struct {
|
||||||
|
Type string `json:"type"`
|
||||||
|
SiteName string `json:"siteName"`
|
||||||
|
PrivateKey string `json:"key"`
|
||||||
|
Certificate string `json:"csr"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type SiteSetSSLResponse struct {
|
||||||
|
baseResponse
|
||||||
|
}
|
||||||
|
|
||||||
|
type SystemServiceAdminRequest struct {
|
||||||
|
Name string `json:"name"`
|
||||||
|
Type string `json:"type"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type SystemServiceAdminResponse struct {
|
||||||
|
baseResponse
|
||||||
|
}
|
||||||
|
30
internal/pkg/vendors/btpanel-sdk/client.go
vendored
30
internal/pkg/vendors/btpanel-sdk/client.go
vendored
@ -34,12 +34,25 @@ func (c *BaoTaPanelClient) WithTimeout(timeout time.Duration) *BaoTaPanelClient
|
|||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *BaoTaPanelClient) SetSiteSSL(req *SetSiteSSLRequest) (*SetSiteSSLResponse, error) {
|
func (c *BaoTaPanelClient) ConfigSavePanelSSL(req *ConfigSavePanelSSLRequest) (*ConfigSavePanelSSLResponse, error) {
|
||||||
params := make(map[string]any)
|
params := make(map[string]any)
|
||||||
jsonData, _ := json.Marshal(req)
|
jsonData, _ := json.Marshal(req)
|
||||||
json.Unmarshal(jsonData, ¶ms)
|
json.Unmarshal(jsonData, ¶ms)
|
||||||
|
|
||||||
result := SetSiteSSLResponse{}
|
result := ConfigSavePanelSSLResponse{}
|
||||||
|
err := c.sendRequestWithResult("/config?action=SavePanelSSL", params, &result)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &result, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *BaoTaPanelClient) SiteSetSSL(req *SiteSetSSLRequest) (*SiteSetSSLResponse, error) {
|
||||||
|
params := make(map[string]any)
|
||||||
|
jsonData, _ := json.Marshal(req)
|
||||||
|
json.Unmarshal(jsonData, ¶ms)
|
||||||
|
|
||||||
|
result := SiteSetSSLResponse{}
|
||||||
err := c.sendRequestWithResult("/site?action=SetSSL", params, &result)
|
err := c.sendRequestWithResult("/site?action=SetSSL", params, &result)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -47,6 +60,19 @@ func (c *BaoTaPanelClient) SetSiteSSL(req *SetSiteSSLRequest) (*SetSiteSSLRespon
|
|||||||
return &result, nil
|
return &result, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *BaoTaPanelClient) SystemServiceAdmin(req *SystemServiceAdminRequest) (*SystemServiceAdminResponse, error) {
|
||||||
|
params := make(map[string]any)
|
||||||
|
jsonData, _ := json.Marshal(req)
|
||||||
|
json.Unmarshal(jsonData, ¶ms)
|
||||||
|
|
||||||
|
result := SystemServiceAdminResponse{}
|
||||||
|
err := c.sendRequestWithResult("/system?action=ServiceAdmin", params, &result)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &result, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (c *BaoTaPanelClient) generateSignature(timestamp string) string {
|
func (c *BaoTaPanelClient) generateSignature(timestamp string) string {
|
||||||
keyMd5 := md5.Sum([]byte(c.apiKey))
|
keyMd5 := md5.Sum([]byte(c.apiKey))
|
||||||
keyMd5Hex := strings.ToLower(hex.EncodeToString(keyMd5[:]))
|
keyMd5Hex := strings.ToLower(hex.EncodeToString(keyMd5[:]))
|
||||||
|
@ -27,6 +27,7 @@ import DeployNodeConfigFormAliyunOSSConfig from "./DeployNodeConfigFormAliyunOSS
|
|||||||
import DeployNodeConfigFormAliyunWAFConfig from "./DeployNodeConfigFormAliyunWAFConfig";
|
import DeployNodeConfigFormAliyunWAFConfig from "./DeployNodeConfigFormAliyunWAFConfig";
|
||||||
import DeployNodeConfigFormAWSCloudFrontConfig from "./DeployNodeConfigFormAWSCloudFrontConfig";
|
import DeployNodeConfigFormAWSCloudFrontConfig from "./DeployNodeConfigFormAWSCloudFrontConfig";
|
||||||
import DeployNodeConfigFormBaiduCloudCDNConfig from "./DeployNodeConfigFormBaiduCloudCDNConfig";
|
import DeployNodeConfigFormBaiduCloudCDNConfig from "./DeployNodeConfigFormBaiduCloudCDNConfig";
|
||||||
|
import DeployNodeConfigFormBaotaPanelConsoleConfig from "./DeployNodeConfigFormBaotaPanelConsoleConfig";
|
||||||
import DeployNodeConfigFormBaotaPanelSiteConfig from "./DeployNodeConfigFormBaotaPanelSiteConfig";
|
import DeployNodeConfigFormBaotaPanelSiteConfig from "./DeployNodeConfigFormBaotaPanelSiteConfig";
|
||||||
import DeployNodeConfigFormBytePlusCDNConfig from "./DeployNodeConfigFormBytePlusCDNConfig";
|
import DeployNodeConfigFormBytePlusCDNConfig from "./DeployNodeConfigFormBytePlusCDNConfig";
|
||||||
import DeployNodeConfigFormDogeCloudCDNConfig from "./DeployNodeConfigFormDogeCloudCDNConfig";
|
import DeployNodeConfigFormDogeCloudCDNConfig from "./DeployNodeConfigFormDogeCloudCDNConfig";
|
||||||
@ -150,6 +151,8 @@ const DeployNodeConfigForm = forwardRef<DeployNodeConfigFormInstance, DeployNode
|
|||||||
return <DeployNodeConfigFormAWSCloudFrontConfig {...nestedFormProps} />;
|
return <DeployNodeConfigFormAWSCloudFrontConfig {...nestedFormProps} />;
|
||||||
case DEPLOY_PROVIDERS.BAIDUCLOUD_CDN:
|
case DEPLOY_PROVIDERS.BAIDUCLOUD_CDN:
|
||||||
return <DeployNodeConfigFormBaiduCloudCDNConfig {...nestedFormProps} />;
|
return <DeployNodeConfigFormBaiduCloudCDNConfig {...nestedFormProps} />;
|
||||||
|
case DEPLOY_PROVIDERS.BAOTAPANEL_CONSOLE:
|
||||||
|
return <DeployNodeConfigFormBaotaPanelConsoleConfig {...nestedFormProps} />;
|
||||||
case DEPLOY_PROVIDERS.BAOTAPANEL_SITE:
|
case DEPLOY_PROVIDERS.BAOTAPANEL_SITE:
|
||||||
return <DeployNodeConfigFormBaotaPanelSiteConfig {...nestedFormProps} />;
|
return <DeployNodeConfigFormBaotaPanelSiteConfig {...nestedFormProps} />;
|
||||||
case DEPLOY_PROVIDERS.BYTEPLUS_CDN:
|
case DEPLOY_PROVIDERS.BYTEPLUS_CDN:
|
||||||
|
@ -0,0 +1,56 @@
|
|||||||
|
import { useTranslation } from "react-i18next";
|
||||||
|
import { Form, type FormInstance, Switch } from "antd";
|
||||||
|
import { createSchemaFieldRule } from "antd-zod";
|
||||||
|
import { z } from "zod";
|
||||||
|
|
||||||
|
type DeployNodeConfigFormBaotaPanelConsoleConfigFieldValues = Nullish<{
|
||||||
|
autoRestart?: boolean;
|
||||||
|
}>;
|
||||||
|
|
||||||
|
export type DeployNodeConfigFormBaotaPanelConsoleConfigProps = {
|
||||||
|
form: FormInstance;
|
||||||
|
formName: string;
|
||||||
|
disabled?: boolean;
|
||||||
|
initialValues?: DeployNodeConfigFormBaotaPanelConsoleConfigFieldValues;
|
||||||
|
onValuesChange?: (values: DeployNodeConfigFormBaotaPanelConsoleConfigFieldValues) => void;
|
||||||
|
};
|
||||||
|
|
||||||
|
const initFormModel = (): DeployNodeConfigFormBaotaPanelConsoleConfigFieldValues => {
|
||||||
|
return {};
|
||||||
|
};
|
||||||
|
|
||||||
|
const DeployNodeConfigFormBaotaPanelConsoleConfig = ({
|
||||||
|
form: formInst,
|
||||||
|
formName,
|
||||||
|
disabled,
|
||||||
|
initialValues,
|
||||||
|
onValuesChange,
|
||||||
|
}: DeployNodeConfigFormBaotaPanelConsoleConfigProps) => {
|
||||||
|
const { t } = useTranslation();
|
||||||
|
|
||||||
|
const formSchema = z.object({
|
||||||
|
autoRestart: z.boolean().nullish(),
|
||||||
|
});
|
||||||
|
const formRule = createSchemaFieldRule(formSchema);
|
||||||
|
|
||||||
|
const handleFormChange = (_: unknown, values: z.infer<typeof formSchema>) => {
|
||||||
|
onValuesChange?.(values);
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Form
|
||||||
|
form={formInst}
|
||||||
|
disabled={disabled}
|
||||||
|
initialValues={initialValues ?? initFormModel()}
|
||||||
|
layout="vertical"
|
||||||
|
name={formName}
|
||||||
|
onValuesChange={handleFormChange}
|
||||||
|
>
|
||||||
|
<Form.Item name="autoRestart" label={t("workflow_node.deploy.form.baotapanel_console_auto_restart.label")} rules={[formRule]}>
|
||||||
|
<Switch />
|
||||||
|
</Form.Item>
|
||||||
|
</Form>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default DeployNodeConfigFormBaotaPanelConsoleConfig;
|
@ -188,6 +188,7 @@ export const DEPLOY_PROVIDERS = Object.freeze({
|
|||||||
ALIYUN_WAF: `${ACCESS_PROVIDERS.ALIYUN}-waf`,
|
ALIYUN_WAF: `${ACCESS_PROVIDERS.ALIYUN}-waf`,
|
||||||
AWS_CLOUDFRONT: `${ACCESS_PROVIDERS.AWS}-cloudfront`,
|
AWS_CLOUDFRONT: `${ACCESS_PROVIDERS.AWS}-cloudfront`,
|
||||||
BAIDUCLOUD_CDN: `${ACCESS_PROVIDERS.BAIDUCLOUD}-cdn`,
|
BAIDUCLOUD_CDN: `${ACCESS_PROVIDERS.BAIDUCLOUD}-cdn`,
|
||||||
|
BAOTAPANEL_CONSOLE: `${ACCESS_PROVIDERS.BAOTAPANEL}-console`,
|
||||||
BAOTAPANEL_SITE: `${ACCESS_PROVIDERS.BAOTAPANEL}-site`,
|
BAOTAPANEL_SITE: `${ACCESS_PROVIDERS.BAOTAPANEL}-site`,
|
||||||
BYTEPLUS_CDN: `${ACCESS_PROVIDERS.BYTEPLUS}-cdn`,
|
BYTEPLUS_CDN: `${ACCESS_PROVIDERS.BYTEPLUS}-cdn`,
|
||||||
DOGECLOUD_CDN: `${ACCESS_PROVIDERS.DOGECLOUD}-cdn`,
|
DOGECLOUD_CDN: `${ACCESS_PROVIDERS.DOGECLOUD}-cdn`,
|
||||||
@ -283,6 +284,7 @@ export const deployProvidersMap: Map<DeployProvider["type"] | string, DeployProv
|
|||||||
[DEPLOY_PROVIDERS.UCLOUD_US3, "provider.ucloud.us3", DEPLOY_CATEGORIES.STORAGE],
|
[DEPLOY_PROVIDERS.UCLOUD_US3, "provider.ucloud.us3", DEPLOY_CATEGORIES.STORAGE],
|
||||||
[DEPLOY_PROVIDERS.UCLOUD_UCDN, "provider.ucloud.ucdn", DEPLOY_CATEGORIES.CDN],
|
[DEPLOY_PROVIDERS.UCLOUD_UCDN, "provider.ucloud.ucdn", DEPLOY_CATEGORIES.CDN],
|
||||||
[DEPLOY_PROVIDERS.AWS_CLOUDFRONT, "provider.aws.cloudfront", DEPLOY_CATEGORIES.CDN],
|
[DEPLOY_PROVIDERS.AWS_CLOUDFRONT, "provider.aws.cloudfront", DEPLOY_CATEGORIES.CDN],
|
||||||
|
[DEPLOY_PROVIDERS.BAOTAPANEL_CONSOLE, "provider.baotapanel.console", DEPLOY_CATEGORIES.OTHER],
|
||||||
[DEPLOY_PROVIDERS.BAOTAPANEL_SITE, "provider.baotapanel.site", DEPLOY_CATEGORIES.WEBSITE],
|
[DEPLOY_PROVIDERS.BAOTAPANEL_SITE, "provider.baotapanel.site", DEPLOY_CATEGORIES.WEBSITE],
|
||||||
[DEPLOY_PROVIDERS.EDGIO_APPLICATIONS, "provider.edgio.applications", DEPLOY_CATEGORIES.WEBSITE],
|
[DEPLOY_PROVIDERS.EDGIO_APPLICATIONS, "provider.edgio.applications", DEPLOY_CATEGORIES.WEBSITE],
|
||||||
].map(([type, name, category]) => [
|
].map(([type, name, category]) => [
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
"provider.baishan": "Baishan",
|
"provider.baishan": "Baishan",
|
||||||
"provider.baishan.cdn": "Baishan - CDN (Content Delivery Network)",
|
"provider.baishan.cdn": "Baishan - CDN (Content Delivery Network)",
|
||||||
"provider.baotapanel": "BaoTa Panel",
|
"provider.baotapanel": "BaoTa Panel",
|
||||||
|
"provider.baotapanel.console": "BaoTa Panel - Console",
|
||||||
"provider.baotapanel.site": "BaoTa Panel - Site",
|
"provider.baotapanel.site": "BaoTa Panel - Site",
|
||||||
"provider.byteplus": "BytePlus",
|
"provider.byteplus": "BytePlus",
|
||||||
"provider.byteplus.cdn": "BytePlus - CDN (Content Delivery Network)",
|
"provider.byteplus.cdn": "BytePlus - CDN (Content Delivery Network)",
|
||||||
|
@ -190,6 +190,7 @@
|
|||||||
"workflow_node.deploy.form.baiducloud_cdn_domain.label": "Baidu Cloud CDN domain",
|
"workflow_node.deploy.form.baiducloud_cdn_domain.label": "Baidu Cloud CDN domain",
|
||||||
"workflow_node.deploy.form.baiducloud_cdn_domain.placeholder": "Please enter Baidu Cloud CDN domain name",
|
"workflow_node.deploy.form.baiducloud_cdn_domain.placeholder": "Please enter Baidu Cloud CDN domain name",
|
||||||
"workflow_node.deploy.form.baiducloud_cdn_domain.tooltip": "For more information, see <a href=\"https://console.bce.baidu.com/cdn\" target=\"_blank\">https://console.bce.baidu.com/cdn</a>",
|
"workflow_node.deploy.form.baiducloud_cdn_domain.tooltip": "For more information, see <a href=\"https://console.bce.baidu.com/cdn\" target=\"_blank\">https://console.bce.baidu.com/cdn</a>",
|
||||||
|
"workflow_node.deploy.form.baotapanel_console_auto_restart.label": "Auto restart after deployment",
|
||||||
"workflow_node.deploy.form.baotapanel_site_name.label": "BaoTa Panel site name",
|
"workflow_node.deploy.form.baotapanel_site_name.label": "BaoTa Panel site name",
|
||||||
"workflow_node.deploy.form.baotapanel_site_name.placeholder": "Please enter BaoTa Panel site name",
|
"workflow_node.deploy.form.baotapanel_site_name.placeholder": "Please enter BaoTa Panel site name",
|
||||||
"workflow_node.deploy.form.baotapanel_site_name.tooltip": "Usually equal to the website domain name.",
|
"workflow_node.deploy.form.baotapanel_site_name.tooltip": "Usually equal to the website domain name.",
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
"provider.baishan": "白山云",
|
"provider.baishan": "白山云",
|
||||||
"provider.baishan.cdn": "白山云 - 内容分发网络 CDN",
|
"provider.baishan.cdn": "白山云 - 内容分发网络 CDN",
|
||||||
"provider.baotapanel": "宝塔面板",
|
"provider.baotapanel": "宝塔面板",
|
||||||
|
"provider.baotapanel.console": "宝塔面板 - 面板",
|
||||||
"provider.baotapanel.site": "宝塔面板 - 网站",
|
"provider.baotapanel.site": "宝塔面板 - 网站",
|
||||||
"provider.byteplus": "BytePlus",
|
"provider.byteplus": "BytePlus",
|
||||||
"provider.byteplus.cdn": "BytePlus - 内容分发网络 CDN",
|
"provider.byteplus.cdn": "BytePlus - 内容分发网络 CDN",
|
||||||
|
@ -190,6 +190,7 @@
|
|||||||
"workflow_node.deploy.form.baiducloud_cdn_domain.label": "百度智能云 CDN 加速域名(支持泛域名)",
|
"workflow_node.deploy.form.baiducloud_cdn_domain.label": "百度智能云 CDN 加速域名(支持泛域名)",
|
||||||
"workflow_node.deploy.form.baiducloud_cdn_domain.placeholder": "请输入百度智能云 CDN 加速域名",
|
"workflow_node.deploy.form.baiducloud_cdn_domain.placeholder": "请输入百度智能云 CDN 加速域名",
|
||||||
"workflow_node.deploy.form.baiducloud_cdn_domain.tooltip": "这是什么?请参阅 <a href=\"https://console.bce.baidu.com/cdn\" target=\"_blank\">https://console.bce.baidu.com/cdn</a><br><br>泛域名表示形式为:*.example.com",
|
"workflow_node.deploy.form.baiducloud_cdn_domain.tooltip": "这是什么?请参阅 <a href=\"https://console.bce.baidu.com/cdn\" target=\"_blank\">https://console.bce.baidu.com/cdn</a><br><br>泛域名表示形式为:*.example.com",
|
||||||
|
"workflow_node.deploy.form.baotapanel_console_auto_restart.label": "部署后自动重启面板服务",
|
||||||
"workflow_node.deploy.form.baotapanel_site_name.label": "宝塔面板网站名称",
|
"workflow_node.deploy.form.baotapanel_site_name.label": "宝塔面板网站名称",
|
||||||
"workflow_node.deploy.form.baotapanel_site_name.placeholder": "请输入宝塔面板网站名称",
|
"workflow_node.deploy.form.baotapanel_site_name.placeholder": "请输入宝塔面板网站名称",
|
||||||
"workflow_node.deploy.form.baotapanel_site_name.tooltip": "通常为网站域名。",
|
"workflow_node.deploy.form.baotapanel_site_name.tooltip": "通常为网站域名。",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user