Documentation
¶
Index ¶
- Constants
- func ExecPod(kubeClient kubernetes.Interface, cfg *rest.Config, cmd []string, ...) error
- func NewKubeOutClusterClient(clusterID string) (kubernetes.Interface, *rest.Config, error)
- func ServeWs(w http.ResponseWriter, r *http.Request)
- func ValidatePod(kubeClient kubernetes.Interface, namespace, podName, containerName string) (bool, error)
- type EndpointResponse
- type KeyState
- type ProductResp
- type PtyHandler
- type RenderInfo
- type RenderKV
- type TerminalMessage
- type TerminalSession
Constants ¶
View Source
const ( // KeyStateNew ... KeyStateNew = KeyState("new") // KeyStateUnused ... KeyStateUnused = KeyState("unused") // KeyStatePresent ... KeyStatePresent = KeyState("present") )
View Source
const (
EndOfTransmission = "\u0004"
)
Variables ¶
This section is empty.
Functions ¶
func ExecPod ¶
func ExecPod(kubeClient kubernetes.Interface, cfg *rest.Config, cmd []string, ptyHandler PtyHandler, namespace, podName, containerName string) error
ExecPod do pod exec
func NewKubeOutClusterClient ¶
kubeclient config
func ValidatePod ¶
func ValidatePod(kubeClient kubernetes.Interface, namespace, podName, containerName string) (bool, error)
验证是否存在
Types ¶
type EndpointResponse ¶
type ProductResp ¶
type ProductResp struct {
ID string `json:"id"`
ProductName string `json:"product_name"`
Namespace string `json:"namespace"`
Status string `json:"status"`
Error string `json:"error"`
EnvName string `json:"env_name"`
UpdateBy string `json:"update_by"`
UpdateTime int64 `json:"update_time"`
Services [][]string `json:"services"`
Render *RenderInfo `json:"render"`
Vars []*RenderKV `json:"vars"`
IsPublic bool `json:"isPublic"`
ClusterID string `json:"cluster_id,omitempty"`
RecycleDay int `json:"recycle_day"`
IsProd bool `json:"is_prod"`
Source string `json:"source"`
}
type PtyHandler ¶
type PtyHandler interface {
io.Reader
io.Writer
remotecommand.TerminalSizeQueue
Done() chan struct{}
}
type RenderInfo ¶
type RenderInfo struct {
Name string `json:"name"`
Revision int64 `json:"revision"`
ProductTmpl string `json:"product_tmpl"`
Description string `json:"description"`
}
RenderInfo ...
type RenderKV ¶
type RenderKV struct {
Key string `json:"key"`
Value string `json:"value"`
Alias string `json:"alias"`
State KeyState `json:"state"`
Services []string `json:"services"`
}
RenderKV ...
type TerminalMessage ¶
type TerminalMessage struct {
Operation string `json:"operation"`
Data string `json:"data"`
Rows uint16 `json:"rows"`
Cols uint16 `json:"cols"`
}
TerminalMessage is the messaging protocol between ShellController and TerminalSession.
type TerminalSession ¶
type TerminalSession struct {
// contains filtered or unexported fields
}
TerminalSession implements PtyHandler
func NewTerminalSession ¶
func NewTerminalSession(w http.ResponseWriter, r *http.Request, responseHeader http.Header) (*TerminalSession, error)
func (*TerminalSession) Next ¶
func (t *TerminalSession) Next() *remotecommand.TerminalSize
Next called in a loop from remotecommand as long as the process is running
Click to show internal directories.
Click to hide internal directories.