【新增】【部署】新增火山引擎DCDN

This commit is contained in:
wantoper
2025-05-30 11:28:33 +08:00
parent c3a38aa008
commit 414321e3cf
7 changed files with 157 additions and 1 deletions

View File

@@ -73,3 +73,70 @@ func DeployVolcEngineCdn(cfg map[string]any) error {
}
return nil
}
func DeployVolcEngineDCdn(cfg map[string]any) error {
cert, ok := cfg["certificate"].(map[string]any)
if !ok {
return fmt.Errorf("证书不存在")
}
var providerID string
switch v := cfg["provider_id"].(type) {
case float64:
providerID = strconv.Itoa(int(v))
case string:
providerID = v
default:
return fmt.Errorf("参数错误provider_id")
}
region, ok := cfg["region"].(string)
if !ok {
return fmt.Errorf("参数错误region")
}
providerData, err := access.GetAccess(providerID)
if err != nil {
return err
}
providerConfigStr, ok := providerData["config"].(string)
if !ok {
return fmt.Errorf("api配置错误")
}
// 解析 JSON 配置
var providerConfig map[string]string
err = json.Unmarshal([]byte(providerConfigStr), &providerConfig)
if err != nil {
return err
}
cdnClient, err := volccdn.ClientVolcEngineCdn(providerConfig["access_key"], providerConfig["secret_key"], region)
dcdnDlient, err := volccdn.ClientVolcEngineDcdn(providerConfig["access_key"], providerConfig["secret_key"], region)
if err != nil {
return err
}
domain, ok := cfg["domain"].(string)
if !ok {
return fmt.Errorf("参数错误domain")
}
// 设置证书
keyPem, ok := cert["key"].(string)
if !ok {
return fmt.Errorf("证书错误key")
}
certPem, ok := cert["cert"].(string)
if !ok {
return fmt.Errorf("证书错误cert")
}
certId, err := cdnClient.IUploadCert(certPem, keyPem)
if err != nil {
return fmt.Errorf("上传证书失败: %w", err)
}
err = dcdnDlient.IDCDNCreateCertBindInput(certId, domain)
if err != nil {
return fmt.Errorf("部署证书失败: %w", err)
}
if err != nil {
return err
}
return nil
}