Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ProxyTableConvertor, _ = tableconvertor.New([]apiextensionsv1.CustomResourceColumnDefinition{{
Name: "Port",
Type: "integer",
JSONPath: ".status.port",
}, {
Name: "PID",
Type: "integer",
JSONPath: ".status.pid",
}, {
Name: "State",
Type: "string",
JSONPath: ".status.state",
}, {
Name: "Age",
Type: "date",
JSONPath: ".metadata.creationTimestamp",
}})
ProxyTableConvertor Proxy 表格转换器
Functions ¶
func GetConfigSignature ¶
GetConfigSignature 计算客户端配置签名
Types ¶
type Proxy ¶
type Proxy struct {
metav1.TypeMeta `json:",inline"`
// 对象元信息
metav1.ObjectMeta `json:"metadata,omitempty"`
// 代理状态
Status ProxyStatus `json:"status,omitempty"`
}
Proxy 缓存代理
func (*Proxy) DeepCopyObject ¶
DeepCopyObject 深拷贝
func (*Proxy) ToClientConfig ¶
ToClientConfig 返回使用该代理的客户端配置
type ProxyList ¶
type ProxyList struct {
metav1.TypeMeta `json:",inline"`
// 对象元信息
metav1.ListMeta `json:"metadata,omitempty"`
// 代理信息的列表
Items []Proxy `json:"items"`
}
ProxyList 缓存代理列表
func (*ProxyList) DeepCopyObject ¶
DeepCopyObject 深拷贝
type ProxyManager ¶
type ProxyManager interface {
// List 列出所有正在运行的代理
List(ctx context.Context) (*ProxyList, error)
// Get 获取指定代理信息
Get(ctx context.Context, name string) (*Proxy, error)
// GetForConfig 获取使用指定客户端配置的代理
GetForConfig(ctx context.Context, config *rest.Config) (*Proxy, error)
// NewForConfig 使用指定客户端配置创建一个代理
NewForConfig(ctx context.Context, config *rest.Config) (*Proxy, error)
// LockProxy 当前进程认领并锁定客户端配置对应的代理(避免其它进程基于此客户端配置启动代理)
LockProxy(ctx context.Context, config *rest.Config) (*Proxy, error)
// UnlockProxy 解锁当前进程认领的客户端配置对应的代理
UnlockProxy(ctx context.Context, proxy *Proxy) error
// SetProxy 设置客户端配置对应的代理信息
// NOTE: 仅能设置当前进程提供的代理服务信息,需要先 LockConfig
SetProxy(ctx context.Context, proxy *Proxy) error
// KillProxy 停止指定代理服务
KillProxy(ctx context.Context, proxy *Proxy, wait, force bool) error
}
ProxyManager 代理服务管理器
func NewProxyManager ¶
func NewProxyManager(dataRoot string, startProxyArgs []string) ProxyManager
NewProxyManager 创建一个代理服务管理器
type ProxyState ¶
type ProxyState string
ProxyState 代理状态
const ( ProxyPending ProxyState = "Pending" ProxyReady ProxyState = "Ready" ProxyDead ProxyState = "Dead" )
ProxyState 的可选值
type ProxyStatus ¶
type ProxyStatus struct {
// 状态
State ProxyState `json:"state,omitempty"`
// 处于当前状态的原因,可枚举
Reason string `json:"reason,omitempty"`
// 关于当前状态的人类可读的描述
Message string `json:"message,omitempty"`
// 代理服务进程 ID
PID int `json:"pid,omitempty"`
// 代理服务监听端口
Port int `json:"port,omitempty"`
// 代理服务数据根目录
DataRoot string `json:"dataRoot,omitempty"`
// 运行代理的客户端配置签名
ClientConfigSignature string `json:"clientConfigSignature,omitempty"`
// contains filtered or unexported fields
}
ProxyStatus 代理状态
Click to show internal directories.
Click to hide internal directories.