Documentation ¶
Index ¶
- func RunPortForwarder(fw *PortForward, readyFunc func(fw *PortForward) error) error
- type Client
- func (client *Client) AllPilotsDiscoveryDo(pilotNamespace, method, path string, body []byte) (map[string][]byte, error)
- func (client *Client) BuildPortForwarder(podName string, ns string, localPort int, podPort int) (*PortForward, error)
- func (client *Client) EnvoyDo(podName, podNamespace, method, path string, body []byte) ([]byte, error)
- func (client *Client) ExtractExecResult(podName, podNamespace, container string, cmd []string) ([]byte, error)
- func (client *Client) GetIstioPods(namespace string, params map[string]string) ([]v1.Pod, error)
- func (client *Client) GetIstioVersions(namespace string) (*version.MeshInfo, error)
- func (client *Client) GetPilotAgentContainer(podName, podNamespace string) (string, error)
- func (client *Client) PilotDiscoveryDo(pilotNamespace, method, path string, body []byte) ([]byte, error)
- func (client *Client) PodExec(podName, podNamespace, container string, command []string) (*bytes.Buffer, *bytes.Buffer, error)
- func (client *Client) PodsForSelector(namespace, labelSelector string) (*v1.PodList, error)
- type ExecClient
- type PortForward
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RunPortForwarder ¶
func RunPortForwarder(fw *PortForward, readyFunc func(fw *PortForward) error) error
Types ¶
type Client ¶
type Client struct { Config *rest.Config *rest.RESTClient }
Client is a helper wrapper around the Kube RESTClient for istioctl -> Pilot/Envoy/Mesh related things
func (*Client) AllPilotsDiscoveryDo ¶
func (client *Client) AllPilotsDiscoveryDo(pilotNamespace, method, path string, body []byte) (map[string][]byte, error)
AllPilotsDiscoveryDo makes an http request to each Pilot discovery instance
func (*Client) BuildPortForwarder ¶
func (client *Client) BuildPortForwarder(podName string, ns string, localPort int, podPort int) (*PortForward, error)
BuildPortForwarder sets up port forwarding.
nolint: lll
func (*Client) EnvoyDo ¶
func (client *Client) EnvoyDo(podName, podNamespace, method, path string, body []byte) ([]byte, error)
EnvoyDo makes an http request to the Envoy in the specified pod
func (*Client) ExtractExecResult ¶
func (client *Client) ExtractExecResult(podName, podNamespace, container string, cmd []string) ([]byte, error)
ExtractExecResult wraps PodExec and return the execution result and error if has any.
func (*Client) GetIstioPods ¶
GetIstioPods retrieves the pod objects for Istio deployments
func (*Client) GetIstioVersions ¶
GetIstioVersions gets the version for each Istio component
func (*Client) GetPilotAgentContainer ¶
GetPilotAgentContainer retrieves the pilot-agent container name for the specified pod
func (*Client) PilotDiscoveryDo ¶
func (client *Client) PilotDiscoveryDo(pilotNamespace, method, path string, body []byte) ([]byte, error)
PilotDiscoveryDo makes an http request to a single Pilot discovery instance
type ExecClient ¶
type ExecClient interface { EnvoyDo(podName, podNamespace, method, path string, body []byte) ([]byte, error) AllPilotsDiscoveryDo(pilotNamespace, method, path string, body []byte) (map[string][]byte, error) GetIstioVersions(namespace string) (*version.MeshInfo, error) PilotDiscoveryDo(pilotNamespace, method, path string, body []byte) ([]byte, error) PodsForSelector(namespace, labelSelector string) (*v1.PodList, error) BuildPortForwarder(podName string, ns string, localPort int, podPort int) (*PortForward, error) }
ExecClient is an interface for remote execution
type PortForward ¶
type PortForward struct { Forwarder *portforward.PortForwarder LocalPort int StopChannel chan struct{} ReadyChannel <-chan struct{} }
PortForward gathers port forwarding results