framework

package
v0.0.0-...-7b34d14 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 7, 2020 License: Apache-2.0 Imports: 39 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Verbose = true
	Silent  = false

	TestNamespace = "kuma-test"

	Kuma1 = "kuma-1"
	Kuma2 = "kuma-2"
	Kuma3 = "kuma-3"

	DefaultRetries = 30
	DefaultTimeout = 3 * time.Second
)
View Source
const (
	AppModeCP           = "kuma-cp"
	AppModeEchoServer   = "echo-server"
	EchoServerDataplane = `` /* 168-byte string literal not displayed */

	AppModeDemoClient   = "demo-client"
	DemoClientDataplane = `` /* 199-byte string literal not displayed */

)

Variables

This section is empty.

Functions

func IsK8sClustersStarted

func IsK8sClustersStarted() bool

func NewSshApp

func NewSshApp(verbose bool, port string, args ...string) *sshApp

func SshCmd

func SshCmd(port string, args ...string) *exec.Cmd

Types

type AppMode

type AppMode string

type Cluster

type Cluster interface {
	// Cluster
	DismissCluster() error
	// Generic
	DeployKuma(mode ...string) error
	GetKuma() ControlPlane
	VerifyKuma() error
	RestartKuma() error
	DeleteKuma() error
	InjectDNS() error
	GetKumactlOptions() *KumactlOptions

	// K8s
	GetKubectlOptions(namespace ...string) *k8s.KubectlOptions
	CreateNamespace(namespace string) error
	DeleteNamespace(namespace string) error
	DeployApp(namespace, appname string) error
	DeleteApp(namespace, appname string) error
	Exec(namespace, podName, containerName string, cmd ...string) (string, string, error)
	ExecWithRetries(namespace, podName, containerName string, cmd ...string) (string, string, error)

	// Testing
	GetTesting() testing.TestingT
}

type ClusterSetup

type ClusterSetup struct {
	// contains filtered or unexported fields
}

func NewClusterSetup

func NewClusterSetup() *ClusterSetup

func (*ClusterSetup) Install

func (cs *ClusterSetup) Install(fn InstallFunc) *ClusterSetup

func (*ClusterSetup) Setup

func (cs *ClusterSetup) Setup(cluster Cluster) error

type Clusters

type Clusters interface {
	GetCluster(name string) Cluster
	Cluster
}

func NewK8sClusters

func NewK8sClusters(clusterNames []string, verbose bool) (Clusters, error)

func NewUniversalClusters

func NewUniversalClusters(clusterNames []string, verbose bool) (Clusters, error)

type ControlPlane

type ControlPlane interface {
	GetName() string
	AddCluster(name, url, lbAddress string) error
	GetKumaCPLogs() (string, error)
	GetKDSServerAddress() string
	GetGlobaStatusAPI() string
}

type ExecOptions

type ExecOptions struct {
	Command []string

	Namespace     string
	PodName       string
	ContainerName string

	Stdin         io.Reader
	CaptureStdout bool
	CaptureStderr bool
	// If false, whitespace in std{err,out} will be removed.
	PreserveWhitespace bool
}

ExecOptions passed to ExecWithOptions

type IngressDesc

type IngressDesc struct {
	Port int32
	IP   string
}

type InstallFunc

type InstallFunc func(cluster Cluster) error

func Combine

func Combine(fs ...InstallFunc) InstallFunc

func DemoClientK8s

func DemoClientK8s() InstallFunc

func DemoClientUniversal

func DemoClientUniversal() InstallFunc

func EchoServerK8s

func EchoServerK8s() InstallFunc

func EchoServerUniversal

func EchoServerUniversal() InstallFunc

func Ingress

func Ingress(ingress *IngressDesc) InstallFunc

func Kuma

func Kuma(mode ...string) InstallFunc

func KumaDNS

func KumaDNS() InstallFunc

func Namespace

func Namespace(name string) InstallFunc

func WaitNumPods

func WaitNumPods(num int, app string) InstallFunc

func WaitPodsAvailable

func WaitPodsAvailable(namespace, app string) InstallFunc

func WaitService

func WaitService(namespace, service string) InstallFunc

func Yaml

func Yaml(yaml string) InstallFunc

func YamlPath

func YamlPath(path string) InstallFunc

type K8sCluster

type K8sCluster struct {
	// contains filtered or unexported fields
}

func (*K8sCluster) Apply

func (c *K8sCluster) Apply(namespace string, yamlPath string) error

func (*K8sCluster) ApplyAndWaitServiceOnK8sCluster

func (c *K8sCluster) ApplyAndWaitServiceOnK8sCluster(namespace string, service string, yamlPath string) error

func (*K8sCluster) CleanupPortForwards

func (c *K8sCluster) CleanupPortForwards()

func (*K8sCluster) CreateNamespace

func (c *K8sCluster) CreateNamespace(namespace string) error

func (*K8sCluster) DeleteApp

func (c *K8sCluster) DeleteApp(namespace, appname string) error

func (*K8sCluster) DeleteKuma

func (c *K8sCluster) DeleteKuma() error

func (*K8sCluster) DeleteNamespace

func (c *K8sCluster) DeleteNamespace(namespace string) error

func (*K8sCluster) DeployApp

func (c *K8sCluster) DeployApp(namespace, appname string) error

func (*K8sCluster) DeployKuma

func (c *K8sCluster) DeployKuma(mode ...string) error

func (*K8sCluster) DismissCluster

func (c *K8sCluster) DismissCluster() error

func (*K8sCluster) Exec

func (c *K8sCluster) Exec(namespace, podName, containerName string, cmd ...string) (string, string, error)

Exec executes a command in the specified container and return stdout, stderr and error

func (*K8sCluster) ExecWithOptions

func (c *K8sCluster) ExecWithOptions(options ExecOptions) (string, string, error)

ExecWithOptions executes a command in the specified container, returning stdout, stderr and error. `options` allowed for additional parameters to be passed.

func (*K8sCluster) ExecWithRetries

func (c *K8sCluster) ExecWithRetries(namespace, podName, containerName string, cmd ...string) (string, string, error)

func (*K8sCluster) GetKubectlOptions

func (c *K8sCluster) GetKubectlOptions(namespace ...string) *k8s.KubectlOptions

func (*K8sCluster) GetKuma

func (c *K8sCluster) GetKuma() ControlPlane

func (*K8sCluster) GetKumactlOptions

func (c *K8sCluster) GetKumactlOptions() *KumactlOptions

func (*K8sCluster) GetPodLogs

func (c *K8sCluster) GetPodLogs(pod v1.Pod) (string, error)

func (*K8sCluster) GetTesting

func (c *K8sCluster) GetTesting() testing.TestingT

func (*K8sCluster) InjectDNS

func (c *K8sCluster) InjectDNS() error

func (*K8sCluster) PortForwardPod

func (c *K8sCluster) PortForwardPod(namespace string, podName string, localPort, remotePort uint32)

func (*K8sCluster) RestartKuma

func (c *K8sCluster) RestartKuma() error

func (*K8sCluster) VerifyKuma

func (c *K8sCluster) VerifyKuma() error

func (*K8sCluster) WaitNamespaceCreate

func (c *K8sCluster) WaitNamespaceCreate(namespace string)

func (*K8sCluster) WaitNamespaceDelete

func (c *K8sCluster) WaitNamespaceDelete(namespace string)

type K8sClusters

type K8sClusters struct {
	// contains filtered or unexported fields
}

func (*K8sClusters) CreateNamespace

func (cs *K8sClusters) CreateNamespace(namespace string) error

func (*K8sClusters) DeleteApp

func (cs *K8sClusters) DeleteApp(namespace, appname string) error

func (*K8sClusters) DeleteKuma

func (cs *K8sClusters) DeleteKuma() error

func (*K8sClusters) DeleteNamespace

func (cs *K8sClusters) DeleteNamespace(namespace string) error

func (*K8sClusters) DeployApp

func (cs *K8sClusters) DeployApp(namespace, appname string) error

func (*K8sClusters) DeployKuma

func (cs *K8sClusters) DeployKuma(mode ...string) error

func (*K8sClusters) DismissCluster

func (cs *K8sClusters) DismissCluster() error

func (*K8sClusters) Exec

func (cs *K8sClusters) Exec(namespace, podName, containerName string, cmd ...string) (string, string, error)

func (*K8sClusters) ExecWithRetries

func (cs *K8sClusters) ExecWithRetries(namespace, podName, containerName string, cmd ...string) (string, string, error)

func (*K8sClusters) GetCluster

func (cs *K8sClusters) GetCluster(name string) Cluster

func (*K8sClusters) GetKubectlOptions

func (cs *K8sClusters) GetKubectlOptions(namespace ...string) *k8s.KubectlOptions

func (*K8sClusters) GetKuma

func (cs *K8sClusters) GetKuma() ControlPlane

func (*K8sClusters) GetKumactlOptions

func (c *K8sClusters) GetKumactlOptions() *KumactlOptions

func (*K8sClusters) GetTesting

func (cs *K8sClusters) GetTesting() testing.TestingT

func (*K8sClusters) InjectDNS

func (cs *K8sClusters) InjectDNS() error

func (*K8sClusters) RestartKuma

func (cs *K8sClusters) RestartKuma() error

func (*K8sClusters) VerifyKuma

func (cs *K8sClusters) VerifyKuma() error

type K8sControlPlane

type K8sControlPlane struct {
	// contains filtered or unexported fields
}

func NewK8sControlPlane

func NewK8sControlPlane(t testing.TestingT, mode mode.CpMode, clusterName string,
	kubeconfig string, cluster *K8sCluster,
	loPort, hiPort uint32,
	verbose bool) *K8sControlPlane

func (*K8sControlPlane) AddCluster

func (c *K8sControlPlane) AddCluster(name, rawurl, lbAddress string) error

func (*K8sControlPlane) FinalizeAdd

func (c *K8sControlPlane) FinalizeAdd() error

func (*K8sControlPlane) GetGlobaStatusAPI

func (c *K8sControlPlane) GetGlobaStatusAPI() string

func (*K8sControlPlane) GetKDSServerAddress

func (c *K8sControlPlane) GetKDSServerAddress() string

A naive implementation to find the URL where Remote CP exposes its API

func (*K8sControlPlane) GetKubectlOptions

func (c *K8sControlPlane) GetKubectlOptions(namespace ...string) *k8s.KubectlOptions

func (*K8sControlPlane) GetKumaCPLogs

func (c *K8sControlPlane) GetKumaCPLogs() (string, error)

func (*K8sControlPlane) GetKumaCPPods

func (c *K8sControlPlane) GetKumaCPPods() []v1.Pod

func (*K8sControlPlane) GetName

func (c *K8sControlPlane) GetName() string

func (*K8sControlPlane) InjectDNS

func (c *K8sControlPlane) InjectDNS() error

func (*K8sControlPlane) InstallCP

func (c *K8sControlPlane) InstallCP() (string, error)

func (*K8sControlPlane) PortForwardKumaCP

func (c *K8sControlPlane) PortForwardKumaCP() error

func (*K8sControlPlane) VerifyKumaCtl

func (c *K8sControlPlane) VerifyKumaCtl() error

func (*K8sControlPlane) VerifyKumaGUI

func (c *K8sControlPlane) VerifyKumaGUI() error

func (*K8sControlPlane) VerifyKumaREST

func (c *K8sControlPlane) VerifyKumaREST() error

type KumactlOptions

type KumactlOptions struct {
	CPName     string
	Kumactl    string
	ConfigPath string
	Verbose    bool
	Env        map[string]string
	// contains filtered or unexported fields
}

func NewKumactlOptions

func NewKumactlOptions(t testing.TestingT, cpname string, verbose bool) (*KumactlOptions, error)

func (*KumactlOptions) KumactlApply

func (o *KumactlOptions) KumactlApply(configPath string) error

func (*KumactlOptions) KumactlApplyFromString

func (o *KumactlOptions) KumactlApplyFromString(configData string) error

func (*KumactlOptions) KumactlConfigControlPlanesAdd

func (o *KumactlOptions) KumactlConfigControlPlanesAdd(name, address string) error

func (*KumactlOptions) KumactlDelete

func (o *KumactlOptions) KumactlDelete(kumatype string, name string) error

func (*KumactlOptions) KumactlInstallCP

func (o *KumactlOptions) KumactlInstallCP(mode ...string) (string, error)

func (*KumactlOptions) KumactlInstallDNS

func (o *KumactlOptions) KumactlInstallDNS() (string, error)

func (*KumactlOptions) KumactlInstallIngress

func (o *KumactlOptions) KumactlInstallIngress() (string, error)

func (*KumactlOptions) KumactlInstallMetrics

func (o *KumactlOptions) KumactlInstallMetrics() (string, error)

func (*KumactlOptions) KumactlInstallTracing

func (o *KumactlOptions) KumactlInstallTracing() (string, error)

func (*KumactlOptions) RunKumactl

func (o *KumactlOptions) RunKumactl(args ...string) error

func (*KumactlOptions) RunKumactlAndGetOutput

func (o *KumactlOptions) RunKumactlAndGetOutput(args ...string) (string, error)

func (*KumactlOptions) RunKumactlAndGetOutputV

func (o *KumactlOptions) RunKumactlAndGetOutputV(verbose bool, args ...string) (string, error)

type PortFwd

type PortFwd struct {
	// contains filtered or unexported fields
}

type TestingT

type TestingT struct {
	ginkgo.GinkgoTInterface
	// contains filtered or unexported fields
}

func NewTestingT

func NewTestingT() *TestingT

func (*TestingT) Helper

func (i *TestingT) Helper()

func (*TestingT) Name

func (i *TestingT) Name() string

type UniversalApp

type UniversalApp struct {
	// contains filtered or unexported fields
}

func NewUniversalApp

func NewUniversalApp(t testing.TestingT, mode AppMode, verbose bool, args ...string) *UniversalApp

func (*UniversalApp) CreateDP

func (s *UniversalApp) CreateDP(token, cpIP, appname string)

func (*UniversalApp) CreateMainApp

func (s *UniversalApp) CreateMainApp(args ...string)

func (*UniversalApp) ReStart

func (s *UniversalApp) ReStart() error

func (*UniversalApp) Stop

func (s *UniversalApp) Stop() error

type UniversalCluster

type UniversalCluster struct {
	// contains filtered or unexported fields
}

func NewUniversalCluster

func NewUniversalCluster(t *TestingT, name string, verbose bool) *UniversalCluster

func (*UniversalCluster) CreateNamespace

func (c *UniversalCluster) CreateNamespace(namespace string) error

func (*UniversalCluster) DeleteApp

func (c *UniversalCluster) DeleteApp(namespace, appname string) error

func (*UniversalCluster) DeleteKuma

func (c *UniversalCluster) DeleteKuma() error

func (*UniversalCluster) DeleteNamespace

func (c *UniversalCluster) DeleteNamespace(namespace string) error

func (*UniversalCluster) DeployApp

func (c *UniversalCluster) DeployApp(namespace, appname string) error

func (*UniversalCluster) DeployKuma

func (c *UniversalCluster) DeployKuma(mode ...string) error

func (*UniversalCluster) DismissCluster

func (c *UniversalCluster) DismissCluster() (errs error)

func (*UniversalCluster) Exec

func (c *UniversalCluster) Exec(namespace, podName, containerName string, cmd ...string) (string, string, error)

func (*UniversalCluster) ExecWithRetries

func (c *UniversalCluster) ExecWithRetries(namespace, podName, appname string, cmd ...string) (string, string, error)

func (*UniversalCluster) GetKubectlOptions

func (c *UniversalCluster) GetKubectlOptions(namespace ...string) *k8s.KubectlOptions

K8s

func (*UniversalCluster) GetKuma

func (c *UniversalCluster) GetKuma() ControlPlane

func (*UniversalCluster) GetKumactlOptions

func (c *UniversalCluster) GetKumactlOptions() *KumactlOptions

func (*UniversalCluster) GetTesting

func (c *UniversalCluster) GetTesting() testing.TestingT

func (*UniversalCluster) InjectDNS

func (c *UniversalCluster) InjectDNS() error

func (*UniversalCluster) RestartKuma

func (c *UniversalCluster) RestartKuma() error

func (*UniversalCluster) VerifyKuma

func (c *UniversalCluster) VerifyKuma() error

type UniversalClusters

type UniversalClusters struct {
	// contains filtered or unexported fields
}

func (*UniversalClusters) CreateNamespace

func (cs *UniversalClusters) CreateNamespace(namespace string) error

func (*UniversalClusters) DeleteApp

func (cs *UniversalClusters) DeleteApp(namespace, appname string) error

func (*UniversalClusters) DeleteKuma

func (cs *UniversalClusters) DeleteKuma() error

func (*UniversalClusters) DeleteNamespace

func (cs *UniversalClusters) DeleteNamespace(namespace string) error

func (*UniversalClusters) DeployApp

func (cs *UniversalClusters) DeployApp(namespace, appname string) error

func (*UniversalClusters) DeployKuma

func (cs *UniversalClusters) DeployKuma(mode ...string) error

func (*UniversalClusters) DismissCluster

func (cs *UniversalClusters) DismissCluster() error

func (*UniversalClusters) Exec

func (cs *UniversalClusters) Exec(namespace, podName, containerName string, cmd ...string) (string, string, error)

func (*UniversalClusters) ExecWithRetries

func (cs *UniversalClusters) ExecWithRetries(namespace, podName, containerName string, cmd ...string) (string, string, error)

func (*UniversalClusters) GetCluster

func (cs *UniversalClusters) GetCluster(name string) Cluster

func (*UniversalClusters) GetKubectlOptions

func (cs *UniversalClusters) GetKubectlOptions(namespace ...string) *k8s.KubectlOptions

func (*UniversalClusters) GetKuma

func (cs *UniversalClusters) GetKuma() ControlPlane

func (*UniversalClusters) GetKumactlOptions

func (c *UniversalClusters) GetKumactlOptions() *KumactlOptions

func (*UniversalClusters) GetTesting

func (cs *UniversalClusters) GetTesting() testing.TestingT

func (*UniversalClusters) InjectDNS

func (cs *UniversalClusters) InjectDNS() error

func (*UniversalClusters) RestartKuma

func (cs *UniversalClusters) RestartKuma() error

func (*UniversalClusters) VerifyKuma

func (cs *UniversalClusters) VerifyKuma() error

type UniversalControlPlane

type UniversalControlPlane struct {
	// contains filtered or unexported fields
}

func NewUniversalControlPlane

func NewUniversalControlPlane(t testing.TestingT, mode mode.CpMode, clusterName string, cluster *UniversalCluster, verbose bool) *UniversalControlPlane

func (*UniversalControlPlane) AddCluster

func (c *UniversalControlPlane) AddCluster(name, url, lbAddress string) error

func (*UniversalControlPlane) GetGlobaStatusAPI

func (c *UniversalControlPlane) GetGlobaStatusAPI() string

func (*UniversalControlPlane) GetKDSServerAddress

func (c *UniversalControlPlane) GetKDSServerAddress() string

func (*UniversalControlPlane) GetKumaCPLogs

func (c *UniversalControlPlane) GetKumaCPLogs() (string, error)

func (*UniversalControlPlane) GetName

func (c *UniversalControlPlane) GetName() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL