helpers

package
v1.15.0-beta10 Latest Latest
Warning

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

Go to latest
Published: Jun 5, 2023 License: Apache-2.0 Imports: 53 Imported by: 1

Documentation

Index

Constants

View Source
const (
	ExactPath = iota
	PrefixPath
	RegexPath
)

Variables

This section is empty.

Functions

func Certificate added in v0.10.1

func Certificate() string

Certificate returns the CA certificate for the proxy.

func DeferredGoroutineLeakDetector added in v1.13.0

func DeferredGoroutineLeakDetector(t *testing.T) func()

DeferredGoroutineLeakDetector returns a function that can be used in tests to identify goroutine leaks Example usage:

	leakDetector := DeferredGoroutineLeakDetector(t)
 defer leakDetector()
 ...

NOTE TO DEVS: We would like to extend the usage of this across more test suites: https://github.com/solo-io/gloo/issues/7147

func EventuallyObjectDeleted added in v1.8.3

func EventuallyObjectDeleted(getter ObjectGetter, intervals ...interface{})

func EventuallyObjectDeletedWithOffset added in v1.8.3

func EventuallyObjectDeletedWithOffset(offset int, getter ObjectGetter, intervals ...interface{})

func EventuallyResourceAccepted added in v1.8.3

func EventuallyResourceAccepted(getter InputResourceGetter, intervals ...interface{})

func EventuallyResourceAcceptedWithOffset added in v1.14.0

func EventuallyResourceAcceptedWithOffset(offset int, getter InputResourceGetter, intervals ...interface{})

func EventuallyResourceDeleted added in v1.8.3

func EventuallyResourceDeleted(getter InputResourceGetter, intervals ...interface{})

func EventuallyResourceDeletedWithOffset added in v1.8.3

func EventuallyResourceDeletedWithOffset(offset int, getter InputResourceGetter, intervals ...interface{})

func EventuallyResourceRejected added in v1.9.0

func EventuallyResourceRejected(getter InputResourceGetter, intervals ...interface{})

func EventuallyResourceStatusMatchesState added in v1.8.3

func EventuallyResourceStatusMatchesState(offset int, getter InputResourceGetter, desiredStatusState core.Status_State, intervals ...interface{})

func EventuallyResourceWarning added in v1.8.3

func EventuallyResourceWarning(getter InputResourceGetter, intervals ...interface{})

func GetCallerDirectory added in v0.18.17

func GetCallerDirectory(skip ...int) (string, error)

returns absolute path to the currently executing directory

func GetCertificateFromString added in v1.14.2

func GetCertificateFromString(certificate string) *x509.Certificate

GetCertificateFromString returns an x509 certificate from the certificate's string representation.

func GetCerts added in v0.10.1

func GetCerts(params Params) (string, string)

GetCerts generates a signed key and certificate for the given parameters. If an IssuerKey is provided, the certificate will be signed by that key. Otherwise, a self-signed certificate will be generated.

func GetKubeSecret added in v0.10.1

func GetKubeSecret(name, namespace string) *kubev1.Secret

func GetPrivateKeyRSAFromString added in v1.14.2

func GetPrivateKeyRSAFromString(privateKey string) *rsa.PrivateKey

GetPrivateKeyRSAFromString returns an RSA private key from the key's string representation.

func GlooDir added in v0.10.1

func GlooDir() string

func GlooHelmChartDir added in v0.10.1

func GlooHelmChartDir() string

func GlooInstallDir added in v0.10.1

func GlooInstallDir() string

func GlooTestContainersDir added in v0.10.1

func GlooTestContainersDir() string

func KubeDumpOnFail added in v0.18.9

func KubeDumpOnFail(out io.Writer, namespaces ...string) func()

KubeDumpOnFail creates a small dump of the kubernetes state when a test fails. This is useful for debugging test failures. The dump is written to _output/kube2e-artifacts. The dump includes: - docker state - process state - kubernetes state - logs from all pods in the given namespaces - yaml representations of all solo.io CRs in the given namespaces

func MakeGatewayRoute added in v0.18.32

func MakeGatewayRoute(pathType, length int) *gatwayv1.Route

func MakeMatcher added in v1.0.0

func MakeMatcher(pathType, length int) *matchers.Matcher

func MakeMultiMatcherRoute added in v1.0.0

func MakeMultiMatcherRoute(pathType1, length1, pathType2, length2 int) *v1.Route

func MakeRoute added in v0.10.1

func MakeRoute(pathType, length int) *v1.Route

func MtlsCertificate added in v1.14.0

func MtlsCertificate() string

MtlsCertificate returns an mTLS CA certificate for the proxy.

func MtlsPrivateKey added in v1.14.0

func MtlsPrivateKey() string

MtlsPrivateKey returns an mTLS CA private key for the proxy.

func Must

func Must(err error)

func MustReadFile added in v0.18.17

func MustReadFile(name string) []byte

returns absolute path to the currently executing directory

func NewSnapshotWriter added in v1.12.21

func NewSnapshotWriter(clientSet ResourceClientSet, retryOptions []retry.Option) *snapshotWriterImpl

func PatchResource added in v1.12.32

func PatchResource(ctx context.Context, resourceRef *core.ResourceRef, mutator func(resource resources.Resource) resources.Resource, client clients.ResourceClient) error

PatchResource mutates an existing persisted resource, retrying if a resourceVersionError is encountered The mutator method must return the full object that will be persisted, any side effects from the mutator will be ignored

func PatchResourceWithOffset added in v1.12.32

func PatchResourceWithOffset(offset int, ctx context.Context, resourceRef *core.ResourceRef, mutator func(resource resources.Resource) resources.Resource, client clients.ResourceClient) error

PatchResourceWithOffset mutates an existing persisted resource, retrying if a resourceVersionError is encountered The mutator method must return the full object that will be persisted, any side effects from the mutator will be ignored

func PrintGlooDebugLogs added in v1.0.0

func PrintGlooDebugLogs()

func PrivateKey added in v0.10.1

func PrivateKey() string

PrivateKey returns the CA private key for the proxy.

func ReadMetricByLabel added in v1.9.25

func ReadMetricByLabel(metricName string, labelKey string, labelValue string) (int, error)

ReadMetricByLabel looks up the specified metricName and returns the latest data recorded for the time series with the specified label key/value pair.

If the metric has not yet been registered, this function will fail. If the metric has been registered, but there is not yet any time series data recorded with the label key/value provided, then an error is returned. The error response allows tests to distinguish "the metric was never recorded" from "a value of 0 was recorded"

func RegisterGlooDebugLogPrintHandler added in v0.18.12

func RegisterGlooDebugLogPrintHandler()

func RegisterGlooDebugLogPrintHandlerAndClearLogs added in v0.18.12

func RegisterGlooDebugLogPrintHandlerAndClearLogs()

func WriteDefaultGateways added in v1.2.13

func WriteDefaultGateways(writeNamespace string, gatewayClient v1.GatewayClient) error

Types

type FakeOcspResponder added in v1.14.2

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

FakeOcspResponder is a fake OCSP responder that can be used to generate OCSP responses.

func NewFakeOcspResponder added in v1.14.2

func NewFakeOcspResponder(rootCa *x509.Certificate, rootKey interface{}) *FakeOcspResponder

NewFakeOcspResponder creates a new fake OCSP responder from the given root CA.

func (*FakeOcspResponder) GetOcspResponse added in v1.14.2

func (f *FakeOcspResponder) GetOcspResponse(certificate *x509.Certificate, expiration time.Duration, isRevoked bool, resp ocsp.Response) []byte

GetOcspResponse returns a DER-encoded OCSP response for the given certificate. You pass it the certificate to get a response for, the expiration time of the response, and whether the certificate should be revoked. You can also pass it an ocsp.Response to use as a template for the response. This allows for customizing the response wanted.

type InputResourceGetter added in v1.8.3

type InputResourceGetter func() (resources.InputResource, error)

type InputResourceListGetter added in v1.8.3

type InputResourceListGetter func() (resources.InputResourceList, error)

type ObjectGetter added in v1.8.3

type ObjectGetter func() (client.Object, error)

type Params added in v0.10.1

type Params struct {
	Hosts            string             // Comma-separated hostnames and IPs to generate a certificate for
	ValidFrom        *time.Time         // Creation date
	ValidFor         *time.Duration     // Duration that certificate is valid for
	IsCA             bool               // whether this cert should be its own Certificate Authority
	RsaBits          int                // Size of RSA key to generate. Ignored if EcdsaCurve is set
	EcdsaCurve       string             // ECDSA curve to use to generate a key. Valid values are P224, P256 (recommended), P384, P521
	AdditionalUsages []x509.ExtKeyUsage // Usages to define in addition to default x509.ExtKeyUsageServerAuth
	IssuerKey        interface{}        // If provided, the certificate will be signed by this key
}

Params includes parameters used to generate an x509 certificate.

type ResourceClientSet added in v1.12.21

type ResourceClientSet interface {
	GatewayClient() gatewayv1.GatewayClient
	HttpGatewayClient() gatewayv1.MatchableHttpGatewayClient
	TcpGatewayClient() gatewayv1.MatchableTcpGatewayClient
	VirtualServiceClient() gatewayv1.VirtualServiceClient
	RouteTableClient() gatewayv1.RouteTableClient
	VirtualHostOptionClient() gatewayv1.VirtualHostOptionClient
	RouteOptionClient() gatewayv1.RouteOptionClient
	SettingsClient() gloov1.SettingsClient
	UpstreamGroupClient() gloov1.UpstreamGroupClient
	UpstreamClient() gloov1.UpstreamClient
	ProxyClient() gloov1.ProxyClient
	AuthConfigClient() extauthv1.AuthConfigClient
	RateLimitConfigClient() externalrl.RateLimitConfigClient
	SecretClient() gloov1.SecretClient
	ArtifactClient() gloov1.ArtifactClient
}

type SnapshotWriter added in v1.12.21

type SnapshotWriter interface {
	WriteSnapshot(snapshot *gloosnapshot.ApiSnapshot, writeOptions clients.WriteOpts) error
	DeleteSnapshot(snapshot *gloosnapshot.ApiSnapshot, deleteOptions clients.DeleteOpts) error
}

type VirtualServiceBuilder added in v1.14.0

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

VirtualServiceBuilder simplifies the process of generating VirtualServices in tests

func BuilderFromVirtualService added in v1.12.21

func BuilderFromVirtualService(vs *v1.VirtualService) *VirtualServiceBuilder

func NewVirtualServiceBuilder added in v1.9.25

func NewVirtualServiceBuilder() *VirtualServiceBuilder

func (*VirtualServiceBuilder) Build added in v1.14.0

func (*VirtualServiceBuilder) Clone added in v1.14.0

func (*VirtualServiceBuilder) WithDomain added in v1.14.0

func (b *VirtualServiceBuilder) WithDomain(domain string) *VirtualServiceBuilder

func (*VirtualServiceBuilder) WithName added in v1.14.0

func (*VirtualServiceBuilder) WithNamespace added in v1.14.0

func (b *VirtualServiceBuilder) WithNamespace(namespace string) *VirtualServiceBuilder

func (*VirtualServiceBuilder) WithRoute added in v1.14.0

func (b *VirtualServiceBuilder) WithRoute(routeName string, route *v1.Route) *VirtualServiceBuilder

func (*VirtualServiceBuilder) WithRouteAction added in v1.14.0

func (b *VirtualServiceBuilder) WithRouteAction(routeName string, routeAction *gloov1.RouteAction) *VirtualServiceBuilder

func (*VirtualServiceBuilder) WithRouteActionToMultiDestination added in v1.14.0

func (b *VirtualServiceBuilder) WithRouteActionToMultiDestination(routeName string, destination *gloov1.MultiDestination) *VirtualServiceBuilder

func (*VirtualServiceBuilder) WithRouteActionToSingleDestination added in v1.14.0

func (b *VirtualServiceBuilder) WithRouteActionToSingleDestination(routeName string, destination *gloov1.Destination) *VirtualServiceBuilder

func (*VirtualServiceBuilder) WithRouteActionToUpstream added in v1.14.0

func (b *VirtualServiceBuilder) WithRouteActionToUpstream(routeName string, upstream *gloov1.Upstream) *VirtualServiceBuilder

func (*VirtualServiceBuilder) WithRouteActionToUpstreamRef added in v1.14.0

func (b *VirtualServiceBuilder) WithRouteActionToUpstreamRef(routeName string, upstreamRef *core.ResourceRef) *VirtualServiceBuilder

func (*VirtualServiceBuilder) WithRouteDelegateAction added in v1.14.0

func (b *VirtualServiceBuilder) WithRouteDelegateAction(routeName string, delegateAction *v1.DelegateAction) *VirtualServiceBuilder

func (*VirtualServiceBuilder) WithRouteDelegateActionRef added in v1.14.0

func (b *VirtualServiceBuilder) WithRouteDelegateActionRef(routeName string, delegateRef *core.ResourceRef) *VirtualServiceBuilder

func (*VirtualServiceBuilder) WithRouteDelegateActionSelector added in v1.14.0

func (b *VirtualServiceBuilder) WithRouteDelegateActionSelector(routeName string, delegateSelector *v1.RouteTableSelector) *VirtualServiceBuilder

func (*VirtualServiceBuilder) WithRouteDirectResponseAction added in v1.14.0

func (b *VirtualServiceBuilder) WithRouteDirectResponseAction(routeName string, action *gloov1.DirectResponseAction) *VirtualServiceBuilder

func (*VirtualServiceBuilder) WithRouteMatcher added in v1.14.0

func (b *VirtualServiceBuilder) WithRouteMatcher(routeName string, matcher *matchers.Matcher) *VirtualServiceBuilder

func (*VirtualServiceBuilder) WithRouteMutation added in v1.14.0

func (b *VirtualServiceBuilder) WithRouteMutation(routeName string, mutation func(route *v1.Route)) *VirtualServiceBuilder

func (*VirtualServiceBuilder) WithRouteOptions added in v1.14.0

func (b *VirtualServiceBuilder) WithRouteOptions(routeName string, routeOptions *gloov1.RouteOptions) *VirtualServiceBuilder

func (*VirtualServiceBuilder) WithRoutePrefixMatcher added in v1.14.0

func (b *VirtualServiceBuilder) WithRoutePrefixMatcher(routeName string, prefixMatch string) *VirtualServiceBuilder

func (*VirtualServiceBuilder) WithSslConfig added in v1.14.0

func (b *VirtualServiceBuilder) WithSslConfig(sslConfig *ssl.SslConfig) *VirtualServiceBuilder

func (*VirtualServiceBuilder) WithVirtualHostOptions added in v1.14.0

func (b *VirtualServiceBuilder) WithVirtualHostOptions(virtualHostOptions *gloov1.VirtualHostOptions) *VirtualServiceBuilder

Jump to

Keyboard shortcuts

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