config

package
v0.6.4 Latest Latest
Warning

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

Go to latest
Published: Jul 26, 2026 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ProviderAliyun 是阿里云 provider 的配置名称。
	ProviderAliyun = "aliyun"
	// ProviderTencentCloud 是腾讯云 provider 的配置名称。
	ProviderTencentCloud = "cloudTencent"
	// ProviderQiniu 是七牛云 provider 的配置名称。
	ProviderQiniu = "qiniu"
)

Variables

View Source
var (
	Config   *Configuration
	URL      = URLProd
	URLProd  = "https://anssl.cn/deploy"
	URLLocal = "http://localhost:9000/deploy"
)
View Source
var Version = "dev"

Version is injected by release builds with:

go build -ldflags="-X github.com/https-cert/deploy/internal/config.Version=vX.Y.Z"

Development builds keep "dev" to avoid shipping stale hard-coded versions.

Functions

func Init

func Init(configFile string) error

Init 初始化配置

func IsDeploymentResourceBusiness added in v0.6.4

func IsDeploymentResourceBusiness(business deployPB.ExecuteBusinesType) bool

IsDeploymentResourceBusiness 判断业务是否需要解析一个精确部署资源。

func PrepareRuntimeDirs added in v0.6.0

func PrepareRuntimeDirs() error

PrepareRuntimeDirs 创建启动和部署需要的本地目录

Types

type CDNConfig added in v0.6.4

type CDNConfig struct {
	Label  string `yaml:"label,omitempty"` // Label 控制台展示名称,留空时使用规范化域名
	Domain string `yaml:"domain"`          // Domain CDN 绑定的精确域名
}

CDNConfig 描述一个 CDN 精确域名部署资源。

type COSConfig added in v0.6.4

type COSConfig struct {
	Label  string `yaml:"label,omitempty"` // Label 控制台展示名称,留空时使用规范化域名
	Domain string `yaml:"domain"`          // Domain COS Bucket 绑定的精确自定义域名
	Region string `yaml:"region"`          // Region COS Bucket 所在地域
	Bucket string `yaml:"bucket"`          // Bucket 包含 APPID 的完整 COS Bucket 名称
}

COSConfig 描述一个 COS Bucket 自定义域名部署资源。

type Configuration

type Configuration struct {
	Server   *ServerConfig `yaml:"server"`   // Server 服务端连接和本地 HTTP-01 配置
	SSL      *DeployConfig `yaml:"ssl"`      // SSL 本地部署目标配置
	Update   *UpdateConfig `yaml:"update"`   // Update 自更新配置
	Log      *LogConfig    `yaml:"log"`      // Log 日志轮转配置
	Provider []*Provider   `yaml:"provider"` // Provider 云服务提供商配置
}

Configuration 应用配置结构

func GetConfig

func GetConfig() *Configuration

GetConfig 获取配置

type DCDNConfig added in v0.6.4

type DCDNConfig struct {
	Label  string `yaml:"label,omitempty"` // Label 控制台展示名称,留空时使用规范化域名
	Domain string `yaml:"domain"`          // Domain DCDN 绑定的精确域名
}

DCDNConfig 描述一个 DCDN 精确域名部署资源。

type DeployConfig added in v0.5.0

type DeployConfig struct {
	NginxPath     string          `yaml:"nginxPath"`     // Nginx SSL 证书目录
	ApachePath    string          `yaml:"apachePath"`    // Apache SSL 证书目录
	RustFSPath    string          `yaml:"rustFSPath"`    // RustFS TLS 证书目录
	FeiNiuEnabled bool            `yaml:"feiNiuEnabled"` // 飞牛 TLS 证书部署开关
	OnePanel      *OnePanelConfig `yaml:"onePanel"`      // 1Panel 配置
}

DeployConfig 本地证书部署目标配置

type DeploymentResource added in v0.6.4

type DeploymentResource struct {
	TargetRef string // TargetRef 客户端根据资源身份自动生成的不透明稳定引用
	Label     string // Label 控制台展示名称
	Domain    string // Domain 资源绑定的精确域名
	Region    string // Region 对象存储地域
	Endpoint  string // Endpoint OSS API Origin 覆盖值
	Bucket    string // Bucket 对象存储 Bucket 名称
	SiteID    string // SiteID 阿里云 ESA Site ID
	ZoneID    string // ZoneID 腾讯云 EdgeOne Zone ID
}

DeploymentResource 描述从固定业务配置中解析出的精确部署资源。

func GetDeploymentResource added in v0.6.4

func GetDeploymentResource(providerName string, business deployPB.ExecuteBusinesType, targetRef string) (*DeploymentResource, bool)

GetDeploymentResource 按 provider、业务类型和 targetRef 精确查询本地部署资源。

type DeploymentResourceDirectoryEntry added in v0.6.4

type DeploymentResourceDirectoryEntry struct {
	Provider           string                      // Provider 云服务提供商配置名称
	ExecuteBusinesType deployPB.ExecuteBusinesType // ExecuteBusinesType 明确的产品部署业务
	TargetRef          string                      // TargetRef 客户端自动生成的不透明引用
	Label              string                      // Label 资源展示名称
	Domain             string                      // Domain 资源精确域名
}

DeploymentResourceDirectoryEntry 是可上报给后端的脱敏部署资源目录项。

func GetDeploymentResourceDirectory added in v0.6.4

func GetDeploymentResourceDirectory() []DeploymentResourceDirectoryEntry

GetDeploymentResourceDirectory 返回不含凭据和私有资源定位字段的部署资源目录。

type ESAConfig added in v0.6.4

type ESAConfig struct {
	Label  string `yaml:"label,omitempty"` // Label 控制台展示名称,留空时使用规范化域名
	Domain string `yaml:"domain"`          // Domain ESA Record 绑定的精确域名
	SiteID string `yaml:"siteId"`          // SiteID ESA 站点 ID
}

ESAConfig 描述一个 ESA Record 部署资源。

type EdgeOneConfig added in v0.6.4

type EdgeOneConfig struct {
	Label  string `yaml:"label,omitempty"` // Label 控制台展示名称,留空时使用规范化域名
	Domain string `yaml:"domain"`          // Domain EdgeOne Host 的精确域名
	ZoneID string `yaml:"zoneId"`          // ZoneID EdgeOne 站点 ID
}

EdgeOneConfig 描述一个 EdgeOne Host 部署资源。

type LogConfig added in v0.6.0

type LogConfig struct {
	MaxSizeMB  int `yaml:"maxSizeMB"`  // MaxSizeMB 单个日志文件最大体积,单位 MB
	MaxBackups int `yaml:"maxBackups"` // MaxBackups 最多保留的轮转文件数量
	MaxAgeDays int `yaml:"maxAgeDays"` // MaxAgeDays 轮转文件最长保留天数
}

LogConfig 日志轮转配置

type OSSConfig added in v0.6.4

type OSSConfig struct {
	Label    string `yaml:"label,omitempty"`    // Label 控制台展示名称,留空时使用规范化域名
	Domain   string `yaml:"domain"`             // Domain OSS Bucket 绑定的精确自定义域名
	Region   string `yaml:"region"`             // Region OSS Bucket 所在地域
	Bucket   string `yaml:"bucket"`             // Bucket OSS Bucket 名称
	Endpoint string `yaml:"endpoint,omitempty"` // Endpoint 可选的 OSS HTTPS API Origin
}

OSSConfig 描述一个 OSS Bucket 自定义域名部署资源。

type OnePanelConfig added in v0.5.1

type OnePanelConfig struct {
	URL    string `yaml:"url"`    // 1Panel API 地址
	APIKey string `yaml:"apiKey"` // 1Panel API 密钥
}

OnePanelConfig 1Panel 配置

type Provider

type Provider struct {
	Name    string           `yaml:"name"`    // Name 提供商内部名称
	Remark  string           `yaml:"remark"`  // Remark 提供商展示备注
	Auth    *ProviderAuth    `yaml:"auth"`    // Auth 提供商认证配置
	CDN     []*CDNConfig     `yaml:"cdn"`     // CDN 精确域名部署资源
	DCDN    []*DCDNConfig    `yaml:"dcdn"`    // DCDN 精确域名部署资源
	ESA     []*ESAConfig     `yaml:"esa"`     // ESA Record 部署资源
	OSS     []*OSSConfig     `yaml:"oss"`     // OSS 自定义域名部署资源
	EdgeOne []*EdgeOneConfig `yaml:"edgeOne"` // EdgeOne Host 部署资源
	COS     []*COSConfig     `yaml:"cos"`     // COS 自定义域名部署资源
}

Provider 云服务提供商配置

func GetProvider

func GetProvider(name string) *Provider

GetProvider 获取提供商配置

func (*Provider) GetAccessKey added in v0.5.0

func (p *Provider) GetAccessKey() string

GetAccessKey 获取七牛云 AccessKey

func (*Provider) GetAccessKeyId added in v0.5.0

func (p *Provider) GetAccessKeyId() string

GetAccessKeyId 获取阿里云 AccessKeyId

func (*Provider) GetAccessKeySecret added in v0.5.0

func (p *Provider) GetAccessKeySecret() string

GetAccessKeySecret 获取阿里云 AccessKeySecret

func (*Provider) GetAccessSecret added in v0.5.0

func (p *Provider) GetAccessSecret() string

GetAccessSecret 获取七牛云 AccessSecret

func (*Provider) GetSecretId added in v0.5.0

func (p *Provider) GetSecretId() string

GetSecretId 获取腾讯云 SecretId

func (*Provider) GetSecretKey added in v0.5.0

func (p *Provider) GetSecretKey() string

GetSecretKey 获取腾讯云 SecretKey

type ProviderAuth added in v0.5.0

type ProviderAuth struct {
	// 阿里云认证字段
	AccessKeyId     string `yaml:"accessKeyId,omitempty"`
	AccessKeySecret string `yaml:"accessKeySecret,omitempty"`
	// 腾讯云认证字段
	SecretId  string `yaml:"secretId,omitempty"`
	SecretKey string `yaml:"secretKey,omitempty"`
	// 七牛云认证字段
	AccessKey    string `yaml:"accessKey,omitempty"`
	AccessSecret string `yaml:"accessSecret,omitempty"`
}

ProviderAuth 云服务提供商认证字段集合

type ServerConfig

type ServerConfig struct {
	AccessKey string `yaml:"accessKey"` // AccessKey 后端鉴权令牌
	Env       string `yaml:"env"`       // Env 服务环境,空值为生产环境,local 为本地开发环境
	Port      int    `yaml:"port"`      // Port HTTP-01 challenge 服务端口,默认 19000
}

ServerConfig 服务端连接和本地 HTTP-01 challenge 配置

type UpdateConfig

type UpdateConfig struct {
	// 镜像源类型: github, ghproxy, custom
	Mirror string `yaml:"mirror"`
	// 自定义镜像地址(当 mirror=custom 时使用)
	CustomURL string `yaml:"customUrl"`
	// HTTP 代理地址
	Proxy string `yaml:"proxy"`
}

UpdateConfig 自更新下载源和代理配置

Jump to

Keyboard shortcuts

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