mirror of
https://github.com/woodchen-ink/certimate.git
synced 2025-07-18 17:31:55 +08:00
refactor: clean code
This commit is contained in:
parent
882f802585
commit
914c5b4870
@ -13,7 +13,7 @@ import (
|
|||||||
"golang.org/x/sync/singleflight"
|
"golang.org/x/sync/singleflight"
|
||||||
|
|
||||||
"github.com/usual2970/certimate/internal/domain"
|
"github.com/usual2970/certimate/internal/domain"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/certs"
|
"github.com/usual2970/certimate/internal/pkg/utils/certutil"
|
||||||
"github.com/usual2970/certimate/internal/repository"
|
"github.com/usual2970/certimate/internal/repository"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -40,7 +40,7 @@ func newAcmeUser(ca, email string) (*acmeUser, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
keyPEM, err := certs.ConvertECPrivateKeyToPEM(key)
|
keyPEM, err := certutil.ConvertECPrivateKeyToPEM(key)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -64,7 +64,7 @@ func (u acmeUser) GetRegistration() *registration.Resource {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (u *acmeUser) GetPrivateKey() crypto.PrivateKey {
|
func (u *acmeUser) GetPrivateKey() crypto.PrivateKey {
|
||||||
rs, _ := certs.ParseECPrivateKeyFromPEM(u.privkey)
|
rs, _ := certutil.ParseECPrivateKeyFromPEM(u.privkey)
|
||||||
return rs
|
return rs
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ import (
|
|||||||
"golang.org/x/time/rate"
|
"golang.org/x/time/rate"
|
||||||
|
|
||||||
"github.com/usual2970/certimate/internal/domain"
|
"github.com/usual2970/certimate/internal/domain"
|
||||||
uslices "github.com/usual2970/certimate/internal/pkg/utils/slices"
|
"github.com/usual2970/certimate/internal/pkg/utils/sliceutil"
|
||||||
"github.com/usual2970/certimate/internal/repository"
|
"github.com/usual2970/certimate/internal/repository"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -58,12 +58,12 @@ func NewWithApplyNode(node *domain.WorkflowNode) (Applicant, error) {
|
|||||||
|
|
||||||
nodeConfig := node.GetConfigForApply()
|
nodeConfig := node.GetConfigForApply()
|
||||||
options := &applicantOptions{
|
options := &applicantOptions{
|
||||||
Domains: uslices.Filter(strings.Split(nodeConfig.Domains, ";"), func(s string) bool { return s != "" }),
|
Domains: sliceutil.Filter(strings.Split(nodeConfig.Domains, ";"), func(s string) bool { return s != "" }),
|
||||||
ContactEmail: nodeConfig.ContactEmail,
|
ContactEmail: nodeConfig.ContactEmail,
|
||||||
Provider: domain.ApplyDNSProviderType(nodeConfig.Provider),
|
Provider: domain.ApplyDNSProviderType(nodeConfig.Provider),
|
||||||
ProviderApplyConfig: nodeConfig.ProviderConfig,
|
ProviderApplyConfig: nodeConfig.ProviderConfig,
|
||||||
KeyAlgorithm: nodeConfig.KeyAlgorithm,
|
KeyAlgorithm: nodeConfig.KeyAlgorithm,
|
||||||
Nameservers: uslices.Filter(strings.Split(nodeConfig.Nameservers, ";"), func(s string) bool { return s != "" }),
|
Nameservers: sliceutil.Filter(strings.Split(nodeConfig.Nameservers, ";"), func(s string) bool { return s != "" }),
|
||||||
DnsPropagationTimeout: nodeConfig.DnsPropagationTimeout,
|
DnsPropagationTimeout: nodeConfig.DnsPropagationTimeout,
|
||||||
DnsTTL: nodeConfig.DnsTTL,
|
DnsTTL: nodeConfig.DnsTTL,
|
||||||
DisableFollowCNAME: nodeConfig.DisableFollowCNAME,
|
DisableFollowCNAME: nodeConfig.DisableFollowCNAME,
|
||||||
|
@ -29,7 +29,7 @@ import (
|
|||||||
pTencentCloud "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"
|
||||||
pVolcEngine "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"
|
||||||
pWestcn "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/maputil"
|
||||||
)
|
)
|
||||||
|
|
||||||
func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
||||||
@ -41,7 +41,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
case domain.ApplyDNSProviderTypeACMEHttpReq:
|
case domain.ApplyDNSProviderTypeACMEHttpReq:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForACMEHttpReq{}
|
access := domain.AccessConfigForACMEHttpReq{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -58,7 +58,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
case domain.ApplyDNSProviderTypeAliyun, domain.ApplyDNSProviderTypeAliyunDNS:
|
case domain.ApplyDNSProviderTypeAliyun, domain.ApplyDNSProviderTypeAliyunDNS:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForAliyun{}
|
access := domain.AccessConfigForAliyun{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -74,15 +74,15 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
case domain.ApplyDNSProviderTypeAWS, domain.ApplyDNSProviderTypeAWSRoute53:
|
case domain.ApplyDNSProviderTypeAWS, domain.ApplyDNSProviderTypeAWSRoute53:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForAWS{}
|
access := domain.AccessConfigForAWS{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
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 := pAWSRoute53.NewChallengeProvider(&pAWSRoute53.ChallengeProviderConfig{
|
applicant, err := pAWSRoute53.NewChallengeProvider(&pAWSRoute53.ChallengeProviderConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
SecretAccessKey: access.SecretAccessKey,
|
SecretAccessKey: access.SecretAccessKey,
|
||||||
Region: maps.GetValueAsString(options.ProviderApplyConfig, "region"),
|
Region: maputil.GetString(options.ProviderApplyConfig, "region"),
|
||||||
HostedZoneId: maps.GetValueAsString(options.ProviderApplyConfig, "hostedZoneId"),
|
HostedZoneId: maputil.GetString(options.ProviderApplyConfig, "hostedZoneId"),
|
||||||
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
||||||
DnsTTL: options.DnsTTL,
|
DnsTTL: options.DnsTTL,
|
||||||
})
|
})
|
||||||
@ -92,7 +92,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
case domain.ApplyDNSProviderTypeAzure, domain.ApplyDNSProviderTypeAzureDNS:
|
case domain.ApplyDNSProviderTypeAzure, domain.ApplyDNSProviderTypeAzureDNS:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForAzure{}
|
access := domain.AccessConfigForAzure{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -110,7 +110,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
case domain.ApplyDNSProviderTypeBaiduCloud, domain.ApplyDNSProviderTypeBaiduCloudDNS:
|
case domain.ApplyDNSProviderTypeBaiduCloud, domain.ApplyDNSProviderTypeBaiduCloudDNS:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForBaiduCloud{}
|
access := domain.AccessConfigForBaiduCloud{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -126,7 +126,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
case domain.ApplyDNSProviderTypeCloudflare:
|
case domain.ApplyDNSProviderTypeCloudflare:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForCloudflare{}
|
access := domain.AccessConfigForCloudflare{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -141,7 +141,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
case domain.ApplyDNSProviderTypeClouDNS:
|
case domain.ApplyDNSProviderTypeClouDNS:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForClouDNS{}
|
access := domain.AccessConfigForClouDNS{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -157,7 +157,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
case domain.ApplyDNSProviderTypeCMCCCloud:
|
case domain.ApplyDNSProviderTypeCMCCCloud:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForCMCCCloud{}
|
access := domain.AccessConfigForCMCCCloud{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -173,7 +173,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
case domain.ApplyDNSProviderTypeDNSLA:
|
case domain.ApplyDNSProviderTypeDNSLA:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForDNSLA{}
|
access := domain.AccessConfigForDNSLA{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -189,7 +189,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
case domain.ApplyDNSProviderTypeGcore:
|
case domain.ApplyDNSProviderTypeGcore:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForGcore{}
|
access := domain.AccessConfigForGcore{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -204,7 +204,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
case domain.ApplyDNSProviderTypeGname:
|
case domain.ApplyDNSProviderTypeGname:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForGname{}
|
access := domain.AccessConfigForGname{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -220,7 +220,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
case domain.ApplyDNSProviderTypeGoDaddy:
|
case domain.ApplyDNSProviderTypeGoDaddy:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForGoDaddy{}
|
access := domain.AccessConfigForGoDaddy{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -236,14 +236,14 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
case domain.ApplyDNSProviderTypeHuaweiCloud, domain.ApplyDNSProviderTypeHuaweiCloudDNS:
|
case domain.ApplyDNSProviderTypeHuaweiCloud, domain.ApplyDNSProviderTypeHuaweiCloudDNS:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForHuaweiCloud{}
|
access := domain.AccessConfigForHuaweiCloud{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
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 := pHuaweiCloud.NewChallengeProvider(&pHuaweiCloud.ChallengeProviderConfig{
|
applicant, err := pHuaweiCloud.NewChallengeProvider(&pHuaweiCloud.ChallengeProviderConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
SecretAccessKey: access.SecretAccessKey,
|
SecretAccessKey: access.SecretAccessKey,
|
||||||
Region: maps.GetValueAsString(options.ProviderApplyConfig, "region"),
|
Region: maputil.GetString(options.ProviderApplyConfig, "region"),
|
||||||
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
||||||
DnsTTL: options.DnsTTL,
|
DnsTTL: options.DnsTTL,
|
||||||
})
|
})
|
||||||
@ -253,14 +253,14 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
case domain.ApplyDNSProviderTypeJDCloud, domain.ApplyDNSProviderTypeJDCloudDNS:
|
case domain.ApplyDNSProviderTypeJDCloud, domain.ApplyDNSProviderTypeJDCloudDNS:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForJDCloud{}
|
access := domain.AccessConfigForJDCloud{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
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 := pJDCloud.NewChallengeProvider(&pJDCloud.ChallengeProviderConfig{
|
applicant, err := pJDCloud.NewChallengeProvider(&pJDCloud.ChallengeProviderConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.AccessKeySecret,
|
AccessKeySecret: access.AccessKeySecret,
|
||||||
RegionId: maps.GetValueAsString(options.ProviderApplyConfig, "region_id"),
|
RegionId: maputil.GetString(options.ProviderApplyConfig, "region_id"),
|
||||||
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
DnsPropagationTimeout: options.DnsPropagationTimeout,
|
||||||
DnsTTL: options.DnsTTL,
|
DnsTTL: options.DnsTTL,
|
||||||
})
|
})
|
||||||
@ -270,7 +270,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
case domain.ApplyDNSProviderTypeNamecheap:
|
case domain.ApplyDNSProviderTypeNamecheap:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForNamecheap{}
|
access := domain.AccessConfigForNamecheap{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -286,7 +286,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
case domain.ApplyDNSProviderTypeNameDotCom:
|
case domain.ApplyDNSProviderTypeNameDotCom:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForNameDotCom{}
|
access := domain.AccessConfigForNameDotCom{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -302,7 +302,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
case domain.ApplyDNSProviderTypeNameSilo:
|
case domain.ApplyDNSProviderTypeNameSilo:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForNameSilo{}
|
access := domain.AccessConfigForNameSilo{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -317,7 +317,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
case domain.ApplyDNSProviderTypeNS1:
|
case domain.ApplyDNSProviderTypeNS1:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForNS1{}
|
access := domain.AccessConfigForNS1{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -332,7 +332,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
case domain.ApplyDNSProviderTypePowerDNS:
|
case domain.ApplyDNSProviderTypePowerDNS:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForPowerDNS{}
|
access := domain.AccessConfigForPowerDNS{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -348,7 +348,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
case domain.ApplyDNSProviderTypeRainYun:
|
case domain.ApplyDNSProviderTypeRainYun:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForRainYun{}
|
access := domain.AccessConfigForRainYun{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -363,7 +363,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
case domain.ApplyDNSProviderTypeTencentCloud, domain.ApplyDNSProviderTypeTencentCloudDNS:
|
case domain.ApplyDNSProviderTypeTencentCloud, domain.ApplyDNSProviderTypeTencentCloudDNS:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForTencentCloud{}
|
access := domain.AccessConfigForTencentCloud{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -379,7 +379,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
case domain.ApplyDNSProviderTypeVolcEngine, domain.ApplyDNSProviderTypeVolcEngineDNS:
|
case domain.ApplyDNSProviderTypeVolcEngine, domain.ApplyDNSProviderTypeVolcEngineDNS:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForVolcEngine{}
|
access := domain.AccessConfigForVolcEngine{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -395,7 +395,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) {
|
|||||||
case domain.ApplyDNSProviderTypeWestcn:
|
case domain.ApplyDNSProviderTypeWestcn:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForWestcn{}
|
access := domain.AccessConfigForWestcn{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
"github.com/usual2970/certimate/internal/domain"
|
"github.com/usual2970/certimate/internal/domain"
|
||||||
"github.com/usual2970/certimate/internal/domain/dtos"
|
"github.com/usual2970/certimate/internal/domain/dtos"
|
||||||
"github.com/usual2970/certimate/internal/notify"
|
"github.com/usual2970/certimate/internal/notify"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/certs"
|
"github.com/usual2970/certimate/internal/pkg/utils/certutil"
|
||||||
"github.com/usual2970/certimate/internal/repository"
|
"github.com/usual2970/certimate/internal/repository"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -109,7 +109,7 @@ func (s *CertificateService) ArchiveFile(ctx context.Context, req *dtos.Certific
|
|||||||
{
|
{
|
||||||
const pfxPassword = "certimate"
|
const pfxPassword = "certimate"
|
||||||
|
|
||||||
certPFX, err := certs.TransformCertificateFromPEMToPFX(certificate.Certificate, certificate.PrivateKey, pfxPassword)
|
certPFX, err := certutil.TransformCertificateFromPEMToPFX(certificate.Certificate, certificate.PrivateKey, pfxPassword)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -147,7 +147,7 @@ func (s *CertificateService) ArchiveFile(ctx context.Context, req *dtos.Certific
|
|||||||
{
|
{
|
||||||
const jksPassword = "certimate"
|
const jksPassword = "certimate"
|
||||||
|
|
||||||
certJKS, err := certs.TransformCertificateFromPEMToJKS(certificate.Certificate, certificate.PrivateKey, jksPassword, jksPassword, jksPassword)
|
certJKS, err := certutil.TransformCertificateFromPEMToJKS(certificate.Certificate, certificate.PrivateKey, jksPassword, jksPassword, jksPassword)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -187,7 +187,7 @@ func (s *CertificateService) ArchiveFile(ctx context.Context, req *dtos.Certific
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *CertificateService) ValidateCertificate(ctx context.Context, req *dtos.CertificateValidateCertificateReq) (*dtos.CertificateValidateCertificateResp, error) {
|
func (s *CertificateService) ValidateCertificate(ctx context.Context, req *dtos.CertificateValidateCertificateReq) (*dtos.CertificateValidateCertificateResp, error) {
|
||||||
certX509, err := certs.ParseCertificateFromPEM(req.Certificate)
|
certX509, err := certutil.ParseCertificateFromPEM(req.Certificate)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
} else if time.Now().After(certX509.NotAfter) {
|
} else if time.Now().After(certX509.NotAfter) {
|
||||||
|
@ -63,8 +63,8 @@ import (
|
|||||||
pVolcEngineLive "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/volcengine-live"
|
pVolcEngineLive "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/volcengine-live"
|
||||||
pVolcEngineTOS "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/volcengine-tos"
|
pVolcEngineTOS "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/volcengine-tos"
|
||||||
pWebhook "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/utils/maps"
|
"github.com/usual2970/certimate/internal/pkg/utils/maputil"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/slices"
|
"github.com/usual2970/certimate/internal/pkg/utils/sliceutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
||||||
@ -76,7 +76,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
case domain.DeployProviderType1PanelConsole, domain.DeployProviderType1PanelSite:
|
case domain.DeployProviderType1PanelConsole, domain.DeployProviderType1PanelSite:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigFor1Panel{}
|
access := domain.AccessConfigFor1Panel{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -86,7 +86,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
ApiUrl: access.ApiUrl,
|
ApiUrl: access.ApiUrl,
|
||||||
ApiKey: access.ApiKey,
|
ApiKey: access.ApiKey,
|
||||||
AllowInsecureConnections: access.AllowInsecureConnections,
|
AllowInsecureConnections: access.AllowInsecureConnections,
|
||||||
AutoRestart: maps.GetValueAsBool(options.ProviderDeployConfig, "autoRestart"),
|
AutoRestart: maputil.GetBool(options.ProviderDeployConfig, "autoRestart"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -95,7 +95,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
ApiUrl: access.ApiUrl,
|
ApiUrl: access.ApiUrl,
|
||||||
ApiKey: access.ApiKey,
|
ApiKey: access.ApiKey,
|
||||||
AllowInsecureConnections: access.AllowInsecureConnections,
|
AllowInsecureConnections: access.AllowInsecureConnections,
|
||||||
WebsiteId: maps.GetValueAsInt64(options.ProviderDeployConfig, "websiteId"),
|
WebsiteId: maputil.GetInt64(options.ProviderDeployConfig, "websiteId"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -107,7 +107,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
case domain.DeployProviderTypeAliyunALB, domain.DeployProviderTypeAliyunCASDeploy, domain.DeployProviderTypeAliyunCDN, domain.DeployProviderTypeAliyunCLB, domain.DeployProviderTypeAliyunDCDN, domain.DeployProviderTypeAliyunESA, domain.DeployProviderTypeAliyunFC, domain.DeployProviderTypeAliyunLive, domain.DeployProviderTypeAliyunNLB, domain.DeployProviderTypeAliyunOSS, domain.DeployProviderTypeAliyunVOD, domain.DeployProviderTypeAliyunWAF:
|
case domain.DeployProviderTypeAliyunALB, domain.DeployProviderTypeAliyunCASDeploy, domain.DeployProviderTypeAliyunCDN, domain.DeployProviderTypeAliyunCLB, domain.DeployProviderTypeAliyunDCDN, domain.DeployProviderTypeAliyunESA, domain.DeployProviderTypeAliyunFC, domain.DeployProviderTypeAliyunLive, domain.DeployProviderTypeAliyunNLB, domain.DeployProviderTypeAliyunOSS, domain.DeployProviderTypeAliyunVOD, domain.DeployProviderTypeAliyunWAF:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForAliyun{}
|
access := domain.AccessConfigForAliyun{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -116,11 +116,11 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pAliyunALB.NewDeployer(&pAliyunALB.DeployerConfig{
|
deployer, err := pAliyunALB.NewDeployer(&pAliyunALB.DeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.AccessKeySecret,
|
AccessKeySecret: access.AccessKeySecret,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maputil.GetString(options.ProviderDeployConfig, "region"),
|
||||||
ResourceType: pAliyunALB.ResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")),
|
ResourceType: pAliyunALB.ResourceType(maputil.GetString(options.ProviderDeployConfig, "resourceType")),
|
||||||
LoadbalancerId: maps.GetValueAsString(options.ProviderDeployConfig, "loadbalancerId"),
|
LoadbalancerId: maputil.GetString(options.ProviderDeployConfig, "loadbalancerId"),
|
||||||
ListenerId: maps.GetValueAsString(options.ProviderDeployConfig, "listenerId"),
|
ListenerId: maputil.GetString(options.ProviderDeployConfig, "listenerId"),
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -128,9 +128,9 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pAliyunCASDeploy.NewDeployer(&pAliyunCASDeploy.DeployerConfig{
|
deployer, err := pAliyunCASDeploy.NewDeployer(&pAliyunCASDeploy.DeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.AccessKeySecret,
|
AccessKeySecret: access.AccessKeySecret,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maputil.GetString(options.ProviderDeployConfig, "region"),
|
||||||
ResourceIds: slices.Filter(strings.Split(maps.GetValueAsString(options.ProviderDeployConfig, "resourceIds"), ";"), func(s string) bool { return s != "" }),
|
ResourceIds: sliceutil.Filter(strings.Split(maputil.GetString(options.ProviderDeployConfig, "resourceIds"), ";"), func(s string) bool { return s != "" }),
|
||||||
ContactIds: slices.Filter(strings.Split(maps.GetValueAsString(options.ProviderDeployConfig, "contactIds"), ";"), func(s string) bool { return s != "" }),
|
ContactIds: sliceutil.Filter(strings.Split(maputil.GetString(options.ProviderDeployConfig, "contactIds"), ";"), func(s string) bool { return s != "" }),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -138,7 +138,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pAliyunCDN.NewDeployer(&pAliyunCDN.DeployerConfig{
|
deployer, err := pAliyunCDN.NewDeployer(&pAliyunCDN.DeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.AccessKeySecret,
|
AccessKeySecret: access.AccessKeySecret,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -146,11 +146,11 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pAliyunCLB.NewDeployer(&pAliyunCLB.DeployerConfig{
|
deployer, err := pAliyunCLB.NewDeployer(&pAliyunCLB.DeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.AccessKeySecret,
|
AccessKeySecret: access.AccessKeySecret,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maputil.GetString(options.ProviderDeployConfig, "region"),
|
||||||
ResourceType: pAliyunCLB.ResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")),
|
ResourceType: pAliyunCLB.ResourceType(maputil.GetString(options.ProviderDeployConfig, "resourceType")),
|
||||||
LoadbalancerId: maps.GetValueAsString(options.ProviderDeployConfig, "loadbalancerId"),
|
LoadbalancerId: maputil.GetString(options.ProviderDeployConfig, "loadbalancerId"),
|
||||||
ListenerPort: maps.GetValueOrDefaultAsInt32(options.ProviderDeployConfig, "listenerPort", 443),
|
ListenerPort: maputil.GetOrDefaultInt32(options.ProviderDeployConfig, "listenerPort", 443),
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -158,7 +158,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pAliyunDCDN.NewDeployer(&pAliyunDCDN.DeployerConfig{
|
deployer, err := pAliyunDCDN.NewDeployer(&pAliyunDCDN.DeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.AccessKeySecret,
|
AccessKeySecret: access.AccessKeySecret,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -166,8 +166,8 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pAliyunESA.NewDeployer(&pAliyunESA.DeployerConfig{
|
deployer, err := pAliyunESA.NewDeployer(&pAliyunESA.DeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.AccessKeySecret,
|
AccessKeySecret: access.AccessKeySecret,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maputil.GetString(options.ProviderDeployConfig, "region"),
|
||||||
SiteId: maps.GetValueAsInt64(options.ProviderDeployConfig, "siteId"),
|
SiteId: maputil.GetInt64(options.ProviderDeployConfig, "siteId"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -175,9 +175,9 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pAliyunFC.NewDeployer(&pAliyunFC.DeployerConfig{
|
deployer, err := pAliyunFC.NewDeployer(&pAliyunFC.DeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.AccessKeySecret,
|
AccessKeySecret: access.AccessKeySecret,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maputil.GetString(options.ProviderDeployConfig, "region"),
|
||||||
ServiceVersion: maps.GetValueAsString(options.ProviderDeployConfig, "serviceVersion"),
|
ServiceVersion: maputil.GetString(options.ProviderDeployConfig, "serviceVersion"),
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -185,8 +185,8 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pAliyunLive.NewDeployer(&pAliyunLive.DeployerConfig{
|
deployer, err := pAliyunLive.NewDeployer(&pAliyunLive.DeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.AccessKeySecret,
|
AccessKeySecret: access.AccessKeySecret,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maputil.GetString(options.ProviderDeployConfig, "region"),
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -194,10 +194,10 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pAliyunNLB.NewDeployer(&pAliyunNLB.DeployerConfig{
|
deployer, err := pAliyunNLB.NewDeployer(&pAliyunNLB.DeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.AccessKeySecret,
|
AccessKeySecret: access.AccessKeySecret,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maputil.GetString(options.ProviderDeployConfig, "region"),
|
||||||
ResourceType: pAliyunNLB.ResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")),
|
ResourceType: pAliyunNLB.ResourceType(maputil.GetString(options.ProviderDeployConfig, "resourceType")),
|
||||||
LoadbalancerId: maps.GetValueAsString(options.ProviderDeployConfig, "loadbalancerId"),
|
LoadbalancerId: maputil.GetString(options.ProviderDeployConfig, "loadbalancerId"),
|
||||||
ListenerId: maps.GetValueAsString(options.ProviderDeployConfig, "listenerId"),
|
ListenerId: maputil.GetString(options.ProviderDeployConfig, "listenerId"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -205,9 +205,9 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pAliyunOSS.NewDeployer(&pAliyunOSS.DeployerConfig{
|
deployer, err := pAliyunOSS.NewDeployer(&pAliyunOSS.DeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.AccessKeySecret,
|
AccessKeySecret: access.AccessKeySecret,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maputil.GetString(options.ProviderDeployConfig, "region"),
|
||||||
Bucket: maps.GetValueAsString(options.ProviderDeployConfig, "bucket"),
|
Bucket: maputil.GetString(options.ProviderDeployConfig, "bucket"),
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -215,8 +215,8 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pAliyunVOD.NewDeployer(&pAliyunVOD.DeployerConfig{
|
deployer, err := pAliyunVOD.NewDeployer(&pAliyunVOD.DeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.AccessKeySecret,
|
AccessKeySecret: access.AccessKeySecret,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maputil.GetString(options.ProviderDeployConfig, "region"),
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -224,9 +224,9 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pAliyunWAF.NewDeployer(&pAliyunWAF.DeployerConfig{
|
deployer, err := pAliyunWAF.NewDeployer(&pAliyunWAF.DeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.AccessKeySecret,
|
AccessKeySecret: access.AccessKeySecret,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maputil.GetString(options.ProviderDeployConfig, "region"),
|
||||||
InstanceId: maps.GetValueAsString(options.ProviderDeployConfig, "instanceId"),
|
InstanceId: maputil.GetString(options.ProviderDeployConfig, "instanceId"),
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -238,7 +238,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
case domain.DeployProviderTypeAWSCloudFront:
|
case domain.DeployProviderTypeAWSCloudFront:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForAWS{}
|
access := domain.AccessConfigForAWS{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -247,8 +247,8 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pAWSCloudFront.NewDeployer(&pAWSCloudFront.DeployerConfig{
|
deployer, err := pAWSCloudFront.NewDeployer(&pAWSCloudFront.DeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
SecretAccessKey: access.SecretAccessKey,
|
SecretAccessKey: access.SecretAccessKey,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maputil.GetString(options.ProviderDeployConfig, "region"),
|
||||||
DistributionId: maps.GetValueAsString(options.ProviderDeployConfig, "distributionId"),
|
DistributionId: maputil.GetString(options.ProviderDeployConfig, "distributionId"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -260,7 +260,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
case domain.DeployProviderTypeBaiduCloudCDN:
|
case domain.DeployProviderTypeBaiduCloudCDN:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForBaiduCloud{}
|
access := domain.AccessConfigForBaiduCloud{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -269,7 +269,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pBaiduCloudCDN.NewDeployer(&pBaiduCloudCDN.DeployerConfig{
|
deployer, err := pBaiduCloudCDN.NewDeployer(&pBaiduCloudCDN.DeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
SecretAccessKey: access.SecretAccessKey,
|
SecretAccessKey: access.SecretAccessKey,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -281,7 +281,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
case domain.DeployProviderTypeBaishanCDN:
|
case domain.DeployProviderTypeBaishanCDN:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForBaishan{}
|
access := domain.AccessConfigForBaishan{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -289,7 +289,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
case domain.DeployProviderTypeBaishanCDN:
|
case domain.DeployProviderTypeBaishanCDN:
|
||||||
deployer, err := pBaishanCDN.NewDeployer(&pBaishanCDN.DeployerConfig{
|
deployer, err := pBaishanCDN.NewDeployer(&pBaishanCDN.DeployerConfig{
|
||||||
ApiToken: access.ApiToken,
|
ApiToken: access.ApiToken,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -301,7 +301,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
case domain.DeployProviderTypeBaotaPanelConsole, domain.DeployProviderTypeBaotaPanelSite:
|
case domain.DeployProviderTypeBaotaPanelConsole, domain.DeployProviderTypeBaotaPanelSite:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForBaotaPanel{}
|
access := domain.AccessConfigForBaotaPanel{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -311,7 +311,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
ApiUrl: access.ApiUrl,
|
ApiUrl: access.ApiUrl,
|
||||||
ApiKey: access.ApiKey,
|
ApiKey: access.ApiKey,
|
||||||
AllowInsecureConnections: access.AllowInsecureConnections,
|
AllowInsecureConnections: access.AllowInsecureConnections,
|
||||||
AutoRestart: maps.GetValueAsBool(options.ProviderDeployConfig, "autoRestart"),
|
AutoRestart: maputil.GetBool(options.ProviderDeployConfig, "autoRestart"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -320,9 +320,9 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
ApiUrl: access.ApiUrl,
|
ApiUrl: access.ApiUrl,
|
||||||
ApiKey: access.ApiKey,
|
ApiKey: access.ApiKey,
|
||||||
AllowInsecureConnections: access.AllowInsecureConnections,
|
AllowInsecureConnections: access.AllowInsecureConnections,
|
||||||
SiteType: maps.GetValueOrDefaultAsString(options.ProviderDeployConfig, "siteType", "other"),
|
SiteType: maputil.GetOrDefaultString(options.ProviderDeployConfig, "siteType", "other"),
|
||||||
SiteName: maps.GetValueAsString(options.ProviderDeployConfig, "siteName"),
|
SiteName: maputil.GetString(options.ProviderDeployConfig, "siteName"),
|
||||||
SiteNames: slices.Filter(strings.Split(maps.GetValueAsString(options.ProviderDeployConfig, "siteNames"), ";"), func(s string) bool { return s != "" }),
|
SiteNames: sliceutil.Filter(strings.Split(maputil.GetString(options.ProviderDeployConfig, "siteNames"), ";"), func(s string) bool { return s != "" }),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -334,7 +334,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
case domain.DeployProviderTypeBytePlusCDN:
|
case domain.DeployProviderTypeBytePlusCDN:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForBytePlus{}
|
access := domain.AccessConfigForBytePlus{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -343,7 +343,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pBytePlusCDN.NewDeployer(&pBytePlusCDN.DeployerConfig{
|
deployer, err := pBytePlusCDN.NewDeployer(&pBytePlusCDN.DeployerConfig{
|
||||||
AccessKey: access.AccessKey,
|
AccessKey: access.AccessKey,
|
||||||
SecretKey: access.SecretKey,
|
SecretKey: access.SecretKey,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -355,7 +355,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
case domain.DeployProviderTypeCacheFly:
|
case domain.DeployProviderTypeCacheFly:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForCacheFly{}
|
access := domain.AccessConfigForCacheFly{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -368,7 +368,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
case domain.DeployProviderTypeCdnfly:
|
case domain.DeployProviderTypeCdnfly:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForCdnfly{}
|
access := domain.AccessConfigForCdnfly{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -376,9 +376,9 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
ApiUrl: access.ApiUrl,
|
ApiUrl: access.ApiUrl,
|
||||||
ApiKey: access.ApiKey,
|
ApiKey: access.ApiKey,
|
||||||
ApiSecret: access.ApiSecret,
|
ApiSecret: access.ApiSecret,
|
||||||
ResourceType: pCdnfly.ResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")),
|
ResourceType: pCdnfly.ResourceType(maputil.GetString(options.ProviderDeployConfig, "resourceType")),
|
||||||
SiteId: maps.GetValueAsString(options.ProviderDeployConfig, "siteId"),
|
SiteId: maputil.GetString(options.ProviderDeployConfig, "siteId"),
|
||||||
CertificateId: maps.GetValueAsString(options.ProviderDeployConfig, "certificateId"),
|
CertificateId: maputil.GetString(options.ProviderDeployConfig, "certificateId"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
}
|
}
|
||||||
@ -386,14 +386,14 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
case domain.DeployProviderTypeDogeCloudCDN:
|
case domain.DeployProviderTypeDogeCloudCDN:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForDogeCloud{}
|
access := domain.AccessConfigForDogeCloud{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
deployer, err := pDogeCDN.NewDeployer(&pDogeCDN.DeployerConfig{
|
deployer, err := pDogeCDN.NewDeployer(&pDogeCDN.DeployerConfig{
|
||||||
AccessKey: access.AccessKey,
|
AccessKey: access.AccessKey,
|
||||||
SecretKey: access.SecretKey,
|
SecretKey: access.SecretKey,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
}
|
}
|
||||||
@ -401,14 +401,14 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
case domain.DeployProviderTypeEdgioApplications:
|
case domain.DeployProviderTypeEdgioApplications:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForEdgio{}
|
access := domain.AccessConfigForEdgio{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
deployer, err := pEdgioApplications.NewDeployer(&pEdgioApplications.DeployerConfig{
|
deployer, err := pEdgioApplications.NewDeployer(&pEdgioApplications.DeployerConfig{
|
||||||
ClientId: access.ClientId,
|
ClientId: access.ClientId,
|
||||||
ClientSecret: access.ClientSecret,
|
ClientSecret: access.ClientSecret,
|
||||||
EnvironmentId: maps.GetValueAsString(options.ProviderDeployConfig, "environmentId"),
|
EnvironmentId: maputil.GetString(options.ProviderDeployConfig, "environmentId"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
}
|
}
|
||||||
@ -416,7 +416,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
case domain.DeployProviderTypeGcoreCDN:
|
case domain.DeployProviderTypeGcoreCDN:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForGcore{}
|
access := domain.AccessConfigForGcore{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -424,7 +424,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
case domain.DeployProviderTypeGcoreCDN:
|
case domain.DeployProviderTypeGcoreCDN:
|
||||||
deployer, err := pGcoreCDN.NewDeployer(&pGcoreCDN.DeployerConfig{
|
deployer, err := pGcoreCDN.NewDeployer(&pGcoreCDN.DeployerConfig{
|
||||||
ApiToken: access.ApiToken,
|
ApiToken: access.ApiToken,
|
||||||
ResourceId: maps.GetValueAsInt64(options.ProviderDeployConfig, "resourceId"),
|
ResourceId: maputil.GetInt64(options.ProviderDeployConfig, "resourceId"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -436,7 +436,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
case domain.DeployProviderTypeHuaweiCloudCDN, domain.DeployProviderTypeHuaweiCloudELB, domain.DeployProviderTypeHuaweiCloudWAF:
|
case domain.DeployProviderTypeHuaweiCloudCDN, domain.DeployProviderTypeHuaweiCloudELB, domain.DeployProviderTypeHuaweiCloudWAF:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForHuaweiCloud{}
|
access := domain.AccessConfigForHuaweiCloud{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -445,8 +445,8 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pHuaweiCloudCDN.NewDeployer(&pHuaweiCloudCDN.DeployerConfig{
|
deployer, err := pHuaweiCloudCDN.NewDeployer(&pHuaweiCloudCDN.DeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
SecretAccessKey: access.SecretAccessKey,
|
SecretAccessKey: access.SecretAccessKey,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maputil.GetString(options.ProviderDeployConfig, "region"),
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -454,11 +454,11 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pHuaweiCloudELB.NewDeployer(&pHuaweiCloudELB.DeployerConfig{
|
deployer, err := pHuaweiCloudELB.NewDeployer(&pHuaweiCloudELB.DeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
SecretAccessKey: access.SecretAccessKey,
|
SecretAccessKey: access.SecretAccessKey,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maputil.GetString(options.ProviderDeployConfig, "region"),
|
||||||
ResourceType: pHuaweiCloudELB.ResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")),
|
ResourceType: pHuaweiCloudELB.ResourceType(maputil.GetString(options.ProviderDeployConfig, "resourceType")),
|
||||||
CertificateId: maps.GetValueAsString(options.ProviderDeployConfig, "certificateId"),
|
CertificateId: maputil.GetString(options.ProviderDeployConfig, "certificateId"),
|
||||||
LoadbalancerId: maps.GetValueAsString(options.ProviderDeployConfig, "loadbalancerId"),
|
LoadbalancerId: maputil.GetString(options.ProviderDeployConfig, "loadbalancerId"),
|
||||||
ListenerId: maps.GetValueAsString(options.ProviderDeployConfig, "listenerId"),
|
ListenerId: maputil.GetString(options.ProviderDeployConfig, "listenerId"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -466,10 +466,10 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pHuaweiCloudWAF.NewDeployer(&pHuaweiCloudWAF.DeployerConfig{
|
deployer, err := pHuaweiCloudWAF.NewDeployer(&pHuaweiCloudWAF.DeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
SecretAccessKey: access.SecretAccessKey,
|
SecretAccessKey: access.SecretAccessKey,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maputil.GetString(options.ProviderDeployConfig, "region"),
|
||||||
ResourceType: pHuaweiCloudWAF.ResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")),
|
ResourceType: pHuaweiCloudWAF.ResourceType(maputil.GetString(options.ProviderDeployConfig, "resourceType")),
|
||||||
CertificateId: maps.GetValueAsString(options.ProviderDeployConfig, "certificateId"),
|
CertificateId: maputil.GetString(options.ProviderDeployConfig, "certificateId"),
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -481,7 +481,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
case domain.DeployProviderTypeJDCloudALB, domain.DeployProviderTypeJDCloudCDN, domain.DeployProviderTypeJDCloudLive, domain.DeployProviderTypeJDCloudVOD:
|
case domain.DeployProviderTypeJDCloudALB, domain.DeployProviderTypeJDCloudCDN, domain.DeployProviderTypeJDCloudLive, domain.DeployProviderTypeJDCloudVOD:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForJDCloud{}
|
access := domain.AccessConfigForJDCloud{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -490,10 +490,10 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pJDCloudALB.NewDeployer(&pJDCloudALB.DeployerConfig{
|
deployer, err := pJDCloudALB.NewDeployer(&pJDCloudALB.DeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.AccessKeySecret,
|
AccessKeySecret: access.AccessKeySecret,
|
||||||
RegionId: maps.GetValueAsString(options.ProviderDeployConfig, "regionId"),
|
RegionId: maputil.GetString(options.ProviderDeployConfig, "regionId"),
|
||||||
ResourceType: pJDCloudALB.ResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")),
|
ResourceType: pJDCloudALB.ResourceType(maputil.GetString(options.ProviderDeployConfig, "resourceType")),
|
||||||
LoadbalancerId: maps.GetValueAsString(options.ProviderDeployConfig, "loadbalancerId"),
|
LoadbalancerId: maputil.GetString(options.ProviderDeployConfig, "loadbalancerId"),
|
||||||
ListenerId: maps.GetValueAsString(options.ProviderDeployConfig, "listenerId"),
|
ListenerId: maputil.GetString(options.ProviderDeployConfig, "listenerId"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -501,7 +501,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pJDCloudCDN.NewDeployer(&pJDCloudCDN.DeployerConfig{
|
deployer, err := pJDCloudCDN.NewDeployer(&pJDCloudCDN.DeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.AccessKeySecret,
|
AccessKeySecret: access.AccessKeySecret,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -509,7 +509,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pJDCloudLive.NewDeployer(&pJDCloudLive.DeployerConfig{
|
deployer, err := pJDCloudLive.NewDeployer(&pJDCloudLive.DeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.AccessKeySecret,
|
AccessKeySecret: access.AccessKeySecret,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -517,7 +517,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pJDCloudVOD.NewDeployer(&pJDCloudVOD.DeployerConfig{
|
deployer, err := pJDCloudVOD.NewDeployer(&pJDCloudVOD.DeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.AccessKeySecret,
|
AccessKeySecret: access.AccessKeySecret,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -529,16 +529,16 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
case domain.DeployProviderTypeLocal:
|
case domain.DeployProviderTypeLocal:
|
||||||
{
|
{
|
||||||
deployer, err := pLocal.NewDeployer(&pLocal.DeployerConfig{
|
deployer, err := pLocal.NewDeployer(&pLocal.DeployerConfig{
|
||||||
ShellEnv: pLocal.ShellEnvType(maps.GetValueAsString(options.ProviderDeployConfig, "shellEnv")),
|
ShellEnv: pLocal.ShellEnvType(maputil.GetString(options.ProviderDeployConfig, "shellEnv")),
|
||||||
PreCommand: maps.GetValueAsString(options.ProviderDeployConfig, "preCommand"),
|
PreCommand: maputil.GetString(options.ProviderDeployConfig, "preCommand"),
|
||||||
PostCommand: maps.GetValueAsString(options.ProviderDeployConfig, "postCommand"),
|
PostCommand: maputil.GetString(options.ProviderDeployConfig, "postCommand"),
|
||||||
OutputFormat: pLocal.OutputFormatType(maps.GetValueOrDefaultAsString(options.ProviderDeployConfig, "format", string(pLocal.OUTPUT_FORMAT_PEM))),
|
OutputFormat: pLocal.OutputFormatType(maputil.GetOrDefaultString(options.ProviderDeployConfig, "format", string(pLocal.OUTPUT_FORMAT_PEM))),
|
||||||
OutputCertPath: maps.GetValueAsString(options.ProviderDeployConfig, "certPath"),
|
OutputCertPath: maputil.GetString(options.ProviderDeployConfig, "certPath"),
|
||||||
OutputKeyPath: maps.GetValueAsString(options.ProviderDeployConfig, "keyPath"),
|
OutputKeyPath: maputil.GetString(options.ProviderDeployConfig, "keyPath"),
|
||||||
PfxPassword: maps.GetValueAsString(options.ProviderDeployConfig, "pfxPassword"),
|
PfxPassword: maputil.GetString(options.ProviderDeployConfig, "pfxPassword"),
|
||||||
JksAlias: maps.GetValueAsString(options.ProviderDeployConfig, "jksAlias"),
|
JksAlias: maputil.GetString(options.ProviderDeployConfig, "jksAlias"),
|
||||||
JksKeypass: maps.GetValueAsString(options.ProviderDeployConfig, "jksKeypass"),
|
JksKeypass: maputil.GetString(options.ProviderDeployConfig, "jksKeypass"),
|
||||||
JksStorepass: maps.GetValueAsString(options.ProviderDeployConfig, "jksStorepass"),
|
JksStorepass: maputil.GetString(options.ProviderDeployConfig, "jksStorepass"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
}
|
}
|
||||||
@ -546,17 +546,17 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
case domain.DeployProviderTypeKubernetesSecret:
|
case domain.DeployProviderTypeKubernetesSecret:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForKubernetes{}
|
access := domain.AccessConfigForKubernetes{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
deployer, err := pK8sSecret.NewDeployer(&pK8sSecret.DeployerConfig{
|
deployer, err := pK8sSecret.NewDeployer(&pK8sSecret.DeployerConfig{
|
||||||
KubeConfig: access.KubeConfig,
|
KubeConfig: access.KubeConfig,
|
||||||
Namespace: maps.GetValueOrDefaultAsString(options.ProviderDeployConfig, "namespace", "default"),
|
Namespace: maputil.GetOrDefaultString(options.ProviderDeployConfig, "namespace", "default"),
|
||||||
SecretName: maps.GetValueAsString(options.ProviderDeployConfig, "secretName"),
|
SecretName: maputil.GetString(options.ProviderDeployConfig, "secretName"),
|
||||||
SecretType: maps.GetValueOrDefaultAsString(options.ProviderDeployConfig, "secretType", "kubernetes.io/tls"),
|
SecretType: maputil.GetOrDefaultString(options.ProviderDeployConfig, "secretType", "kubernetes.io/tls"),
|
||||||
SecretDataKeyForCrt: maps.GetValueOrDefaultAsString(options.ProviderDeployConfig, "secretDataKeyForCrt", "tls.crt"),
|
SecretDataKeyForCrt: maputil.GetOrDefaultString(options.ProviderDeployConfig, "secretDataKeyForCrt", "tls.crt"),
|
||||||
SecretDataKeyForKey: maps.GetValueOrDefaultAsString(options.ProviderDeployConfig, "secretDataKeyForKey", "tls.key"),
|
SecretDataKeyForKey: maputil.GetOrDefaultString(options.ProviderDeployConfig, "secretDataKeyForKey", "tls.key"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
}
|
}
|
||||||
@ -564,7 +564,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
case domain.DeployProviderTypeQiniuCDN, domain.DeployProviderTypeQiniuPili:
|
case domain.DeployProviderTypeQiniuCDN, domain.DeployProviderTypeQiniuPili:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForQiniu{}
|
access := domain.AccessConfigForQiniu{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -573,7 +573,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pQiniuCDN.NewDeployer(&pQiniuCDN.DeployerConfig{
|
deployer, err := pQiniuCDN.NewDeployer(&pQiniuCDN.DeployerConfig{
|
||||||
AccessKey: access.AccessKey,
|
AccessKey: access.AccessKey,
|
||||||
SecretKey: access.SecretKey,
|
SecretKey: access.SecretKey,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -581,8 +581,8 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pQiniuPili.NewDeployer(&pQiniuPili.DeployerConfig{
|
deployer, err := pQiniuPili.NewDeployer(&pQiniuPili.DeployerConfig{
|
||||||
AccessKey: access.AccessKey,
|
AccessKey: access.AccessKey,
|
||||||
SecretKey: access.SecretKey,
|
SecretKey: access.SecretKey,
|
||||||
Hub: maps.GetValueAsString(options.ProviderDeployConfig, "hub"),
|
Hub: maputil.GetString(options.ProviderDeployConfig, "hub"),
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -594,7 +594,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
case domain.DeployProviderTypeSafeLine:
|
case domain.DeployProviderTypeSafeLine:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForSafeLine{}
|
access := domain.AccessConfigForSafeLine{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -602,8 +602,8 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
ApiUrl: access.ApiUrl,
|
ApiUrl: access.ApiUrl,
|
||||||
ApiToken: access.ApiToken,
|
ApiToken: access.ApiToken,
|
||||||
AllowInsecureConnections: access.AllowInsecureConnections,
|
AllowInsecureConnections: access.AllowInsecureConnections,
|
||||||
ResourceType: pSafeLine.ResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")),
|
ResourceType: pSafeLine.ResourceType(maputil.GetString(options.ProviderDeployConfig, "resourceType")),
|
||||||
CertificateId: maps.GetValueAsInt32(options.ProviderDeployConfig, "certificateId"),
|
CertificateId: maputil.GetInt32(options.ProviderDeployConfig, "certificateId"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
}
|
}
|
||||||
@ -611,7 +611,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
case domain.DeployProviderTypeSSH:
|
case domain.DeployProviderTypeSSH:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForSSH{}
|
access := domain.AccessConfigForSSH{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -622,16 +622,16 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
SshPassword: access.Password,
|
SshPassword: access.Password,
|
||||||
SshKey: access.Key,
|
SshKey: access.Key,
|
||||||
SshKeyPassphrase: access.KeyPassphrase,
|
SshKeyPassphrase: access.KeyPassphrase,
|
||||||
UseSCP: maps.GetValueAsBool(options.ProviderDeployConfig, "useSCP"),
|
UseSCP: maputil.GetBool(options.ProviderDeployConfig, "useSCP"),
|
||||||
PreCommand: maps.GetValueAsString(options.ProviderDeployConfig, "preCommand"),
|
PreCommand: maputil.GetString(options.ProviderDeployConfig, "preCommand"),
|
||||||
PostCommand: maps.GetValueAsString(options.ProviderDeployConfig, "postCommand"),
|
PostCommand: maputil.GetString(options.ProviderDeployConfig, "postCommand"),
|
||||||
OutputFormat: pSSH.OutputFormatType(maps.GetValueOrDefaultAsString(options.ProviderDeployConfig, "format", string(pSSH.OUTPUT_FORMAT_PEM))),
|
OutputFormat: pSSH.OutputFormatType(maputil.GetOrDefaultString(options.ProviderDeployConfig, "format", string(pSSH.OUTPUT_FORMAT_PEM))),
|
||||||
OutputCertPath: maps.GetValueAsString(options.ProviderDeployConfig, "certPath"),
|
OutputCertPath: maputil.GetString(options.ProviderDeployConfig, "certPath"),
|
||||||
OutputKeyPath: maps.GetValueAsString(options.ProviderDeployConfig, "keyPath"),
|
OutputKeyPath: maputil.GetString(options.ProviderDeployConfig, "keyPath"),
|
||||||
PfxPassword: maps.GetValueAsString(options.ProviderDeployConfig, "pfxPassword"),
|
PfxPassword: maputil.GetString(options.ProviderDeployConfig, "pfxPassword"),
|
||||||
JksAlias: maps.GetValueAsString(options.ProviderDeployConfig, "jksAlias"),
|
JksAlias: maputil.GetString(options.ProviderDeployConfig, "jksAlias"),
|
||||||
JksKeypass: maps.GetValueAsString(options.ProviderDeployConfig, "jksKeypass"),
|
JksKeypass: maputil.GetString(options.ProviderDeployConfig, "jksKeypass"),
|
||||||
JksStorepass: maps.GetValueAsString(options.ProviderDeployConfig, "jksStorepass"),
|
JksStorepass: maputil.GetString(options.ProviderDeployConfig, "jksStorepass"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
}
|
}
|
||||||
@ -639,7 +639,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
case domain.DeployProviderTypeTencentCloudCDN, domain.DeployProviderTypeTencentCloudCLB, domain.DeployProviderTypeTencentCloudCOS, domain.DeployProviderTypeTencentCloudCSS, domain.DeployProviderTypeTencentCloudECDN, domain.DeployProviderTypeTencentCloudEO, domain.DeployProviderTypeTencentCloudSCF, domain.DeployProviderTypeTencentCloudSSLDeploy, domain.DeployProviderTypeTencentCloudVOD, domain.DeployProviderTypeTencentCloudWAF:
|
case domain.DeployProviderTypeTencentCloudCDN, domain.DeployProviderTypeTencentCloudCLB, domain.DeployProviderTypeTencentCloudCOS, domain.DeployProviderTypeTencentCloudCSS, domain.DeployProviderTypeTencentCloudECDN, domain.DeployProviderTypeTencentCloudEO, domain.DeployProviderTypeTencentCloudSCF, domain.DeployProviderTypeTencentCloudSSLDeploy, domain.DeployProviderTypeTencentCloudVOD, domain.DeployProviderTypeTencentCloudWAF:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForTencentCloud{}
|
access := domain.AccessConfigForTencentCloud{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -648,7 +648,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pTencentCloudCDN.NewDeployer(&pTencentCloudCDN.DeployerConfig{
|
deployer, err := pTencentCloudCDN.NewDeployer(&pTencentCloudCDN.DeployerConfig{
|
||||||
SecretId: access.SecretId,
|
SecretId: access.SecretId,
|
||||||
SecretKey: access.SecretKey,
|
SecretKey: access.SecretKey,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -656,11 +656,11 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pTencentCloudCLB.NewDeployer(&pTencentCloudCLB.DeployerConfig{
|
deployer, err := pTencentCloudCLB.NewDeployer(&pTencentCloudCLB.DeployerConfig{
|
||||||
SecretId: access.SecretId,
|
SecretId: access.SecretId,
|
||||||
SecretKey: access.SecretKey,
|
SecretKey: access.SecretKey,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maputil.GetString(options.ProviderDeployConfig, "region"),
|
||||||
ResourceType: pTencentCloudCLB.ResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")),
|
ResourceType: pTencentCloudCLB.ResourceType(maputil.GetString(options.ProviderDeployConfig, "resourceType")),
|
||||||
LoadbalancerId: maps.GetValueAsString(options.ProviderDeployConfig, "loadbalancerId"),
|
LoadbalancerId: maputil.GetString(options.ProviderDeployConfig, "loadbalancerId"),
|
||||||
ListenerId: maps.GetValueAsString(options.ProviderDeployConfig, "listenerId"),
|
ListenerId: maputil.GetString(options.ProviderDeployConfig, "listenerId"),
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -668,9 +668,9 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pTencentCloudCOS.NewDeployer(&pTencentCloudCOS.DeployerConfig{
|
deployer, err := pTencentCloudCOS.NewDeployer(&pTencentCloudCOS.DeployerConfig{
|
||||||
SecretId: access.SecretId,
|
SecretId: access.SecretId,
|
||||||
SecretKey: access.SecretKey,
|
SecretKey: access.SecretKey,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maputil.GetString(options.ProviderDeployConfig, "region"),
|
||||||
Bucket: maps.GetValueAsString(options.ProviderDeployConfig, "bucket"),
|
Bucket: maputil.GetString(options.ProviderDeployConfig, "bucket"),
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -678,7 +678,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pTencentCloudCSS.NewDeployer(&pTencentCloudCSS.DeployerConfig{
|
deployer, err := pTencentCloudCSS.NewDeployer(&pTencentCloudCSS.DeployerConfig{
|
||||||
SecretId: access.SecretId,
|
SecretId: access.SecretId,
|
||||||
SecretKey: access.SecretKey,
|
SecretKey: access.SecretKey,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -686,7 +686,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pTencentCloudECDN.NewDeployer(&pTencentCloudECDN.DeployerConfig{
|
deployer, err := pTencentCloudECDN.NewDeployer(&pTencentCloudECDN.DeployerConfig{
|
||||||
SecretId: access.SecretId,
|
SecretId: access.SecretId,
|
||||||
SecretKey: access.SecretKey,
|
SecretKey: access.SecretKey,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -694,8 +694,8 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pTencentCloudEO.NewDeployer(&pTencentCloudEO.DeployerConfig{
|
deployer, err := pTencentCloudEO.NewDeployer(&pTencentCloudEO.DeployerConfig{
|
||||||
SecretId: access.SecretId,
|
SecretId: access.SecretId,
|
||||||
SecretKey: access.SecretKey,
|
SecretKey: access.SecretKey,
|
||||||
ZoneId: maps.GetValueAsString(options.ProviderDeployConfig, "zoneId"),
|
ZoneId: maputil.GetString(options.ProviderDeployConfig, "zoneId"),
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -703,8 +703,8 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pTencentCloudSCF.NewDeployer(&pTencentCloudSCF.DeployerConfig{
|
deployer, err := pTencentCloudSCF.NewDeployer(&pTencentCloudSCF.DeployerConfig{
|
||||||
SecretId: access.SecretId,
|
SecretId: access.SecretId,
|
||||||
SecretKey: access.SecretKey,
|
SecretKey: access.SecretKey,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maputil.GetString(options.ProviderDeployConfig, "region"),
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -712,9 +712,9 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pTencentCloudSSLDeploy.NewDeployer(&pTencentCloudSSLDeploy.DeployerConfig{
|
deployer, err := pTencentCloudSSLDeploy.NewDeployer(&pTencentCloudSSLDeploy.DeployerConfig{
|
||||||
SecretId: access.SecretId,
|
SecretId: access.SecretId,
|
||||||
SecretKey: access.SecretKey,
|
SecretKey: access.SecretKey,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maputil.GetString(options.ProviderDeployConfig, "region"),
|
||||||
ResourceType: maps.GetValueAsString(options.ProviderDeployConfig, "resourceType"),
|
ResourceType: maputil.GetString(options.ProviderDeployConfig, "resourceType"),
|
||||||
ResourceIds: slices.Filter(strings.Split(maps.GetValueAsString(options.ProviderDeployConfig, "resourceIds"), ";"), func(s string) bool { return s != "" }),
|
ResourceIds: sliceutil.Filter(strings.Split(maputil.GetString(options.ProviderDeployConfig, "resourceIds"), ";"), func(s string) bool { return s != "" }),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -722,8 +722,8 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pTencentCloudVOD.NewDeployer(&pTencentCloudVOD.DeployerConfig{
|
deployer, err := pTencentCloudVOD.NewDeployer(&pTencentCloudVOD.DeployerConfig{
|
||||||
SecretId: access.SecretId,
|
SecretId: access.SecretId,
|
||||||
SecretKey: access.SecretKey,
|
SecretKey: access.SecretKey,
|
||||||
SubAppId: maps.GetValueAsInt64(options.ProviderDeployConfig, "subAppId"),
|
SubAppId: maputil.GetInt64(options.ProviderDeployConfig, "subAppId"),
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -731,9 +731,9 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pTencentCloudWAF.NewDeployer(&pTencentCloudWAF.DeployerConfig{
|
deployer, err := pTencentCloudWAF.NewDeployer(&pTencentCloudWAF.DeployerConfig{
|
||||||
SecretId: access.SecretId,
|
SecretId: access.SecretId,
|
||||||
SecretKey: access.SecretKey,
|
SecretKey: access.SecretKey,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
DomainId: maps.GetValueAsString(options.ProviderDeployConfig, "domainId"),
|
DomainId: maputil.GetString(options.ProviderDeployConfig, "domainId"),
|
||||||
InstanceId: maps.GetValueAsString(options.ProviderDeployConfig, "instanceId"),
|
InstanceId: maputil.GetString(options.ProviderDeployConfig, "instanceId"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -745,7 +745,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
case domain.DeployProviderTypeUCloudUCDN, domain.DeployProviderTypeUCloudUS3:
|
case domain.DeployProviderTypeUCloudUCDN, domain.DeployProviderTypeUCloudUS3:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForUCloud{}
|
access := domain.AccessConfigForUCloud{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -755,7 +755,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
PrivateKey: access.PrivateKey,
|
PrivateKey: access.PrivateKey,
|
||||||
PublicKey: access.PublicKey,
|
PublicKey: access.PublicKey,
|
||||||
ProjectId: access.ProjectId,
|
ProjectId: access.ProjectId,
|
||||||
DomainId: maps.GetValueAsString(options.ProviderDeployConfig, "domainId"),
|
DomainId: maputil.GetString(options.ProviderDeployConfig, "domainId"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -764,9 +764,9 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
PrivateKey: access.PrivateKey,
|
PrivateKey: access.PrivateKey,
|
||||||
PublicKey: access.PublicKey,
|
PublicKey: access.PublicKey,
|
||||||
ProjectId: access.ProjectId,
|
ProjectId: access.ProjectId,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maputil.GetString(options.ProviderDeployConfig, "region"),
|
||||||
Bucket: maps.GetValueAsString(options.ProviderDeployConfig, "bucket"),
|
Bucket: maputil.GetString(options.ProviderDeployConfig, "bucket"),
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -778,7 +778,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
case domain.DeployProviderTypeVolcEngineCDN, domain.DeployProviderTypeVolcEngineCLB, domain.DeployProviderTypeVolcEngineDCDN, domain.DeployProviderTypeVolcEngineImageX, domain.DeployProviderTypeVolcEngineLive, domain.DeployProviderTypeVolcEngineTOS:
|
case domain.DeployProviderTypeVolcEngineCDN, domain.DeployProviderTypeVolcEngineCLB, domain.DeployProviderTypeVolcEngineDCDN, domain.DeployProviderTypeVolcEngineImageX, domain.DeployProviderTypeVolcEngineLive, domain.DeployProviderTypeVolcEngineTOS:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForVolcEngine{}
|
access := domain.AccessConfigForVolcEngine{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -787,7 +787,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pVolcEngineCDN.NewDeployer(&pVolcEngineCDN.DeployerConfig{
|
deployer, err := pVolcEngineCDN.NewDeployer(&pVolcEngineCDN.DeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.SecretAccessKey,
|
AccessKeySecret: access.SecretAccessKey,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -795,9 +795,9 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pVolcEngineCLB.NewDeployer(&pVolcEngineCLB.DeployerConfig{
|
deployer, err := pVolcEngineCLB.NewDeployer(&pVolcEngineCLB.DeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.SecretAccessKey,
|
AccessKeySecret: access.SecretAccessKey,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maputil.GetString(options.ProviderDeployConfig, "region"),
|
||||||
ResourceType: pVolcEngineCLB.ResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")),
|
ResourceType: pVolcEngineCLB.ResourceType(maputil.GetString(options.ProviderDeployConfig, "resourceType")),
|
||||||
ListenerId: maps.GetValueAsString(options.ProviderDeployConfig, "listenerId"),
|
ListenerId: maputil.GetString(options.ProviderDeployConfig, "listenerId"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -805,7 +805,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pVolcEngineDCDN.NewDeployer(&pVolcEngineDCDN.DeployerConfig{
|
deployer, err := pVolcEngineDCDN.NewDeployer(&pVolcEngineDCDN.DeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.SecretAccessKey,
|
AccessKeySecret: access.SecretAccessKey,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -813,9 +813,9 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pVolcEngineImageX.NewDeployer(&pVolcEngineImageX.DeployerConfig{
|
deployer, err := pVolcEngineImageX.NewDeployer(&pVolcEngineImageX.DeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.SecretAccessKey,
|
AccessKeySecret: access.SecretAccessKey,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maputil.GetString(options.ProviderDeployConfig, "region"),
|
||||||
ServiceId: maps.GetValueAsString(options.ProviderDeployConfig, "serviceId"),
|
ServiceId: maputil.GetString(options.ProviderDeployConfig, "serviceId"),
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -823,7 +823,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pVolcEngineLive.NewDeployer(&pVolcEngineLive.DeployerConfig{
|
deployer, err := pVolcEngineLive.NewDeployer(&pVolcEngineLive.DeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.SecretAccessKey,
|
AccessKeySecret: access.SecretAccessKey,
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -831,9 +831,9 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
deployer, err := pVolcEngineTOS.NewDeployer(&pVolcEngineTOS.DeployerConfig{
|
deployer, err := pVolcEngineTOS.NewDeployer(&pVolcEngineTOS.DeployerConfig{
|
||||||
AccessKeyId: access.AccessKeyId,
|
AccessKeyId: access.AccessKeyId,
|
||||||
AccessKeySecret: access.SecretAccessKey,
|
AccessKeySecret: access.SecretAccessKey,
|
||||||
Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"),
|
Region: maputil.GetString(options.ProviderDeployConfig, "region"),
|
||||||
Bucket: maps.GetValueAsString(options.ProviderDeployConfig, "bucket"),
|
Bucket: maputil.GetString(options.ProviderDeployConfig, "bucket"),
|
||||||
Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"),
|
Domain: maputil.GetString(options.ProviderDeployConfig, "domain"),
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
@ -845,13 +845,13 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
case domain.DeployProviderTypeWebhook:
|
case domain.DeployProviderTypeWebhook:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForWebhook{}
|
access := domain.AccessConfigForWebhook{}
|
||||||
if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
return nil, fmt.Errorf("failed to populate provider access config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
deployer, err := pWebhook.NewDeployer(&pWebhook.DeployerConfig{
|
deployer, err := pWebhook.NewDeployer(&pWebhook.DeployerConfig{
|
||||||
WebhookUrl: access.Url,
|
WebhookUrl: access.Url,
|
||||||
WebhookData: maps.GetValueAsString(options.ProviderDeployConfig, "webhookData"),
|
WebhookData: maputil.GetString(options.ProviderDeployConfig, "webhookData"),
|
||||||
AllowInsecureConnections: access.AllowInsecureConnections,
|
AllowInsecureConnections: access.AllowInsecureConnections,
|
||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
@ -8,7 +8,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/certs"
|
"github.com/usual2970/certimate/internal/pkg/utils/certutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
const CollectionNameCertificate = "certificate"
|
const CollectionNameCertificate = "certificate"
|
||||||
@ -105,10 +105,10 @@ func (c *Certificate) PopulateFromPEM(certPEM, privkeyPEM string) *Certificate {
|
|||||||
c.Certificate = certPEM
|
c.Certificate = certPEM
|
||||||
c.PrivateKey = privkeyPEM
|
c.PrivateKey = privkeyPEM
|
||||||
|
|
||||||
_, issuerCertPEM, _ := certs.ExtractCertificatesFromPEM(certPEM)
|
_, issuerCertPEM, _ := certutil.ExtractCertificatesFromPEM(certPEM)
|
||||||
c.IssuerCertificate = issuerCertPEM
|
c.IssuerCertificate = issuerCertPEM
|
||||||
|
|
||||||
certX509, _ := certs.ParseCertificateFromPEM(certPEM)
|
certX509, _ := certutil.ParseCertificateFromPEM(certPEM)
|
||||||
if certX509 != nil {
|
if certX509 != nil {
|
||||||
c.PopulateFromX509(certX509)
|
c.PopulateFromX509(certX509)
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@ package domain
|
|||||||
import (
|
import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/maps"
|
"github.com/usual2970/certimate/internal/pkg/utils/maputil"
|
||||||
)
|
)
|
||||||
|
|
||||||
const CollectionNameWorkflow = "workflow"
|
const CollectionNameWorkflow = "workflow"
|
||||||
@ -97,19 +97,19 @@ type WorkflowNodeConfigForNotify struct {
|
|||||||
Message string `json:"message"` // 通知内容
|
Message string `json:"message"` // 通知内容
|
||||||
}
|
}
|
||||||
|
|
||||||
func (n *WorkflowNode) getConfigValueAsString(key string) string {
|
func (n *WorkflowNode) getConfigString(key string) string {
|
||||||
return maps.GetValueAsString(n.Config, key)
|
return maputil.GetString(n.Config, key)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (n *WorkflowNode) getConfigValueAsBool(key string) bool {
|
func (n *WorkflowNode) getConfigBool(key string) bool {
|
||||||
return maps.GetValueAsBool(n.Config, key)
|
return maputil.GetBool(n.Config, key)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (n *WorkflowNode) getConfigValueAsInt32(key string) int32 {
|
func (n *WorkflowNode) getConfigInt32(key string) int32 {
|
||||||
return maps.GetValueAsInt32(n.Config, key)
|
return maputil.GetInt32(n.Config, key)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (n *WorkflowNode) getConfigValueAsMap(key string) map[string]any {
|
func (n *WorkflowNode) getConfigMap(key string) map[string]any {
|
||||||
if val, ok := n.Config[key]; ok {
|
if val, ok := n.Config[key]; ok {
|
||||||
if result, ok := val.(map[string]any); ok {
|
if result, ok := val.(map[string]any); ok {
|
||||||
return result
|
return result
|
||||||
@ -120,50 +120,50 @@ func (n *WorkflowNode) getConfigValueAsMap(key string) map[string]any {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (n *WorkflowNode) GetConfigForApply() WorkflowNodeConfigForApply {
|
func (n *WorkflowNode) GetConfigForApply() WorkflowNodeConfigForApply {
|
||||||
skipBeforeExpiryDays := n.getConfigValueAsInt32("skipBeforeExpiryDays")
|
skipBeforeExpiryDays := n.getConfigInt32("skipBeforeExpiryDays")
|
||||||
if skipBeforeExpiryDays == 0 {
|
if skipBeforeExpiryDays == 0 {
|
||||||
skipBeforeExpiryDays = 30
|
skipBeforeExpiryDays = 30
|
||||||
}
|
}
|
||||||
|
|
||||||
return WorkflowNodeConfigForApply{
|
return WorkflowNodeConfigForApply{
|
||||||
Domains: n.getConfigValueAsString("domains"),
|
Domains: n.getConfigString("domains"),
|
||||||
ContactEmail: n.getConfigValueAsString("contactEmail"),
|
ContactEmail: n.getConfigString("contactEmail"),
|
||||||
Provider: n.getConfigValueAsString("provider"),
|
Provider: n.getConfigString("provider"),
|
||||||
ProviderAccessId: n.getConfigValueAsString("providerAccessId"),
|
ProviderAccessId: n.getConfigString("providerAccessId"),
|
||||||
ProviderConfig: n.getConfigValueAsMap("providerConfig"),
|
ProviderConfig: n.getConfigMap("providerConfig"),
|
||||||
KeyAlgorithm: n.getConfigValueAsString("keyAlgorithm"),
|
KeyAlgorithm: n.getConfigString("keyAlgorithm"),
|
||||||
Nameservers: n.getConfigValueAsString("nameservers"),
|
Nameservers: n.getConfigString("nameservers"),
|
||||||
DnsPropagationTimeout: n.getConfigValueAsInt32("dnsPropagationTimeout"),
|
DnsPropagationTimeout: n.getConfigInt32("dnsPropagationTimeout"),
|
||||||
DnsTTL: n.getConfigValueAsInt32("dnsTTL"),
|
DnsTTL: n.getConfigInt32("dnsTTL"),
|
||||||
DisableFollowCNAME: n.getConfigValueAsBool("disableFollowCNAME"),
|
DisableFollowCNAME: n.getConfigBool("disableFollowCNAME"),
|
||||||
DisableARI: n.getConfigValueAsBool("disableARI"),
|
DisableARI: n.getConfigBool("disableARI"),
|
||||||
SkipBeforeExpiryDays: skipBeforeExpiryDays,
|
SkipBeforeExpiryDays: skipBeforeExpiryDays,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (n *WorkflowNode) GetConfigForUpload() WorkflowNodeConfigForUpload {
|
func (n *WorkflowNode) GetConfigForUpload() WorkflowNodeConfigForUpload {
|
||||||
return WorkflowNodeConfigForUpload{
|
return WorkflowNodeConfigForUpload{
|
||||||
Certificate: n.getConfigValueAsString("certificate"),
|
Certificate: n.getConfigString("certificate"),
|
||||||
PrivateKey: n.getConfigValueAsString("privateKey"),
|
PrivateKey: n.getConfigString("privateKey"),
|
||||||
Domains: n.getConfigValueAsString("domains"),
|
Domains: n.getConfigString("domains"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (n *WorkflowNode) GetConfigForDeploy() WorkflowNodeConfigForDeploy {
|
func (n *WorkflowNode) GetConfigForDeploy() WorkflowNodeConfigForDeploy {
|
||||||
return WorkflowNodeConfigForDeploy{
|
return WorkflowNodeConfigForDeploy{
|
||||||
Certificate: n.getConfigValueAsString("certificate"),
|
Certificate: n.getConfigString("certificate"),
|
||||||
Provider: n.getConfigValueAsString("provider"),
|
Provider: n.getConfigString("provider"),
|
||||||
ProviderAccessId: n.getConfigValueAsString("providerAccessId"),
|
ProviderAccessId: n.getConfigString("providerAccessId"),
|
||||||
ProviderConfig: n.getConfigValueAsMap("providerConfig"),
|
ProviderConfig: n.getConfigMap("providerConfig"),
|
||||||
SkipOnLastSucceeded: n.getConfigValueAsBool("skipOnLastSucceeded"),
|
SkipOnLastSucceeded: n.getConfigBool("skipOnLastSucceeded"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (n *WorkflowNode) GetConfigForNotify() WorkflowNodeConfigForNotify {
|
func (n *WorkflowNode) GetConfigForNotify() WorkflowNodeConfigForNotify {
|
||||||
return WorkflowNodeConfigForNotify{
|
return WorkflowNodeConfigForNotify{
|
||||||
Channel: n.getConfigValueAsString("channel"),
|
Channel: n.getConfigString("channel"),
|
||||||
Subject: n.getConfigValueAsString("subject"),
|
Subject: n.getConfigString("subject"),
|
||||||
Message: n.getConfigValueAsString("message"),
|
Message: n.getConfigString("message"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ 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"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/maps"
|
"github.com/usual2970/certimate/internal/pkg/utils/maputil"
|
||||||
"github.com/usual2970/certimate/internal/repository"
|
"github.com/usual2970/certimate/internal/repository"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -62,7 +62,7 @@ func getEnabledNotifiers() ([]notifier.Notifier, error) {
|
|||||||
|
|
||||||
notifiers := make([]notifier.Notifier, 0)
|
notifiers := make([]notifier.Notifier, 0)
|
||||||
for k, v := range rs {
|
for k, v := range rs {
|
||||||
if !maps.GetValueAsBool(v, "enabled") {
|
if !maputil.GetBool(v, "enabled") {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ import (
|
|||||||
pTelegram "github.com/usual2970/certimate/internal/pkg/core/notifier/providers/telegram"
|
pTelegram "github.com/usual2970/certimate/internal/pkg/core/notifier/providers/telegram"
|
||||||
pWebhook "github.com/usual2970/certimate/internal/pkg/core/notifier/providers/webhook"
|
pWebhook "github.com/usual2970/certimate/internal/pkg/core/notifier/providers/webhook"
|
||||||
pWeCom "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/maputil"
|
||||||
)
|
)
|
||||||
|
|
||||||
func createNotifier(channel domain.NotifyChannelType, channelConfig map[string]any) (notifier.Notifier, error) {
|
func createNotifier(channel domain.NotifyChannelType, channelConfig map[string]any) (notifier.Notifier, error) {
|
||||||
@ -24,52 +24,52 @@ func createNotifier(channel domain.NotifyChannelType, channelConfig map[string]a
|
|||||||
switch channel {
|
switch channel {
|
||||||
case domain.NotifyChannelTypeBark:
|
case domain.NotifyChannelTypeBark:
|
||||||
return pBark.NewNotifier(&pBark.NotifierConfig{
|
return pBark.NewNotifier(&pBark.NotifierConfig{
|
||||||
DeviceKey: maps.GetValueAsString(channelConfig, "deviceKey"),
|
DeviceKey: maputil.GetString(channelConfig, "deviceKey"),
|
||||||
ServerUrl: maps.GetValueAsString(channelConfig, "serverUrl"),
|
ServerUrl: maputil.GetString(channelConfig, "serverUrl"),
|
||||||
})
|
})
|
||||||
|
|
||||||
case domain.NotifyChannelTypeDingTalk:
|
case domain.NotifyChannelTypeDingTalk:
|
||||||
return pDingTalk.NewNotifier(&pDingTalk.NotifierConfig{
|
return pDingTalk.NewNotifier(&pDingTalk.NotifierConfig{
|
||||||
AccessToken: maps.GetValueAsString(channelConfig, "accessToken"),
|
AccessToken: maputil.GetString(channelConfig, "accessToken"),
|
||||||
Secret: maps.GetValueAsString(channelConfig, "secret"),
|
Secret: maputil.GetString(channelConfig, "secret"),
|
||||||
})
|
})
|
||||||
|
|
||||||
case domain.NotifyChannelTypeEmail:
|
case domain.NotifyChannelTypeEmail:
|
||||||
return pEmail.NewNotifier(&pEmail.NotifierConfig{
|
return pEmail.NewNotifier(&pEmail.NotifierConfig{
|
||||||
SmtpHost: maps.GetValueAsString(channelConfig, "smtpHost"),
|
SmtpHost: maputil.GetString(channelConfig, "smtpHost"),
|
||||||
SmtpPort: maps.GetValueAsInt32(channelConfig, "smtpPort"),
|
SmtpPort: maputil.GetInt32(channelConfig, "smtpPort"),
|
||||||
SmtpTLS: maps.GetValueOrDefaultAsBool(channelConfig, "smtpTLS", true),
|
SmtpTLS: maputil.GetOrDefaultBool(channelConfig, "smtpTLS", true),
|
||||||
Username: maps.GetValueOrDefaultAsString(channelConfig, "username", maps.GetValueAsString(channelConfig, "senderAddress")),
|
Username: maputil.GetOrDefaultString(channelConfig, "username", maputil.GetString(channelConfig, "senderAddress")),
|
||||||
Password: maps.GetValueAsString(channelConfig, "password"),
|
Password: maputil.GetString(channelConfig, "password"),
|
||||||
SenderAddress: maps.GetValueAsString(channelConfig, "senderAddress"),
|
SenderAddress: maputil.GetString(channelConfig, "senderAddress"),
|
||||||
ReceiverAddress: maps.GetValueAsString(channelConfig, "receiverAddress"),
|
ReceiverAddress: maputil.GetString(channelConfig, "receiverAddress"),
|
||||||
})
|
})
|
||||||
|
|
||||||
case domain.NotifyChannelTypeLark:
|
case domain.NotifyChannelTypeLark:
|
||||||
return pLark.NewNotifier(&pLark.NotifierConfig{
|
return pLark.NewNotifier(&pLark.NotifierConfig{
|
||||||
WebhookUrl: maps.GetValueAsString(channelConfig, "webhookUrl"),
|
WebhookUrl: maputil.GetString(channelConfig, "webhookUrl"),
|
||||||
})
|
})
|
||||||
|
|
||||||
case domain.NotifyChannelTypeServerChan:
|
case domain.NotifyChannelTypeServerChan:
|
||||||
return pServerChan.NewNotifier(&pServerChan.NotifierConfig{
|
return pServerChan.NewNotifier(&pServerChan.NotifierConfig{
|
||||||
Url: maps.GetValueAsString(channelConfig, "url"),
|
Url: maputil.GetString(channelConfig, "url"),
|
||||||
})
|
})
|
||||||
|
|
||||||
case domain.NotifyChannelTypeTelegram:
|
case domain.NotifyChannelTypeTelegram:
|
||||||
return pTelegram.NewNotifier(&pTelegram.NotifierConfig{
|
return pTelegram.NewNotifier(&pTelegram.NotifierConfig{
|
||||||
ApiToken: maps.GetValueAsString(channelConfig, "apiToken"),
|
ApiToken: maputil.GetString(channelConfig, "apiToken"),
|
||||||
ChatId: maps.GetValueAsInt64(channelConfig, "chatId"),
|
ChatId: maputil.GetInt64(channelConfig, "chatId"),
|
||||||
})
|
})
|
||||||
|
|
||||||
case domain.NotifyChannelTypeWebhook:
|
case domain.NotifyChannelTypeWebhook:
|
||||||
return pWebhook.NewNotifier(&pWebhook.NotifierConfig{
|
return pWebhook.NewNotifier(&pWebhook.NotifierConfig{
|
||||||
Url: maps.GetValueAsString(channelConfig, "url"),
|
Url: maputil.GetString(channelConfig, "url"),
|
||||||
AllowInsecureConnections: maps.GetValueAsBool(channelConfig, "allowInsecureConnections"),
|
AllowInsecureConnections: maputil.GetBool(channelConfig, "allowInsecureConnections"),
|
||||||
})
|
})
|
||||||
|
|
||||||
case domain.NotifyChannelTypeWeCom:
|
case domain.NotifyChannelTypeWeCom:
|
||||||
return pWeCom.NewNotifier(&pWeCom.NotifierConfig{
|
return pWeCom.NewNotifier(&pWeCom.NotifierConfig{
|
||||||
WebhookUrl: maps.GetValueAsString(channelConfig, "webhookUrl"),
|
WebhookUrl: maputil.GetString(channelConfig, "webhookUrl"),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ import (
|
|||||||
xerrors "github.com/pkg/errors"
|
xerrors "github.com/pkg/errors"
|
||||||
|
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/deployer"
|
"github.com/usual2970/certimate/internal/pkg/core/deployer"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/slices"
|
"github.com/usual2970/certimate/internal/pkg/utils/sliceutil"
|
||||||
btsdk "github.com/usual2970/certimate/internal/pkg/vendors/btpanel-sdk"
|
btsdk "github.com/usual2970/certimate/internal/pkg/vendors/btpanel-sdk"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -105,7 +105,7 @@ func (d *DeployerProvider) Deploy(ctx context.Context, certPem string, privkeyPe
|
|||||||
|
|
||||||
// 设置站点证书
|
// 设置站点证书
|
||||||
sslSetBatchCertToSiteReq := &btsdk.SSLSetBatchCertToSiteRequest{
|
sslSetBatchCertToSiteReq := &btsdk.SSLSetBatchCertToSiteRequest{
|
||||||
BatchInfo: slices.Map(d.config.SiteNames, func(siteName string) *btsdk.SSLSetBatchCertToSiteRequestBatchInfo {
|
BatchInfo: sliceutil.Map(d.config.SiteNames, func(siteName string) *btsdk.SSLSetBatchCertToSiteRequestBatchInfo {
|
||||||
return &btsdk.SSLSetBatchCertToSiteRequestBatchInfo{
|
return &btsdk.SSLSetBatchCertToSiteRequestBatchInfo{
|
||||||
SiteName: siteName,
|
SiteName: siteName,
|
||||||
SSLHash: sslCertSaveCertResp.SSLHash,
|
SSLHash: sslCertSaveCertResp.SSLHash,
|
||||||
|
@ -7,7 +7,7 @@ import (
|
|||||||
xerrors "github.com/pkg/errors"
|
xerrors "github.com/pkg/errors"
|
||||||
|
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/deployer"
|
"github.com/usual2970/certimate/internal/pkg/core/deployer"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/certs"
|
"github.com/usual2970/certimate/internal/pkg/utils/certutil"
|
||||||
edgsdk "github.com/usual2970/certimate/internal/pkg/vendors/edgio-sdk/applications/v7"
|
edgsdk "github.com/usual2970/certimate/internal/pkg/vendors/edgio-sdk/applications/v7"
|
||||||
edgsdkDtos "github.com/usual2970/certimate/internal/pkg/vendors/edgio-sdk/applications/v7/dtos"
|
edgsdkDtos "github.com/usual2970/certimate/internal/pkg/vendors/edgio-sdk/applications/v7/dtos"
|
||||||
)
|
)
|
||||||
@ -57,7 +57,7 @@ func (d *DeployerProvider) WithLogger(logger *slog.Logger) deployer.Deployer {
|
|||||||
|
|
||||||
func (d *DeployerProvider) Deploy(ctx context.Context, certPem string, privkeyPem string) (*deployer.DeployResult, error) {
|
func (d *DeployerProvider) Deploy(ctx context.Context, certPem string, privkeyPem string) (*deployer.DeployResult, error) {
|
||||||
// 提取 Edgio 所需的服务端证书和中间证书内容
|
// 提取 Edgio 所需的服务端证书和中间证书内容
|
||||||
privateCertPem, intermediateCertPem, err := certs.ExtractCertificatesFromPEM(certPem)
|
privateCertPem, intermediateCertPem, err := certutil.ExtractCertificatesFromPEM(certPem)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@ import (
|
|||||||
"github.com/usual2970/certimate/internal/pkg/core/deployer"
|
"github.com/usual2970/certimate/internal/pkg/core/deployer"
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
||||||
uploadersp "github.com/usual2970/certimate/internal/pkg/core/uploader/providers/jdcloud-ssl"
|
uploadersp "github.com/usual2970/certimate/internal/pkg/core/uploader/providers/jdcloud-ssl"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/slices"
|
"github.com/usual2970/certimate/internal/pkg/utils/sliceutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
type DeployerConfig struct {
|
type DeployerConfig struct {
|
||||||
@ -216,7 +216,7 @@ func (d *DeployerProvider) updateListenerCertificate(ctx context.Context, cloudL
|
|||||||
} else {
|
} else {
|
||||||
// 指定 SNI,需部署到扩展证书
|
// 指定 SNI,需部署到扩展证书
|
||||||
|
|
||||||
extCertSpecs := slices.Filter(describeListenerResp.Result.Listener.ExtensionCertificateSpecs, func(extCertSpec jdLbModel.ExtensionCertificateSpec) bool {
|
extCertSpecs := sliceutil.Filter(describeListenerResp.Result.Listener.ExtensionCertificateSpecs, func(extCertSpec jdLbModel.ExtensionCertificateSpec) bool {
|
||||||
return extCertSpec.Domain == d.config.Domain
|
return extCertSpec.Domain == d.config.Domain
|
||||||
})
|
})
|
||||||
if len(extCertSpecs) == 0 {
|
if len(extCertSpecs) == 0 {
|
||||||
@ -228,7 +228,7 @@ func (d *DeployerProvider) updateListenerCertificate(ctx context.Context, cloudL
|
|||||||
updateListenerCertificatesReq := jdLbApi.NewUpdateListenerCertificatesRequest(
|
updateListenerCertificatesReq := jdLbApi.NewUpdateListenerCertificatesRequest(
|
||||||
d.config.RegionId,
|
d.config.RegionId,
|
||||||
cloudListenerId,
|
cloudListenerId,
|
||||||
slices.Map(extCertSpecs, func(extCertSpec jdLbModel.ExtensionCertificateSpec) jdLbModel.ExtCertificateUpdateSpec {
|
sliceutil.Map(extCertSpecs, func(extCertSpec jdLbModel.ExtensionCertificateSpec) jdLbModel.ExtCertificateUpdateSpec {
|
||||||
return jdLbModel.ExtCertificateUpdateSpec{
|
return jdLbModel.ExtCertificateUpdateSpec{
|
||||||
CertificateBindId: extCertSpec.CertificateBindId,
|
CertificateBindId: extCertSpec.CertificateBindId,
|
||||||
CertificateId: &cloudCertId,
|
CertificateId: &cloudCertId,
|
||||||
|
@ -14,7 +14,7 @@ import (
|
|||||||
"k8s.io/client-go/tools/clientcmd"
|
"k8s.io/client-go/tools/clientcmd"
|
||||||
|
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/deployer"
|
"github.com/usual2970/certimate/internal/pkg/core/deployer"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/certs"
|
"github.com/usual2970/certimate/internal/pkg/utils/certutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
type DeployerConfig struct {
|
type DeployerConfig struct {
|
||||||
@ -76,7 +76,7 @@ func (d *DeployerProvider) Deploy(ctx context.Context, certPem string, privkeyPe
|
|||||||
return nil, errors.New("config `secretDataKeyForKey` is required")
|
return nil, errors.New("config `secretDataKeyForKey` is required")
|
||||||
}
|
}
|
||||||
|
|
||||||
certX509, err := certs.ParseCertificateFromPEM(certPem)
|
certX509, err := certutil.ParseCertificateFromPEM(certPem)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -11,8 +11,8 @@ import (
|
|||||||
xerrors "github.com/pkg/errors"
|
xerrors "github.com/pkg/errors"
|
||||||
|
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/deployer"
|
"github.com/usual2970/certimate/internal/pkg/core/deployer"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/certs"
|
"github.com/usual2970/certimate/internal/pkg/utils/certutil"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/files"
|
"github.com/usual2970/certimate/internal/pkg/utils/fileutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
type DeployerConfig struct {
|
type DeployerConfig struct {
|
||||||
@ -83,36 +83,36 @@ func (d *DeployerProvider) Deploy(ctx context.Context, certPem string, privkeyPe
|
|||||||
// 写入证书和私钥文件
|
// 写入证书和私钥文件
|
||||||
switch d.config.OutputFormat {
|
switch d.config.OutputFormat {
|
||||||
case OUTPUT_FORMAT_PEM:
|
case OUTPUT_FORMAT_PEM:
|
||||||
if err := files.WriteString(d.config.OutputCertPath, certPem); err != nil {
|
if err := fileutil.WriteString(d.config.OutputCertPath, certPem); err != nil {
|
||||||
return nil, xerrors.Wrap(err, "failed to save certificate file")
|
return nil, xerrors.Wrap(err, "failed to save certificate file")
|
||||||
}
|
}
|
||||||
d.logger.Info("ssl certificate file saved", slog.String("path", d.config.OutputCertPath))
|
d.logger.Info("ssl certificate file saved", slog.String("path", d.config.OutputCertPath))
|
||||||
|
|
||||||
if err := files.WriteString(d.config.OutputKeyPath, privkeyPem); err != nil {
|
if err := fileutil.WriteString(d.config.OutputKeyPath, privkeyPem); err != nil {
|
||||||
return nil, xerrors.Wrap(err, "failed to save private key file")
|
return nil, xerrors.Wrap(err, "failed to save private key file")
|
||||||
}
|
}
|
||||||
d.logger.Info("ssl private key file saved", slog.String("path", d.config.OutputKeyPath))
|
d.logger.Info("ssl private key file saved", slog.String("path", d.config.OutputKeyPath))
|
||||||
|
|
||||||
case OUTPUT_FORMAT_PFX:
|
case OUTPUT_FORMAT_PFX:
|
||||||
pfxData, err := certs.TransformCertificateFromPEMToPFX(certPem, privkeyPem, d.config.PfxPassword)
|
pfxData, err := certutil.TransformCertificateFromPEMToPFX(certPem, privkeyPem, d.config.PfxPassword)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, xerrors.Wrap(err, "failed to transform certificate to PFX")
|
return nil, xerrors.Wrap(err, "failed to transform certificate to PFX")
|
||||||
}
|
}
|
||||||
d.logger.Info("ssl certificate transformed to pfx")
|
d.logger.Info("ssl certificate transformed to pfx")
|
||||||
|
|
||||||
if err := files.Write(d.config.OutputCertPath, pfxData); err != nil {
|
if err := fileutil.Write(d.config.OutputCertPath, pfxData); err != nil {
|
||||||
return nil, xerrors.Wrap(err, "failed to save certificate file")
|
return nil, xerrors.Wrap(err, "failed to save certificate file")
|
||||||
}
|
}
|
||||||
d.logger.Info("ssl certificate file saved", slog.String("path", d.config.OutputCertPath))
|
d.logger.Info("ssl certificate file saved", slog.String("path", d.config.OutputCertPath))
|
||||||
|
|
||||||
case OUTPUT_FORMAT_JKS:
|
case OUTPUT_FORMAT_JKS:
|
||||||
jksData, err := certs.TransformCertificateFromPEMToJKS(certPem, privkeyPem, d.config.JksAlias, d.config.JksKeypass, d.config.JksStorepass)
|
jksData, err := certutil.TransformCertificateFromPEMToJKS(certPem, privkeyPem, d.config.JksAlias, d.config.JksKeypass, d.config.JksStorepass)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, xerrors.Wrap(err, "failed to transform certificate to JKS")
|
return nil, xerrors.Wrap(err, "failed to transform certificate to JKS")
|
||||||
}
|
}
|
||||||
d.logger.Info("ssl certificate transformed to jks")
|
d.logger.Info("ssl certificate transformed to jks")
|
||||||
|
|
||||||
if err := files.Write(d.config.OutputCertPath, jksData); err != nil {
|
if err := fileutil.Write(d.config.OutputCertPath, jksData); err != nil {
|
||||||
return nil, xerrors.Wrap(err, "failed to save certificate file")
|
return nil, xerrors.Wrap(err, "failed to save certificate file")
|
||||||
}
|
}
|
||||||
d.logger.Info("ssl certificate file saved", slog.String("path", d.config.OutputCertPath))
|
d.logger.Info("ssl certificate file saved", slog.String("path", d.config.OutputCertPath))
|
||||||
|
@ -14,7 +14,7 @@ import (
|
|||||||
"golang.org/x/crypto/ssh"
|
"golang.org/x/crypto/ssh"
|
||||||
|
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/deployer"
|
"github.com/usual2970/certimate/internal/pkg/core/deployer"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/certs"
|
"github.com/usual2970/certimate/internal/pkg/utils/certutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
type DeployerConfig struct {
|
type DeployerConfig struct {
|
||||||
@ -125,7 +125,7 @@ func (d *DeployerProvider) Deploy(ctx context.Context, certPem string, privkeyPe
|
|||||||
d.logger.Info("ssl private key file uploaded", slog.String("path", d.config.OutputKeyPath))
|
d.logger.Info("ssl private key file uploaded", slog.String("path", d.config.OutputKeyPath))
|
||||||
|
|
||||||
case OUTPUT_FORMAT_PFX:
|
case OUTPUT_FORMAT_PFX:
|
||||||
pfxData, err := certs.TransformCertificateFromPEMToPFX(certPem, privkeyPem, d.config.PfxPassword)
|
pfxData, err := certutil.TransformCertificateFromPEMToPFX(certPem, privkeyPem, d.config.PfxPassword)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, xerrors.Wrap(err, "failed to transform certificate to PFX")
|
return nil, xerrors.Wrap(err, "failed to transform certificate to PFX")
|
||||||
}
|
}
|
||||||
@ -137,7 +137,7 @@ func (d *DeployerProvider) Deploy(ctx context.Context, certPem string, privkeyPe
|
|||||||
d.logger.Info("ssl certificate file uploaded", slog.String("path", d.config.OutputCertPath))
|
d.logger.Info("ssl certificate file uploaded", slog.String("path", d.config.OutputCertPath))
|
||||||
|
|
||||||
case OUTPUT_FORMAT_JKS:
|
case OUTPUT_FORMAT_JKS:
|
||||||
jksData, err := certs.TransformCertificateFromPEMToJKS(certPem, privkeyPem, d.config.JksAlias, d.config.JksKeypass, d.config.JksStorepass)
|
jksData, err := certutil.TransformCertificateFromPEMToJKS(certPem, privkeyPem, d.config.JksAlias, d.config.JksKeypass, d.config.JksStorepass)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, xerrors.Wrap(err, "failed to transform certificate to JKS")
|
return nil, xerrors.Wrap(err, "failed to transform certificate to JKS")
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@ import (
|
|||||||
xerrors "github.com/pkg/errors"
|
xerrors "github.com/pkg/errors"
|
||||||
|
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/deployer"
|
"github.com/usual2970/certimate/internal/pkg/core/deployer"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/certs"
|
"github.com/usual2970/certimate/internal/pkg/utils/certutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
type DeployerConfig struct {
|
type DeployerConfig struct {
|
||||||
@ -62,7 +62,7 @@ func (d *DeployerProvider) WithLogger(logger *slog.Logger) deployer.Deployer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (d *DeployerProvider) Deploy(ctx context.Context, certPem string, privkeyPem string) (*deployer.DeployResult, error) {
|
func (d *DeployerProvider) Deploy(ctx context.Context, certPem string, privkeyPem string) (*deployer.DeployResult, error) {
|
||||||
certX509, err := certs.ParseCertificateFromPEM(certPem)
|
certX509, err := certutil.ParseCertificateFromPEM(certPem)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, xerrors.Wrap(err, "failed to parse x509")
|
return nil, xerrors.Wrap(err, "failed to parse x509")
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,7 @@ import (
|
|||||||
xerrors "github.com/pkg/errors"
|
xerrors "github.com/pkg/errors"
|
||||||
|
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/certs"
|
"github.com/usual2970/certimate/internal/pkg/utils/certutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
type UploaderConfig struct {
|
type UploaderConfig struct {
|
||||||
@ -61,7 +61,7 @@ func (u *UploaderProvider) WithLogger(logger *slog.Logger) uploader.Uploader {
|
|||||||
|
|
||||||
func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) {
|
func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) {
|
||||||
// 解析证书内容
|
// 解析证书内容
|
||||||
certX509, err := certs.ParseCertificateFromPEM(certPem)
|
certX509, err := certutil.ParseCertificateFromPEM(certPem)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -99,12 +99,12 @@ func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPe
|
|||||||
if *getUserCertificateDetailResp.Body.Cert == certPem {
|
if *getUserCertificateDetailResp.Body.Cert == certPem {
|
||||||
isSameCert = true
|
isSameCert = true
|
||||||
} else {
|
} else {
|
||||||
oldCertX509, err := certs.ParseCertificateFromPEM(*getUserCertificateDetailResp.Body.Cert)
|
oldCertX509, err := certutil.ParseCertificateFromPEM(*getUserCertificateDetailResp.Body.Cert)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
isSameCert = certs.EqualCertificate(certX509, oldCertX509)
|
isSameCert = certutil.EqualCertificate(certX509, oldCertX509)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 如果已存在相同证书,直接返回
|
// 如果已存在相同证书,直接返回
|
||||||
|
@ -16,7 +16,7 @@ import (
|
|||||||
xerrors "github.com/pkg/errors"
|
xerrors "github.com/pkg/errors"
|
||||||
|
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/certs"
|
"github.com/usual2970/certimate/internal/pkg/utils/certutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
type UploaderConfig struct {
|
type UploaderConfig struct {
|
||||||
@ -64,7 +64,7 @@ func (u *UploaderProvider) WithLogger(logger *slog.Logger) uploader.Uploader {
|
|||||||
|
|
||||||
func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) {
|
func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) {
|
||||||
// 解析证书内容
|
// 解析证书内容
|
||||||
certX509, err := certs.ParseCertificateFromPEM(certPem)
|
certX509, err := certutil.ParseCertificateFromPEM(certPem)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@ import (
|
|||||||
"golang.org/x/exp/slices"
|
"golang.org/x/exp/slices"
|
||||||
|
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/certs"
|
"github.com/usual2970/certimate/internal/pkg/utils/certutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
type UploaderConfig struct {
|
type UploaderConfig struct {
|
||||||
@ -60,13 +60,13 @@ func (u *UploaderProvider) WithLogger(logger *slog.Logger) uploader.Uploader {
|
|||||||
|
|
||||||
func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) {
|
func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) {
|
||||||
// 解析证书内容
|
// 解析证书内容
|
||||||
certX509, err := certs.ParseCertificateFromPEM(certPem)
|
certX509, err := certutil.ParseCertificateFromPEM(certPem)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// 生成 AWS 业务参数
|
// 生成 AWS 业务参数
|
||||||
scertPem, _ := certs.ConvertCertificateToPEM(certX509)
|
scertPem, _ := certutil.ConvertCertificateToPEM(certX509)
|
||||||
bcertPem := certPem
|
bcertPem := certPem
|
||||||
|
|
||||||
// 获取证书列表,避免重复上传
|
// 获取证书列表,避免重复上传
|
||||||
@ -112,12 +112,12 @@ func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPe
|
|||||||
oldCertPem = aws.ToString(getCertificateResp.Certificate)
|
oldCertPem = aws.ToString(getCertificateResp.Certificate)
|
||||||
}
|
}
|
||||||
|
|
||||||
oldCertX509, err := certs.ParseCertificateFromPEM(oldCertPem)
|
oldCertX509, err := certutil.ParseCertificateFromPEM(oldCertPem)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
if !certs.EqualCertificate(certX509, oldCertX509) {
|
if !certutil.EqualCertificate(certX509, oldCertX509) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,7 @@ import (
|
|||||||
xerrors "github.com/pkg/errors"
|
xerrors "github.com/pkg/errors"
|
||||||
|
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/certs"
|
"github.com/usual2970/certimate/internal/pkg/utils/certutil"
|
||||||
azcommon "github.com/usual2970/certimate/internal/pkg/vendors/azure-sdk/common"
|
azcommon "github.com/usual2970/certimate/internal/pkg/vendors/azure-sdk/common"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -67,7 +67,7 @@ func (u *UploaderProvider) WithLogger(logger *slog.Logger) uploader.Uploader {
|
|||||||
|
|
||||||
func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) {
|
func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) {
|
||||||
// 解析证书内容
|
// 解析证书内容
|
||||||
certX509, err := certs.ParseCertificateFromPEM(certPem)
|
certX509, err := certutil.ParseCertificateFromPEM(certPem)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -124,7 +124,7 @@ func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPe
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
if !certs.EqualCertificate(certX509, oldCertX509) {
|
if !certutil.EqualCertificate(certX509, oldCertX509) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,7 @@ import (
|
|||||||
xerrors "github.com/pkg/errors"
|
xerrors "github.com/pkg/errors"
|
||||||
|
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/certs"
|
"github.com/usual2970/certimate/internal/pkg/utils/certutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
type UploaderConfig struct {
|
type UploaderConfig struct {
|
||||||
@ -59,7 +59,7 @@ func (u *UploaderProvider) WithLogger(logger *slog.Logger) uploader.Uploader {
|
|||||||
|
|
||||||
func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) {
|
func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) {
|
||||||
// 解析证书内容
|
// 解析证书内容
|
||||||
certX509, err := certs.ParseCertificateFromPEM(certPem)
|
certX509, err := certutil.ParseCertificateFromPEM(certPem)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@ import (
|
|||||||
xerrors "github.com/pkg/errors"
|
xerrors "github.com/pkg/errors"
|
||||||
|
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/certs"
|
"github.com/usual2970/certimate/internal/pkg/utils/certutil"
|
||||||
hwsdk "github.com/usual2970/certimate/internal/pkg/vendors/huaweicloud-sdk"
|
hwsdk "github.com/usual2970/certimate/internal/pkg/vendors/huaweicloud-sdk"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -67,7 +67,7 @@ func (u *UploaderProvider) WithLogger(logger *slog.Logger) uploader.Uploader {
|
|||||||
|
|
||||||
func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) {
|
func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) {
|
||||||
// 解析证书内容
|
// 解析证书内容
|
||||||
certX509, err := certs.ParseCertificateFromPEM(certPem)
|
certX509, err := certutil.ParseCertificateFromPEM(certPem)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -94,12 +94,12 @@ func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPe
|
|||||||
if certDetail.Certificate == certPem {
|
if certDetail.Certificate == certPem {
|
||||||
isSameCert = true
|
isSameCert = true
|
||||||
} else {
|
} else {
|
||||||
oldCertX509, err := certs.ParseCertificateFromPEM(certDetail.Certificate)
|
oldCertX509, err := certutil.ParseCertificateFromPEM(certDetail.Certificate)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
isSameCert = certs.EqualCertificate(certX509, oldCertX509)
|
isSameCert = certutil.EqualCertificate(certX509, oldCertX509)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 如果已存在相同证书,直接返回
|
// 如果已存在相同证书,直接返回
|
||||||
|
@ -13,7 +13,7 @@ import (
|
|||||||
xerrors "github.com/pkg/errors"
|
xerrors "github.com/pkg/errors"
|
||||||
|
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/certs"
|
"github.com/usual2970/certimate/internal/pkg/utils/certutil"
|
||||||
hwsdk "github.com/usual2970/certimate/internal/pkg/vendors/huaweicloud-sdk"
|
hwsdk "github.com/usual2970/certimate/internal/pkg/vendors/huaweicloud-sdk"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -62,7 +62,7 @@ func (u *UploaderProvider) WithLogger(logger *slog.Logger) uploader.Uploader {
|
|||||||
|
|
||||||
func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) {
|
func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) {
|
||||||
// 解析证书内容
|
// 解析证书内容
|
||||||
certX509, err := certs.ParseCertificateFromPEM(certPem)
|
certX509, err := certutil.ParseCertificateFromPEM(certPem)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -103,12 +103,12 @@ func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPe
|
|||||||
if *exportCertificateResp.Certificate == certPem {
|
if *exportCertificateResp.Certificate == certPem {
|
||||||
isSameCert = true
|
isSameCert = true
|
||||||
} else {
|
} else {
|
||||||
oldCertX509, err := certs.ParseCertificateFromPEM(*exportCertificateResp.Certificate)
|
oldCertX509, err := certutil.ParseCertificateFromPEM(*exportCertificateResp.Certificate)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
isSameCert = certs.EqualCertificate(certX509, oldCertX509)
|
isSameCert = certutil.EqualCertificate(certX509, oldCertX509)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 如果已存在相同证书,直接返回
|
// 如果已存在相同证书,直接返回
|
||||||
|
@ -18,7 +18,7 @@ import (
|
|||||||
xerrors "github.com/pkg/errors"
|
xerrors "github.com/pkg/errors"
|
||||||
|
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/certs"
|
"github.com/usual2970/certimate/internal/pkg/utils/certutil"
|
||||||
hwsdk "github.com/usual2970/certimate/internal/pkg/vendors/huaweicloud-sdk"
|
hwsdk "github.com/usual2970/certimate/internal/pkg/vendors/huaweicloud-sdk"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -67,7 +67,7 @@ func (u *UploaderProvider) WithLogger(logger *slog.Logger) uploader.Uploader {
|
|||||||
|
|
||||||
func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) {
|
func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) {
|
||||||
// 解析证书内容
|
// 解析证书内容
|
||||||
certX509, err := certs.ParseCertificateFromPEM(certPem)
|
certX509, err := certutil.ParseCertificateFromPEM(certPem)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -103,12 +103,12 @@ func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPe
|
|||||||
if *showCertificateResp.Content == certPem {
|
if *showCertificateResp.Content == certPem {
|
||||||
isSameCert = true
|
isSameCert = true
|
||||||
} else {
|
} else {
|
||||||
oldCertX509, err := certs.ParseCertificateFromPEM(*showCertificateResp.Content)
|
oldCertX509, err := certutil.ParseCertificateFromPEM(*showCertificateResp.Content)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
isSameCert = certs.EqualCertificate(certX509, oldCertX509)
|
isSameCert = certutil.EqualCertificate(certX509, oldCertX509)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 如果已存在相同证书,直接返回
|
// 如果已存在相同证书,直接返回
|
||||||
|
@ -16,7 +16,7 @@ import (
|
|||||||
"golang.org/x/exp/slices"
|
"golang.org/x/exp/slices"
|
||||||
|
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/certs"
|
"github.com/usual2970/certimate/internal/pkg/utils/certutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
type UploaderConfig struct {
|
type UploaderConfig struct {
|
||||||
@ -62,7 +62,7 @@ func (u *UploaderProvider) WithLogger(logger *slog.Logger) uploader.Uploader {
|
|||||||
|
|
||||||
func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) {
|
func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) {
|
||||||
// 解析证书内容
|
// 解析证书内容
|
||||||
certX509, err := certs.ParseCertificateFromPEM(certPem)
|
certX509, err := certutil.ParseCertificateFromPEM(certPem)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@ import (
|
|||||||
"github.com/qiniu/go-sdk/v7/auth"
|
"github.com/qiniu/go-sdk/v7/auth"
|
||||||
|
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/certs"
|
"github.com/usual2970/certimate/internal/pkg/utils/certutil"
|
||||||
qiniusdk "github.com/usual2970/certimate/internal/pkg/vendors/qiniu-sdk"
|
qiniusdk "github.com/usual2970/certimate/internal/pkg/vendors/qiniu-sdk"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -57,7 +57,7 @@ func (u *UploaderProvider) WithLogger(logger *slog.Logger) uploader.Uploader {
|
|||||||
|
|
||||||
func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) {
|
func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) {
|
||||||
// 解析证书内容
|
// 解析证书内容
|
||||||
certX509, err := certs.ParseCertificateFromPEM(certPem)
|
certX509, err := certutil.ParseCertificateFromPEM(certPem)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@ import (
|
|||||||
ucloudauth "github.com/ucloud/ucloud-sdk-go/ucloud/auth"
|
ucloudauth "github.com/ucloud/ucloud-sdk-go/ucloud/auth"
|
||||||
|
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/certs"
|
"github.com/usual2970/certimate/internal/pkg/utils/certutil"
|
||||||
usslsdk "github.com/usual2970/certimate/internal/pkg/vendors/ucloud-sdk/ussl"
|
usslsdk "github.com/usual2970/certimate/internal/pkg/vendors/ucloud-sdk/ussl"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -114,7 +114,7 @@ func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPe
|
|||||||
|
|
||||||
func (u *UploaderProvider) getExistCert(ctx context.Context, certPem string) (res *uploader.UploadResult, err error) {
|
func (u *UploaderProvider) getExistCert(ctx context.Context, certPem string) (res *uploader.UploadResult, err error) {
|
||||||
// 解析证书内容
|
// 解析证书内容
|
||||||
certX509, err := certs.ParseCertificateFromPEM(certPem)
|
certX509, err := certutil.ParseCertificateFromPEM(certPem)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
ve "github.com/volcengine/volcengine-go-sdk/volcengine"
|
ve "github.com/volcengine/volcengine-go-sdk/volcengine"
|
||||||
|
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/certs"
|
"github.com/usual2970/certimate/internal/pkg/utils/certutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
type UploaderConfig struct {
|
type UploaderConfig struct {
|
||||||
@ -60,7 +60,7 @@ func (u *UploaderProvider) WithLogger(logger *slog.Logger) uploader.Uploader {
|
|||||||
|
|
||||||
func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) {
|
func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) {
|
||||||
// 解析证书内容
|
// 解析证书内容
|
||||||
certX509, err := certs.ParseCertificateFromPEM(certPem)
|
certX509, err := certutil.ParseCertificateFromPEM(certPem)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@ import (
|
|||||||
ve "github.com/volcengine/volcengine-go-sdk/volcengine"
|
ve "github.com/volcengine/volcengine-go-sdk/volcengine"
|
||||||
|
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/certs"
|
"github.com/usual2970/certimate/internal/pkg/utils/certutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
type UploaderConfig struct {
|
type UploaderConfig struct {
|
||||||
@ -57,7 +57,7 @@ func (u *UploaderProvider) WithLogger(logger *slog.Logger) uploader.Uploader {
|
|||||||
|
|
||||||
func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) {
|
func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) {
|
||||||
// 解析证书内容
|
// 解析证书内容
|
||||||
certX509, err := certs.ParseCertificateFromPEM(certPem)
|
certX509, err := certutil.ParseCertificateFromPEM(certPem)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -88,12 +88,12 @@ func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPe
|
|||||||
if certificate == certPem {
|
if certificate == certPem {
|
||||||
isSameCert = true
|
isSameCert = true
|
||||||
} else {
|
} else {
|
||||||
oldCertX509, err := certs.ParseCertificateFromPEM(certificate)
|
oldCertX509, err := certutil.ParseCertificateFromPEM(certificate)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
isSameCert = certs.EqualCertificate(certX509, oldCertX509)
|
isSameCert = certutil.EqualCertificate(certX509, oldCertX509)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 如果已存在相同证书,直接返回
|
// 如果已存在相同证书,直接返回
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package certs
|
package certutil
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"crypto/x509"
|
"crypto/x509"
|
@ -1,4 +1,4 @@
|
|||||||
package certs
|
package certutil
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"crypto/ecdsa"
|
"crypto/ecdsa"
|
@ -1,4 +1,4 @@
|
|||||||
package certs
|
package certutil
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/pem"
|
"encoding/pem"
|
@ -1,4 +1,4 @@
|
|||||||
package certs
|
package certutil
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"crypto"
|
"crypto"
|
@ -1,4 +1,4 @@
|
|||||||
package certs
|
package certutil
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
@ -1,4 +1,4 @@
|
|||||||
package files
|
package fileutil
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"os"
|
"os"
|
@ -1,9 +1,7 @@
|
|||||||
package maps
|
package maputil
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
mapstructure "github.com/go-viper/mapstructure/v2"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// 以字符串形式从字典中获取指定键的值。
|
// 以字符串形式从字典中获取指定键的值。
|
||||||
@ -14,8 +12,8 @@ import (
|
|||||||
//
|
//
|
||||||
// 出参:
|
// 出参:
|
||||||
// - 字典中键对应的值。如果指定键不存在或者值的类型不是字符串,则返回空字符串。
|
// - 字典中键对应的值。如果指定键不存在或者值的类型不是字符串,则返回空字符串。
|
||||||
func GetValueAsString(dict map[string]any, key string) string {
|
func GetString(dict map[string]any, key string) string {
|
||||||
return GetValueOrDefaultAsString(dict, key, "")
|
return GetOrDefaultString(dict, key, "")
|
||||||
}
|
}
|
||||||
|
|
||||||
// 以字符串形式从字典中获取指定键的值。
|
// 以字符串形式从字典中获取指定键的值。
|
||||||
@ -27,7 +25,7 @@ func GetValueAsString(dict map[string]any, key string) string {
|
|||||||
//
|
//
|
||||||
// 出参:
|
// 出参:
|
||||||
// - 字典中键对应的值。如果指定键不存在、值的类型不是字符串或者值为零值,则返回默认值。
|
// - 字典中键对应的值。如果指定键不存在、值的类型不是字符串或者值为零值,则返回默认值。
|
||||||
func GetValueOrDefaultAsString(dict map[string]any, key string, defaultValue string) string {
|
func GetOrDefaultString(dict map[string]any, key string, defaultValue string) string {
|
||||||
if dict == nil {
|
if dict == nil {
|
||||||
return defaultValue
|
return defaultValue
|
||||||
}
|
}
|
||||||
@ -51,8 +49,8 @@ func GetValueOrDefaultAsString(dict map[string]any, key string, defaultValue str
|
|||||||
//
|
//
|
||||||
// 出参:
|
// 出参:
|
||||||
// - 字典中键对应的值。如果指定键不存在或者值的类型不是 32 位整数,则返回 0。
|
// - 字典中键对应的值。如果指定键不存在或者值的类型不是 32 位整数,则返回 0。
|
||||||
func GetValueAsInt32(dict map[string]any, key string) int32 {
|
func GetInt32(dict map[string]any, key string) int32 {
|
||||||
return GetValueOrDefaultAsInt32(dict, key, 0)
|
return GetOrDefaultInt32(dict, key, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 以 32 位整数形式从字典中获取指定键的值。
|
// 以 32 位整数形式从字典中获取指定键的值。
|
||||||
@ -64,7 +62,7 @@ func GetValueAsInt32(dict map[string]any, key string) int32 {
|
|||||||
//
|
//
|
||||||
// 出参:
|
// 出参:
|
||||||
// - 字典中键对应的值。如果指定键不存在、值的类型不是 32 位整数或者值为零值,则返回默认值。
|
// - 字典中键对应的值。如果指定键不存在、值的类型不是 32 位整数或者值为零值,则返回默认值。
|
||||||
func GetValueOrDefaultAsInt32(dict map[string]any, key string, defaultValue int32) int32 {
|
func GetOrDefaultInt32(dict map[string]any, key string, defaultValue int32) int32 {
|
||||||
if dict == nil {
|
if dict == nil {
|
||||||
return defaultValue
|
return defaultValue
|
||||||
}
|
}
|
||||||
@ -97,8 +95,8 @@ func GetValueOrDefaultAsInt32(dict map[string]any, key string, defaultValue int3
|
|||||||
//
|
//
|
||||||
// 出参:
|
// 出参:
|
||||||
// - 字典中键对应的值。如果指定键不存在或者值的类型不是 64 位整数,则返回 0。
|
// - 字典中键对应的值。如果指定键不存在或者值的类型不是 64 位整数,则返回 0。
|
||||||
func GetValueAsInt64(dict map[string]any, key string) int64 {
|
func GetInt64(dict map[string]any, key string) int64 {
|
||||||
return GetValueOrDefaultAsInt64(dict, key, 0)
|
return GetOrDefaultInt64(dict, key, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 以 64 位整数形式从字典中获取指定键的值。
|
// 以 64 位整数形式从字典中获取指定键的值。
|
||||||
@ -110,7 +108,7 @@ func GetValueAsInt64(dict map[string]any, key string) int64 {
|
|||||||
//
|
//
|
||||||
// 出参:
|
// 出参:
|
||||||
// - 字典中键对应的值。如果指定键不存在、值的类型不是 64 位整数或者值为零值,则返回默认值。
|
// - 字典中键对应的值。如果指定键不存在、值的类型不是 64 位整数或者值为零值,则返回默认值。
|
||||||
func GetValueOrDefaultAsInt64(dict map[string]any, key string, defaultValue int64) int64 {
|
func GetOrDefaultInt64(dict map[string]any, key string, defaultValue int64) int64 {
|
||||||
if dict == nil {
|
if dict == nil {
|
||||||
return defaultValue
|
return defaultValue
|
||||||
}
|
}
|
||||||
@ -149,8 +147,8 @@ func GetValueOrDefaultAsInt64(dict map[string]any, key string, defaultValue int6
|
|||||||
//
|
//
|
||||||
// 出参:
|
// 出参:
|
||||||
// - 字典中键对应的值。如果指定键不存在或者值的类型不是布尔,则返回 false。
|
// - 字典中键对应的值。如果指定键不存在或者值的类型不是布尔,则返回 false。
|
||||||
func GetValueAsBool(dict map[string]any, key string) bool {
|
func GetBool(dict map[string]any, key string) bool {
|
||||||
return GetValueOrDefaultAsBool(dict, key, false)
|
return GetOrDefaultBool(dict, key, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 以布尔形式从字典中获取指定键的值。
|
// 以布尔形式从字典中获取指定键的值。
|
||||||
@ -162,7 +160,7 @@ func GetValueAsBool(dict map[string]any, key string) bool {
|
|||||||
//
|
//
|
||||||
// 出参:
|
// 出参:
|
||||||
// - 字典中键对应的值。如果指定键不存在或者值的类型不是布尔,则返回默认值。
|
// - 字典中键对应的值。如果指定键不存在或者值的类型不是布尔,则返回默认值。
|
||||||
func GetValueOrDefaultAsBool(dict map[string]any, key string, defaultValue bool) bool {
|
func GetOrDefaultBool(dict map[string]any, key string, defaultValue bool) bool {
|
||||||
if dict == nil {
|
if dict == nil {
|
||||||
return defaultValue
|
return defaultValue
|
||||||
}
|
}
|
||||||
@ -182,28 +180,3 @@ func GetValueOrDefaultAsBool(dict map[string]any, key string, defaultValue bool)
|
|||||||
|
|
||||||
return defaultValue
|
return defaultValue
|
||||||
}
|
}
|
||||||
|
|
||||||
// 将字典填充到指定类型的结构体。
|
|
||||||
// 与 [json.Unmarshal] 类似,但传入的是一个 [map[string]any] 对象而非 JSON 格式的字符串。
|
|
||||||
//
|
|
||||||
// 入参:
|
|
||||||
// - dict: 字典。
|
|
||||||
// - output: 结构体指针。
|
|
||||||
//
|
|
||||||
// 出参:
|
|
||||||
// - 错误信息。如果填充失败,则返回错误信息。
|
|
||||||
func Populate(dict map[string]any, output any) error {
|
|
||||||
config := &mapstructure.DecoderConfig{
|
|
||||||
Metadata: nil,
|
|
||||||
Result: output,
|
|
||||||
WeaklyTypedInput: true,
|
|
||||||
TagName: "json",
|
|
||||||
}
|
|
||||||
|
|
||||||
decoder, err := mapstructure.NewDecoder(config)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
return decoder.Decode(dict)
|
|
||||||
}
|
|
30
internal/pkg/utils/maputil/marshal.go
Normal file
30
internal/pkg/utils/maputil/marshal.go
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
package maputil
|
||||||
|
|
||||||
|
import (
|
||||||
|
mapstructure "github.com/go-viper/mapstructure/v2"
|
||||||
|
)
|
||||||
|
|
||||||
|
// 将字典填充到指定类型的结构体。
|
||||||
|
// 与 [json.Unmarshal] 类似,但传入的是一个 [map[string]any] 对象而非 JSON 格式的字符串。
|
||||||
|
//
|
||||||
|
// 入参:
|
||||||
|
// - dict: 字典。
|
||||||
|
// - output: 结构体指针。
|
||||||
|
//
|
||||||
|
// 出参:
|
||||||
|
// - 错误信息。如果填充失败,则返回错误信息。
|
||||||
|
func Populate(dict map[string]any, output any) error {
|
||||||
|
config := &mapstructure.DecoderConfig{
|
||||||
|
Metadata: nil,
|
||||||
|
Result: output,
|
||||||
|
WeaklyTypedInput: true,
|
||||||
|
TagName: "json",
|
||||||
|
}
|
||||||
|
|
||||||
|
decoder, err := mapstructure.NewDecoder(config)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return decoder.Decode(dict)
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package slices
|
package sliceutil
|
||||||
|
|
||||||
// 创建给定切片一部分的浅拷贝,其包含通过所提供函数实现的测试的所有元素。
|
// 创建给定切片一部分的浅拷贝,其包含通过所提供函数实现的测试的所有元素。
|
||||||
//
|
//
|
@ -1,4 +1,4 @@
|
|||||||
package types
|
package typeutil
|
||||||
|
|
||||||
import "reflect"
|
import "reflect"
|
||||||
|
|
@ -11,7 +11,7 @@ import (
|
|||||||
|
|
||||||
"github.com/usual2970/certimate/internal/app"
|
"github.com/usual2970/certimate/internal/app"
|
||||||
"github.com/usual2970/certimate/internal/domain"
|
"github.com/usual2970/certimate/internal/domain"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/slices"
|
"github.com/usual2970/certimate/internal/pkg/utils/sliceutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
var maxWorkers = 16
|
var maxWorkers = 16
|
||||||
@ -118,7 +118,7 @@ func (d *WorkflowDispatcher) Cancel(runId string) {
|
|||||||
|
|
||||||
// 移除排队中的 WorkflowRun
|
// 移除排队中的 WorkflowRun
|
||||||
d.queueMutex.Lock()
|
d.queueMutex.Lock()
|
||||||
d.queue = slices.Filter(d.queue, func(d *WorkflowWorkerData) bool {
|
d.queue = sliceutil.Filter(d.queue, func(d *WorkflowWorkerData) bool {
|
||||||
return d.RunId != runId
|
return d.RunId != runId
|
||||||
})
|
})
|
||||||
d.queueMutex.Unlock()
|
d.queueMutex.Unlock()
|
||||||
|
@ -9,7 +9,7 @@ import (
|
|||||||
|
|
||||||
"github.com/usual2970/certimate/internal/applicant"
|
"github.com/usual2970/certimate/internal/applicant"
|
||||||
"github.com/usual2970/certimate/internal/domain"
|
"github.com/usual2970/certimate/internal/domain"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/certs"
|
"github.com/usual2970/certimate/internal/pkg/utils/certutil"
|
||||||
"github.com/usual2970/certimate/internal/repository"
|
"github.com/usual2970/certimate/internal/repository"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -63,7 +63,7 @@ func (n *applyNode) Process(ctx context.Context) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 解析证书并生成实体
|
// 解析证书并生成实体
|
||||||
certX509, err := certs.ParseCertificateFromPEM(applyResult.CertificateFullChain)
|
certX509, err := certutil.ParseCertificateFromPEM(applyResult.CertificateFullChain)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
n.logger.Warn("failed to parse certificate, may be the CA responded error")
|
n.logger.Warn("failed to parse certificate, may be the CA responded error")
|
||||||
return err
|
return err
|
||||||
|
@ -7,8 +7,7 @@ import (
|
|||||||
|
|
||||||
"github.com/pocketbase/pocketbase/core"
|
"github.com/pocketbase/pocketbase/core"
|
||||||
m "github.com/pocketbase/pocketbase/migrations"
|
m "github.com/pocketbase/pocketbase/migrations"
|
||||||
|
"github.com/usual2970/certimate/internal/pkg/utils/certutil"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/certs"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
@ -1754,21 +1753,21 @@ func init() {
|
|||||||
case "certificate":
|
case "certificate":
|
||||||
{
|
{
|
||||||
if record.GetString("issuer") == "" {
|
if record.GetString("issuer") == "" {
|
||||||
cert, _ := certs.ParseCertificateFromPEM(record.GetString("certificate"))
|
cert, _ := certutil.ParseCertificateFromPEM(record.GetString("certificate"))
|
||||||
if cert != nil {
|
if cert != nil {
|
||||||
record.Set("issuer", strings.Join(cert.Issuer.Organization, ";"))
|
record.Set("issuer", strings.Join(cert.Issuer.Organization, ";"))
|
||||||
changed = true
|
changed = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if record.GetString("serialNumber") == "" {
|
if record.GetString("serialNumber") == "" {
|
||||||
cert, _ := certs.ParseCertificateFromPEM(record.GetString("certificate"))
|
cert, _ := certutil.ParseCertificateFromPEM(record.GetString("certificate"))
|
||||||
if cert != nil {
|
if cert != nil {
|
||||||
record.Set("serialNumber", strings.ToUpper(cert.SerialNumber.Text(16)))
|
record.Set("serialNumber", strings.ToUpper(cert.SerialNumber.Text(16)))
|
||||||
changed = true
|
changed = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if record.GetString("keyAlgorithm") == "" {
|
if record.GetString("keyAlgorithm") == "" {
|
||||||
cert, _ := certs.ParseCertificateFromPEM(record.GetString("certificate"))
|
cert, _ := certutil.ParseCertificateFromPEM(record.GetString("certificate"))
|
||||||
if cert != nil {
|
if cert != nil {
|
||||||
switch cert.SignatureAlgorithm {
|
switch cert.SignatureAlgorithm {
|
||||||
case x509.SHA256WithRSA, x509.SHA256WithRSAPSS:
|
case x509.SHA256WithRSA, x509.SHA256WithRSAPSS:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user