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.