【调整】插件支持动态参数和参数类型

【调整】获取证书列表支持状态过滤
【新增】dns提供商腾讯云eo
This commit is contained in:
v-me-50
2025-12-17 15:07:12 +08:00
parent d01b42139c
commit a027bde148
29 changed files with 1318 additions and 892 deletions

View File

@@ -0,0 +1,62 @@
package osswrap
import (
"fmt"
"github.com/aliyun/aliyun-oss-go-sdk/oss"
)
func createClient(accessKeyId, accessKeySecret, region string) (*oss.Client, error) {
var endpoint string
switch region {
case "":
endpoint = "oss.aliyuncs.com"
case "cn-hzjbp", "cn-hzjbp-a", "cn-hzjbp-b":
endpoint = "oss-cn-hzjbp-a-internal.aliyuncs.com"
case "cn-shanghai-finance-1", "cn-shenzhen-finance-1", "cn-beijing-finance-1", "cn-north-2-gov-1":
endpoint = fmt.Sprintf("oss-%s-internal.aliyuncs.com", region)
default:
endpoint = fmt.Sprintf("oss-%s.aliyuncs.com", region)
}
return oss.New(endpoint, accessKeyId, accessKeySecret)
}
func Deploy(cfg map[string]any) error {
certPEM, ok := cfg["cert"].(string)
if !ok || certPEM == "" {
return fmt.Errorf("证书错误cert")
}
keyPEM, ok := cfg["key"].(string)
if !ok || keyPEM == "" {
return fmt.Errorf("证书错误key")
}
accessKey, ok := cfg["access_key_id"].(string)
if !ok || accessKey == "" {
return fmt.Errorf("参数错误access_key_id")
}
accessSecret, ok := cfg["access_key_secret"].(string)
if !ok || accessSecret == "" {
return fmt.Errorf("参数错误access_key_secret")
}
region, ok := cfg["region"].(string)
if !ok || region == "" {
return fmt.Errorf("参数错误region")
}
bucket, ok := cfg["bucket"].(string)
if !ok || bucket == "" {
return fmt.Errorf("参数错误bucket")
}
domain, ok := cfg["domain"].(string)
if !ok || domain == "" {
return fmt.Errorf("参数错误domain")
}
client, err := createClient(accessKey, accessSecret, region)
if err != nil {
return err
}
putReq := oss.PutBucketCname{
Cname: domain,
CertificateConfiguration: &oss.CertificateConfiguration{Certificate: certPEM, PrivateKey: keyPEM, Force: true},
}
return client.PutBucketCnameWithCertificate(bucket, putReq)
}