Documentation ¶
Index ¶
- Constants
- func ClaimSystemNamespace(ctx resource.Context) (namespace.Instance, error)
- func ClaimSystemNamespaceOrFail(t test.Failer, ctx resource.Context) namespace.Instance
- func CreateRemoteSecret(ctx resource.Context, c cluster.Cluster, cfg Config, opts ...string) (string, error)
- func DefaultIngress(ctx resource.Context) (ingress.Instance, error)
- func DefaultIngressOrFail(t test.Failer, ctx resource.Context) ingress.Instance
- func Indent(text, indent string) string
- func Ingresses(ctx resource.Context) (ingress.Instances, error)
- func IngressesOrFail(t test.Failer, ctx resource.Context) ingress.Instances
- func PatchMeshConfig(t resource.Context, ns string, clusters cluster.Clusters, patch string) error
- func PatchMeshConfigOrFail(t framework.TestContext, ns string, clusters cluster.Clusters, patch string)
- func Setup(i *Instance, cfn SetupConfigFn, ctxFns ...SetupContextFn) resource.SetupFn
- type Config
- type Instance
- type SetupConfigFn
- type SetupContextFn
Constants ¶
const ( // DefaultSystemNamespace default value for SystemNamespace DefaultSystemNamespace = "dubbo-system" // IntegrationTestDefaultsIOP is the path of the default IstioOperator spec to use // for integration tests IntegrationTestDefaultsIOP = "tests/integration/iop-integration-test-defaults.yaml" // IntegrationTestDefaultsIOPWithQUIC is the path of the default IstioOperator spec to // use for integration tests involving QUIC IntegrationTestDefaultsIOPWithQUIC = "tests/integration/iop-integration-test-defaults-with-quic.yaml" // IntegrationTestRemoteDefaultsIOP is the path of the default IstioOperator spec to use // on remote clusters for integration tests IntegrationTestRemoteDefaultsIOP = "tests/integration/iop-remote-integration-test-defaults.yaml" // BaseIOP is the path of the base IstioOperator spec BaseIOP = "tests/integration/base.yaml" // IntegrationTestRemoteGatewaysIOP is the path of the default IstioOperator spec to use // to install gateways on remote clusters for integration tests IntegrationTestRemoteGatewaysIOP = "tests/integration/iop-remote-integration-test-gateways.yaml" // IntegrationTestExternalIstiodPrimaryDefaultsIOP is the path of the default IstioOperator spec to use // on external istiod primary clusters for integration tests IntegrationTestExternalIstiodPrimaryDefaultsIOP = "tests/integration/iop-externalistiod-primary-integration-test-defaults.yaml" // IntegrationTestExternalIstiodConfigDefaultsIOP is the path of the default IstioOperator spec to use // on external istiod config clusters for integration tests IntegrationTestExternalIstiodConfigDefaultsIOP = "tests/integration/iop-externalistiod-config-integration-test-defaults.yaml" )
Variables ¶
This section is empty.
Functions ¶
func ClaimSystemNamespace ¶
ClaimSystemNamespace retrieves the namespace for the Istio system components from the environment.
func ClaimSystemNamespaceOrFail ¶
ClaimSystemNamespaceOrFail calls ClaimSystemNamespace, failing the test if an error occurs.
func CreateRemoteSecret ¶
func DefaultIngress ¶
DefaultIngress returns the ingress installed in the default cluster. The ingress's service name will be "istio-ingressgateway" and the istio label will be "ingressgateway".
func DefaultIngressOrFail ¶
DefaultIngressOrFail calls DefaultIngress and fails if an error is encountered.
func IngressesOrFail ¶
IngressesOrFail calls Ingresses and fails if an error is encountered.
func PatchMeshConfig ¶
func PatchMeshConfigOrFail ¶
func Setup ¶
func Setup(i *Instance, cfn SetupConfigFn, ctxFns ...SetupContextFn) resource.SetupFn
Setup is a setup function that will deploy Istio on Kubernetes environment
Types ¶
type Config ¶
type Config struct { // The namespace where the Istio components (<=1.1) reside in a typical deployment (default: "dubbo-system"). SystemNamespace string // The namespace in which kiali, tracing providers, graphana, prometheus are deployed. TelemetryNamespace string // The IstioOperator spec file to be used for Control plane cluster by default PrimaryClusterIOPFile string // The IstioOperator spec file to be used for Config cluster by default ConfigClusterIOPFile string // The IstioOperator spec file to be used for Remote cluster by default RemoteClusterIOPFile string // The IstioOperator spec file used as the base for all installs BaseIOPFile string // Override values specifically for the ICP crd // This is mostly required for cases where --set cannot be used // These values are applied to non-remote clusters ControlPlaneValues string // Override values specifically for the ICP crd // This is mostly required for cases where --set cannot be used // These values are only applied to remote clusters // Default value will be ControlPlaneValues if no remote values provided RemoteClusterValues string // Override values specifically for the ICP crd // This is mostly required for cases where --set cannot be used // These values are only applied to remote config clusters // Default value will be ControlPlaneValues if no remote values provided ConfigClusterValues string // Overrides for the Helm values file. Values map[string]string // Indicates that the test should deploy Istio into the target Kubernetes cluster before running tests. DeployIstio bool // Do not wait for the validation webhook before completing the deployment. This is useful for // doing deployments without Galley. SkipWaitForValidationWebhook bool // Indicates that the test should deploy Istio's east west gateway into the target Kubernetes cluster // before running tests. DeployEastWestGW bool // DumpKubernetesManifests will cause Kubernetes YAML generated by istioctl install/generate to be dumped to artifacts. DumpKubernetesManifests bool // IstiodlessRemotes makes remote clusters run without istiod, using webhooks/ca from the primary cluster. // TODO we could set this per-cluster if istiod was smarter about patching remotes. IstiodlessRemotes bool // OperatorOptions overrides default operator configuration. OperatorOptions map[string]string // EnableCNI indicates the test should have CNI enabled. EnableCNI bool }
Config provide kube-specific Config from flags.
func DefaultConfig ¶
DefaultConfig creates a new Config from defaults, environments variables, and command-line parameters.
func DefaultConfigOrFail ¶
DefaultConfigOrFail calls DefaultConfig and fails t if an error occurs.
func (*Config) IstioOperatorConfigYAML ¶
type Instance ¶
type Instance interface { resource.Resource // Ingresses returns all ingresses for "istio-ingressgateway" in each cluster. Ingresses() ingress.Instances // IngressFor returns an ingress used for reaching workloads in the given cluster. // The ingress's service name will be "istio-ingressgateway" and the istio label will be "ingressgateway". IngressFor(cluster cluster.Cluster) ingress.Instance // CustomIngressFor returns an ingress with a specific service name and "istio" label used for reaching workloads // in the given cluster. CustomIngressFor(cluster cluster.Cluster, serviceName, istioLabel string) ingress.Instance // RemoteDiscoveryAddressFor returns the external address of the discovery server that controls // the given cluster. This allows access to the discovery server from // outside its cluster. RemoteDiscoveryAddressFor(cluster cluster.Cluster) (net.TCPAddr, error) Settings() Config }
Instance represents a deployed Istio instance
func Deploy ¶
Deploy deploys (or attaches to) an Istio deployment and returns a handle. If cfg is nil, then DefaultConfig is used.
type SetupConfigFn ¶
SetupConfigFn is a setup function that specifies the overrides of the configuration to deploy Istio.
type SetupContextFn ¶
SetupContextFn is a setup function that uses Context for configuration.