Documentation
¶
Index ¶
- Constants
- func CopyDirectory(src, dst string) error
- func CopyFileWithMode(src, dst string, mode fs.FileMode) error
- func ExtractTar(tarFile, extractDir string) error
- func GenerateApacheSSLConfig(apachePath, folderName, safeDomain string) error
- func GenerateNginxSSLConfig(nginxPath, folderName, safeDomain string) error
- func GetApacheCommand() string
- func IsApacheAvailable() bool
- func IsCrossDeviceError(err error) bool
- func IsNginxAvailable() bool
- func NormalizeDeploymentDomain(rawDomain string) (canonicalDomain, safeName string, err error)
- func PublishDirectoryWithRollback(sourceDir, targetDir string) error
- func ReloadApache() error
- func ReloadNginx() error
- func SafeJoinUnderBase(baseDir string, pathElements ...string) (string, error)
- func SanitizeDomain(domain string) string
- func TestApacheConfig() error
- func TestFeiNiuConnection() error
- func TestNginxConfig() error
- func TestOnePanelConnection() error
- func TestRemoteFeiNiuConnection(sshConfig *config.FeiNiuSSHConfig) error
- func TestRustFSConnection() error
- func TestSafeLineConnection() error
- func UploadOnlyBaseDir() string
- func UploadOnlyTargetDir(domain string) string
- func ValidateCertificateFiles(sourceDir, domain string) error
- func ValidateSafeDomainName(safeName string) error
- type CertDeployer
- func (cd *CertDeployer) DeployCertificate(domain, url string) error
- func (cd *CertDeployer) DeployCertificateTo1Panel(domain, url string) error
- func (cd *CertDeployer) DeployCertificateToApache(domain, url string) error
- func (cd *CertDeployer) DeployCertificateToFeiNiu(domain, url string) error
- func (cd *CertDeployer) DeployCertificateToNginx(domain, url string) error
- func (cd *CertDeployer) DeployCertificateToOpenVPNAS(domain, url string) error
- func (cd *CertDeployer) DeployCertificateToRustFS(domain, url string) error
- func (cd *CertDeployer) DeployCertificateToSafeLine(domain, downloadURL string) error
- func (cd *CertDeployer) DeployCertificateToUploadOnly(domain, url string) error
- func (cd *CertDeployer) DeployTo1Panel(sourceDir, domain string) error
- func (cd *CertDeployer) DeployToApache(sourceDir, apachePath, folderName, safeDomain string) error
- func (cd *CertDeployer) DeployToFeiNiu(sourceDir, feiNiuPath, domain string) error
- func (cd *CertDeployer) DeployToNginx(sourceDir, nginxPath, folderName, safeDomain string) error
- func (cd *CertDeployer) DeployToOpenVPNAS(sourceDir string) error
- func (cd *CertDeployer) DeployToRemoteFeiNiu(sourceDir, domain string, sshConfig *config.FeiNiuSSHConfig) error
- func (cd *CertDeployer) DeployToRemoteRustFS(sourceDir, safeDomain string, rustFS *config.RustFSConfig) error
- func (cd *CertDeployer) DeployToRustFS(sourceDir, rustFSBasePath, safeDomain string) error
- func (cd *CertDeployer) DeployToSafeLine(sourceDir, domain string) error
- func (cd *CertDeployer) DeployToUploadOnly(sourceDir, domain string) error
- type Deployer
- type OnePanelAPIResponse
Constants ¶
const ( CertsDir = "certs" // 证书临时存储目录 FeiNiuFixedPath = "/usr/trim/var/trim_connect/ssls" // 飞牛固定部署路径 )
Variables ¶
This section is empty.
Functions ¶
func CopyFileWithMode ¶
CopyFileWithMode 复制文件并保持权限
func ExtractTar ¶ added in v0.5.7
ExtractTar 解压证书压缩包。 当前证书包标准格式为 tar;这里兼容 tar.gz 和旧版 zip,避免前后端版本短暂不一致时部署失败。
func GenerateApacheSSLConfig ¶
GenerateApacheSSLConfig 生成 Apache SSL 配置文件
func GenerateNginxSSLConfig ¶
GenerateNginxSSLConfig 生成 Nginx SSL 配置文件
func NormalizeDeploymentDomain ¶ added in v0.6.2
NormalizeDeploymentDomain validates a deployment domain and returns its canonical and filesystem-safe forms.
func PublishDirectoryWithRollback ¶ added in v0.6.0
PublishDirectoryWithRollback 将新目录发布到目标路径,并在失败时尽量恢复旧目录。
func SafeJoinUnderBase ¶ added in v0.6.2
SafeJoinUnderBase joins a relative path while ensuring the result remains under baseDir.
func SanitizeDomain ¶
SanitizeDomain returns the filesystem-safe representation of a valid deployment domain.
func TestFeiNiuConnection ¶ added in v0.6.5
func TestFeiNiuConnection() error
TestFeiNiuConnection 根据配置测试本机或 SSH 远程飞牛部署环境。
func TestOnePanelConnection ¶ added in v0.6.5
func TestOnePanelConnection() error
TestOnePanelConnection 通过只读证书列表接口验证面板地址、API 密钥和证书管理权限。
func TestRemoteFeiNiuConnection ¶ added in v0.6.5
func TestRemoteFeiNiuConnection(sshConfig *config.FeiNiuSSHConfig) error
TestRemoteFeiNiuConnection 验证 SSH 登录、sudo 权限和飞牛核心部署环境。
func TestRustFSConnection ¶ added in v0.6.5
func TestRustFSConnection() error
TestRustFSConnection 根据配置验证 RustFS 本机目录或 SSH 远程写入能力。
func TestSafeLineConnection ¶ added in v0.6.5
func TestSafeLineConnection() error
TestSafeLineConnection 通过只读证书列表接口验证雷池地址、Token 和证书读取权限。
func UploadOnlyBaseDir ¶ added in v0.5.6
func UploadOnlyBaseDir() string
UploadOnlyBaseDir 返回“仅上传”业务的本地保存目录。
func UploadOnlyTargetDir ¶ added in v0.5.6
UploadOnlyTargetDir 返回指定域名的“仅上传”保存目录。
func ValidateCertificateFiles ¶ added in v0.6.0
ValidateCertificateFiles 校验证书文件、私钥文件、域名覆盖关系和证书私钥匹配关系。
func ValidateSafeDomainName ¶ added in v0.6.2
ValidateSafeDomainName validates a previously normalized filesystem-safe domain name.
Types ¶
type CertDeployer ¶
type CertDeployer struct {
// contains filtered or unexported fields
}
CertDeployer 证书部署器
func NewCertDeployer ¶
func NewCertDeployer(downloadFunc func(url, filePath string) error) *CertDeployer
NewCertDeployer 创建证书部署器
func (*CertDeployer) DeployCertificate ¶
func (cd *CertDeployer) DeployCertificate(domain, url string) error
DeployCertificate 部署证书(同时部署到所有配置的目标)
func (*CertDeployer) DeployCertificateTo1Panel ¶
func (cd *CertDeployer) DeployCertificateTo1Panel(domain, url string) error
DeployCertificateTo1Panel 仅部署证书到 1Panel
func (*CertDeployer) DeployCertificateToApache ¶
func (cd *CertDeployer) DeployCertificateToApache(domain, url string) error
DeployCertificateToApache 仅部署证书到 Apache
func (*CertDeployer) DeployCertificateToFeiNiu ¶
func (cd *CertDeployer) DeployCertificateToFeiNiu(domain, url string) error
DeployCertificateToFeiNiu 仅部署证书到飞牛
func (*CertDeployer) DeployCertificateToNginx ¶
func (cd *CertDeployer) DeployCertificateToNginx(domain, url string) error
DeployCertificateToNginx 仅部署证书到 Nginx
func (*CertDeployer) DeployCertificateToOpenVPNAS ¶ added in v0.5.6
func (cd *CertDeployer) DeployCertificateToOpenVPNAS(domain, url string) error
DeployCertificateToOpenVPNAS 仅部署证书到 OpenVPN-AS。
func (*CertDeployer) DeployCertificateToRustFS ¶
func (cd *CertDeployer) DeployCertificateToRustFS(domain, url string) error
DeployCertificateToRustFS 仅部署证书到 RustFS
func (*CertDeployer) DeployCertificateToSafeLine ¶ added in v0.6.5
func (cd *CertDeployer) DeployCertificateToSafeLine(domain, downloadURL string) error
DeployCertificateToSafeLine 下载并校验证书归档后仅部署到雷池 WAF。
func (*CertDeployer) DeployCertificateToUploadOnly ¶ added in v0.5.6
func (cd *CertDeployer) DeployCertificateToUploadOnly(domain, url string) error
DeployCertificateToUploadOnly 下载证书并保留到本地目录。
func (*CertDeployer) DeployTo1Panel ¶
func (cd *CertDeployer) DeployTo1Panel(sourceDir, domain string) error
DeployTo1Panel 部署证书到 1Panel
func (*CertDeployer) DeployToApache ¶
func (cd *CertDeployer) DeployToApache(sourceDir, apachePath, folderName, safeDomain string) error
DeployToApache 部署证书到 Apache 目录
func (*CertDeployer) DeployToFeiNiu ¶
func (cd *CertDeployer) DeployToFeiNiu(sourceDir, feiNiuPath, domain string) error
DeployToFeiNiu 部署证书到飞牛目录
func (*CertDeployer) DeployToNginx ¶
func (cd *CertDeployer) DeployToNginx(sourceDir, nginxPath, folderName, safeDomain string) error
DeployToNginx 部署证书到 Nginx 目录并生成配置文件
func (*CertDeployer) DeployToOpenVPNAS ¶ added in v0.5.6
func (cd *CertDeployer) DeployToOpenVPNAS(sourceDir string) error
DeployToOpenVPNAS 将证书导入 OpenVPN-AS 并重新启动服务。
func (*CertDeployer) DeployToRemoteFeiNiu ¶ added in v0.6.5
func (cd *CertDeployer) DeployToRemoteFeiNiu(sourceDir, domain string, sshConfig *config.FeiNiuSSHConfig) error
DeployToRemoteFeiNiu 通过 SSH 将证书部署到未安装 anssl CLI 的飞牛 OS。
func (*CertDeployer) DeployToRemoteRustFS ¶ added in v0.6.5
func (cd *CertDeployer) DeployToRemoteRustFS(sourceDir, safeDomain string, rustFS *config.RustFSConfig) error
DeployToRemoteRustFS 通过 SSH 将 RustFS 证书原子发布到远程目录。
func (*CertDeployer) DeployToRustFS ¶
func (cd *CertDeployer) DeployToRustFS(sourceDir, rustFSBasePath, safeDomain string) error
DeployToRustFS 部署证书到 RustFS 目录
func (*CertDeployer) DeployToSafeLine ¶ added in v0.6.5
func (cd *CertDeployer) DeployToSafeLine(sourceDir, domain string) error
DeployToSafeLine 按完整证书域名集合更新雷池已有证书,未匹配时新增证书。
func (*CertDeployer) DeployToUploadOnly ¶ added in v0.5.6
func (cd *CertDeployer) DeployToUploadOnly(sourceDir, domain string) error
DeployToUploadOnly 仅将证书保留到客户端本地目录,不执行额外部署动作。
type OnePanelAPIResponse ¶
type OnePanelAPIResponse struct {
Code int `json:"code"` // Code 是 1Panel 业务状态码,200 表示成功。
Message string `json:"message"` // Message 是 1Panel 返回的诊断信息。
Data any `json:"data"` // Data 是接口返回的数据,本客户端只校验响应是否合法。
}
OnePanelAPIResponse API 响应结构