allinssl/backend/internal/cert/deploy/deploy.go

62 lines
1.7 KiB
Go

package deploy
import (
"ALLinSSL/backend/public"
"fmt"
)
func Deploy(cfg map[string]any, logger *public.Logger) error {
providerName, ok := cfg["provider"].(string)
if !ok {
return fmt.Errorf("provider is not string")
}
switch providerName {
case "btpanel":
logger.Debug("部署到宝塔面板...")
return DeployBt(cfg)
case "btpanel-site":
logger.Debug("部署到宝塔面板网站...")
return DeployBtSite(cfg)
case "btpanel-dockersite":
logger.Debug("部署到宝塔Docker面板网站...")
return DeployBtDockerSite(cfg)
case "btwaf-site":
logger.Debug("部署到宝塔WAF面板网站...")
return DeployBtWafSite(cfg)
case "tencentcloud-cdn":
cfg["resource_type"] = "cdn"
logger.Debug("部署到腾讯云CDN...")
return DeployToTX(cfg)
case "tencentcloud-cos":
cfg["resource_type"] = "cos"
logger.Debug("部署到腾讯云COS...")
return DeployToTX(cfg)
case "1panel":
logger.Debug("部署到1Panel...")
return Deploy1panel(cfg)
case "1panel-site":
logger.Debug("部署到1Panel网站...")
return Deploy1panelSite(cfg)
case "ssh":
logger.Debug("使用ssh部署到指定路径...")
return DeploySSH(cfg)
case "aliyun-cdn":
logger.Debug("部署到阿里云CDN...")
return DeployAliCdn(cfg)
case "aliyun-oss":
logger.Debug("部署到阿里云OSS...")
return DeployOss(cfg)
case "safeline-site":
logger.Debug("部署雷池WAF网站...")
return DeploySafeLineWafSite(cfg, logger)
case "safeline-panel":
logger.Debug("部署雷池WAF面板...")
return DeploySafeLineWaf(cfg)
case "localhost":
logger.Debug("部署到本地...")
return DeployLocalhost(cfg)
default:
return fmt.Errorf("不支持的部署: %s", providerName)
}
}