deploys

package
v0.6.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 11, 2026 License: Apache-2.0 Imports: 40 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CertsDir        = "certs"                           // 证书临时存储目录
	FeiNiuFixedPath = "/usr/trim/var/trim_connect/ssls" // 飞牛固定部署路径

)

Variables

This section is empty.

Functions

func CopyDirectory

func CopyDirectory(src, dst string) error

CopyDirectory 复制整个目录

func CopyFileWithMode

func CopyFileWithMode(src, dst string, mode fs.FileMode) error

CopyFileWithMode 复制文件并保持权限

func ExtractTar added in v0.5.7

func ExtractTar(tarFile, extractDir string) error

ExtractTar 解压证书压缩包。 当前证书包标准格式为 tar;这里兼容 tar.gz 和旧版 zip,避免前后端版本短暂不一致时部署失败。

func GenerateApacheSSLConfig

func GenerateApacheSSLConfig(apachePath, folderName, safeDomain string) error

GenerateApacheSSLConfig 生成 Apache SSL 配置文件

func GenerateNginxSSLConfig

func GenerateNginxSSLConfig(nginxPath, folderName, safeDomain string) error

GenerateNginxSSLConfig 生成 Nginx SSL 配置文件

func GetApacheCommand

func GetApacheCommand() string

GetApacheCommand 获取可用的 Apache 控制命令

func IsApacheAvailable

func IsApacheAvailable() bool

IsApacheAvailable 检查apache是否可用

func IsCrossDeviceError

func IsCrossDeviceError(err error) bool

IsCrossDeviceError 检测是否为跨设备移动错误

func IsNginxAvailable

func IsNginxAvailable() bool

IsNginxAvailable 检查nginx是否可用

func NormalizeDeploymentDomain added in v0.6.2

func NormalizeDeploymentDomain(rawDomain string) (canonicalDomain, safeName string, err error)

NormalizeDeploymentDomain validates a deployment domain and returns its canonical and filesystem-safe forms.

func PublishDirectoryWithRollback added in v0.6.0

func PublishDirectoryWithRollback(sourceDir, targetDir string) error

PublishDirectoryWithRollback 将新目录发布到目标路径,并在失败时尽量恢复旧目录。

func ReloadApache

func ReloadApache() error

ReloadApache 重新加载apache

func ReloadNginx

func ReloadNginx() error

ReloadNginx 重新加载nginx

func SafeJoinUnderBase added in v0.6.2

func SafeJoinUnderBase(baseDir string, pathElements ...string) (string, error)

SafeJoinUnderBase joins a relative path while ensuring the result remains under baseDir.

func SanitizeDomain

func SanitizeDomain(domain string) string

SanitizeDomain returns the filesystem-safe representation of a valid deployment domain.

func TestApacheConfig

func TestApacheConfig() error

TestApacheConfig 测试apache配置

func TestFeiNiuConnection added in v0.6.5

func TestFeiNiuConnection() error

TestFeiNiuConnection 根据配置测试本机或 SSH 远程飞牛部署环境。

func TestNginxConfig

func TestNginxConfig() error

TestNginxConfig 测试nginx配置

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

func UploadOnlyTargetDir(domain string) string

UploadOnlyTargetDir 返回指定域名的“仅上传”保存目录。

func ValidateCertificateFiles added in v0.6.0

func ValidateCertificateFiles(sourceDir, domain string) error

ValidateCertificateFiles 校验证书文件、私钥文件、域名覆盖关系和证书私钥匹配关系。

func ValidateSafeDomainName added in v0.6.2

func ValidateSafeDomainName(safeName string) error

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 Deployer

type Deployer interface {
	Deploy(sourceDir, domain string) error
}

Deployer 证书部署器接口(为未来扩展预留)

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 响应结构

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL