Documentation ¶
Index ¶
- Constants
- func DebugWorkflow(c *gin.Context)
- func ExecPod(kubeClient kubernetes.Interface, cfg *rest.Config, cmd []string, ...) error
- func NewKubeOutClusterClient(clusterID string) (kubernetes.Interface, *rest.Config, error)
- func ServeWs(c *gin.Context)
- 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
- type TerminalSessionOption
- type TerminalSessionType
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 DebugWorkflow ¶ added in v1.9.9
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 ¶
NewKubeOutClusterClient returns kubeClient and 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 { // SecretEnvs is a list of environment variables that should be hidden from the client. SecretEnvs []string Type TerminalSessionType // contains filtered or unexported fields }
TerminalSession implements PtyHandler
func NewTerminalSession ¶
func NewTerminalSession(w http.ResponseWriter, r *http.Request, responseHeader http.Header, opt ...*TerminalSessionOption) (*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
type TerminalSessionOption ¶ added in v1.9.9
type TerminalSessionOption struct { SecretEnvs []string Type TerminalSessionType }
type TerminalSessionType ¶ added in v1.9.9
type TerminalSessionType string
const ( // Environment is the debug terminal session type for environment Environment TerminalSessionType = "env" // Workflow is the debug terminal session type for workflow, which need musk secret envs Workflow TerminalSessionType = "workflow" )
Click to show internal directories.
Click to hide internal directories.