v1alpha1

package
v0.0.0-...-9d4be0d Latest Latest
Warning

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

Go to latest
Published: Apr 29, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the ingress v1alpha1 API group +kubebuilder:object:generate=true +groupName=ingress.k8s.ngrok.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "ingress.k8s.ngrok.com", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type BackendConfig

type BackendConfig struct {
	Protocol string `json:"protocol,omitempty"`
}

BackendConfig defines the configuration for backend connections to services. This can be extended to include ServerName, InsecureSkipVerify, etc. down the road.

func (*BackendConfig) DeepCopy

func (in *BackendConfig) DeepCopy() *BackendConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendConfig.

func (*BackendConfig) DeepCopyInto

func (in *BackendConfig) DeepCopyInto(out *BackendConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Domain

type Domain struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   DomainSpec   `json:"spec,omitempty"`
	Status DomainStatus `json:"status,omitempty"`
}

Domain is the Schema for the domains API

func (*Domain) DeepCopy

func (in *Domain) DeepCopy() *Domain

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Domain.

func (*Domain) DeepCopyInto

func (in *Domain) DeepCopyInto(out *Domain)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Domain) DeepCopyObject

func (in *Domain) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Domain) Equal

func (d *Domain) Equal(ngrokDomain *ngrok.ReservedDomain) bool

Equal returns true if the domain status is equal to the ngrok domain

func (*Domain) SetStatus

func (d *Domain) SetStatus(ngrokDomain *ngrok.ReservedDomain)

SetStatus pulls the fields off the ngrok domain and sets each one on the status field of the domain

type DomainList

type DomainList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Domain `json:"items"`
}

DomainList contains a list of ReservedDomain

func (*DomainList) DeepCopy

func (in *DomainList) DeepCopy() *DomainList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainList.

func (*DomainList) DeepCopyInto

func (in *DomainList) DeepCopyInto(out *DomainList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DomainList) DeepCopyObject

func (in *DomainList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type DomainSpec

type DomainSpec struct {

	// Domain is the domain name to reserve
	// +kubebuilder:validation:Required
	Domain string `json:"domain"`

	// Region is the region in which to reserve the domain
	// +kubebuilder:validation:Required
	Region string `json:"region,omitempty"`
	// contains filtered or unexported fields
}

DomainSpec defines the desired state of Domain

func (*DomainSpec) DeepCopy

func (in *DomainSpec) DeepCopy() *DomainSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainSpec.

func (*DomainSpec) DeepCopyInto

func (in *DomainSpec) DeepCopyInto(out *DomainSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DomainStatus

type DomainStatus struct {

	// ID is the unique identifier of the domain
	ID string `json:"id,omitempty"`

	// Domain is the domain that was reserved
	Domain string `json:"domain,omitempty"`

	// Region is the region in which the domain was created
	Region string `json:"region,omitempty"`

	// URI of the reserved domain API resource
	URI string `json:"uri,omitempty"`

	// CNAMETarget is the CNAME target for the domain
	CNAMETarget *string `json:"cnameTarget,omitempty"`
}

DomainStatus defines the observed state of Domain

func (*DomainStatus) DeepCopy

func (in *DomainStatus) DeepCopy() *DomainStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainStatus.

func (*DomainStatus) DeepCopyInto

func (in *DomainStatus) DeepCopyInto(out *DomainStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EndpointAction

type EndpointAction struct {
	Type string `json:"type,omitempty"`
	// +kubebuilder:validation:Schemaless
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Type=object
	Config json.RawMessage `json:"config,omitempty"`
}

func (*EndpointAction) DeepCopy

func (in *EndpointAction) DeepCopy() *EndpointAction

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointAction.

func (*EndpointAction) DeepCopyInto

func (in *EndpointAction) DeepCopyInto(out *EndpointAction)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EndpointAction) ToNgrok

func (action *EndpointAction) ToNgrok() *ngrok.EndpointAction

type EndpointCircuitBreaker

type EndpointCircuitBreaker struct {
	// Duration after which the circuit is tripped to wait before re-evaluating upstream health
	//+kubebuilder:validation:Format=duration
	TrippedDuration v1.Duration `json:"trippedDuration,omitempty"`

	// Statistical rolling window duration that metrics are retained for.
	//+kubebuilder:validation:Format=duration
	RollingWindow v1.Duration `json:"rollingWindow,omitempty"`

	// Integer number of buckets into which metrics are retained. Max 128.
	//+kubebuilder:validation:Minimum=1
	//+kubebuilder:validation:Maximum=128
	NumBuckets uint32 `json:"numBuckets,omitempty"`

	// Integer number of requests in a rolling window that will trip the circuit.
	// Helpful if traffic volume is low.
	VolumeThreshold uint32 `json:"volumeThreshold,omitempty"`

	// Error threshold percentage should be between 0 - 1.0, not 0-100.0
	ErrorThresholdPercentage resource.Quantity `json:"errorThresholdPercentage,omitempty"`
}

func (*EndpointCircuitBreaker) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointCircuitBreaker.

func (*EndpointCircuitBreaker) DeepCopyInto

func (in *EndpointCircuitBreaker) DeepCopyInto(out *EndpointCircuitBreaker)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EndpointCompression

type EndpointCompression struct {
	// Enabled is whether or not to enable compression for this endpoint
	Enabled bool `json:"enabled,omitempty"`
}

func (*EndpointCompression) DeepCopy

func (in *EndpointCompression) DeepCopy() *EndpointCompression

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointCompression.

func (*EndpointCompression) DeepCopyInto

func (in *EndpointCompression) DeepCopyInto(out *EndpointCompression)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EndpointHeaders

type EndpointHeaders struct {
	// Request headers are the request headers module configuration or null
	Request *EndpointRequestHeaders `json:"request,omitempty"`
	// Response headers are the response headers module configuration or null
	Response *EndpointResponseHeaders `json:"response,omitempty"`
}

func (*EndpointHeaders) DeepCopy

func (in *EndpointHeaders) DeepCopy() *EndpointHeaders

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointHeaders.

func (*EndpointHeaders) DeepCopyInto

func (in *EndpointHeaders) DeepCopyInto(out *EndpointHeaders)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EndpointIPPolicy

type EndpointIPPolicy struct {
	IPPolicies []string `json:"policies,omitempty"`
}

func (*EndpointIPPolicy) DeepCopy

func (in *EndpointIPPolicy) DeepCopy() *EndpointIPPolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointIPPolicy.

func (*EndpointIPPolicy) DeepCopyInto

func (in *EndpointIPPolicy) DeepCopyInto(out *EndpointIPPolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EndpointMutualTLS

type EndpointMutualTLS struct {
	// List of CA IDs that will be used to validate incoming connections to the
	// edge.
	CertificateAuthorities []string `json:"certificateAuthorities,omitempty"`
}

func (*EndpointMutualTLS) DeepCopy

func (in *EndpointMutualTLS) DeepCopy() *EndpointMutualTLS

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointMutualTLS.

func (*EndpointMutualTLS) DeepCopyInto

func (in *EndpointMutualTLS) DeepCopyInto(out *EndpointMutualTLS)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EndpointOAuth

type EndpointOAuth struct {
	// configuration for using github as the identity provider
	Github *EndpointOAuthGitHub `json:"github,omitempty"`
	// configuration for using facebook as the identity provider
	Facebook *EndpointOAuthFacebook `json:"facebook,omitempty"`
	// configuration for using microsoft as the identity provider
	Microsoft *EndpointOAuthMicrosoft `json:"microsoft,omitempty"`
	// configuration for using google as the identity provider
	Google *EndpointOAuthGoogle `json:"google,omitempty"`
	// configuration for using linkedin as the identity provider
	Linkedin *EndpointOAuthLinkedIn `json:"linkedin,omitempty"`
	// configuration for using gitlab as the identity provider
	Gitlab *EndpointOAuthGitLab `json:"gitlab,omitempty"`
	// configuration for using twitch as the identity provider
	Twitch *EndpointOAuthTwitch `json:"twitch,omitempty"`
	// configuration for using amazon as the identity provider
	Amazon *EndpointOAuthAmazon `json:"amazon,omitempty"`
}

func (*EndpointOAuth) DeepCopy

func (in *EndpointOAuth) DeepCopy() *EndpointOAuth

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointOAuth.

func (*EndpointOAuth) DeepCopyInto

func (in *EndpointOAuth) DeepCopyInto(out *EndpointOAuth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EndpointOAuthAmazon

type EndpointOAuthAmazon struct {
	OAuthProviderCommon `json:",inline"`
}

func (*EndpointOAuthAmazon) DeepCopy

func (in *EndpointOAuthAmazon) DeepCopy() *EndpointOAuthAmazon

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointOAuthAmazon.

func (*EndpointOAuthAmazon) DeepCopyInto

func (in *EndpointOAuthAmazon) DeepCopyInto(out *EndpointOAuthAmazon)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EndpointOAuthAmazon) ToNgrok

func (amazon *EndpointOAuthAmazon) ToNgrok(clientSecret *string) *ngrok.EndpointOAuth

type EndpointOAuthFacebook

type EndpointOAuthFacebook struct {
	OAuthProviderCommon `json:",inline"`
}

func (*EndpointOAuthFacebook) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointOAuthFacebook.

func (*EndpointOAuthFacebook) DeepCopyInto

func (in *EndpointOAuthFacebook) DeepCopyInto(out *EndpointOAuthFacebook)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EndpointOAuthFacebook) ToNgrok

func (facebook *EndpointOAuthFacebook) ToNgrok(clientSecret *string) *ngrok.EndpointOAuth

type EndpointOAuthGitHub

type EndpointOAuthGitHub struct {
	OAuthProviderCommon `json:",inline"`
	// a list of github teams identifiers. users will be allowed access to the endpoint
	// if they are a member of any of these teams. identifiers should be in the 'slug'
	// format qualified with the org name, e.g. org-name/team-name
	Teams []string `json:"teams,omitempty"`
	// a list of github org identifiers. users who are members of any of the listed
	// organizations will be allowed access. identifiers should be the organization's
	// 'slug'
	Organizations []string `json:"organizations,omitempty"`
}

func (*EndpointOAuthGitHub) DeepCopy

func (in *EndpointOAuthGitHub) DeepCopy() *EndpointOAuthGitHub

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointOAuthGitHub.

func (*EndpointOAuthGitHub) DeepCopyInto

func (in *EndpointOAuthGitHub) DeepCopyInto(out *EndpointOAuthGitHub)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EndpointOAuthGitHub) ToNgrok

func (github *EndpointOAuthGitHub) ToNgrok(clientSecret *string) *ngrok.EndpointOAuth

type EndpointOAuthGitLab

type EndpointOAuthGitLab struct {
	OAuthProviderCommon `json:",inline"`
}

func (*EndpointOAuthGitLab) DeepCopy

func (in *EndpointOAuthGitLab) DeepCopy() *EndpointOAuthGitLab

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointOAuthGitLab.

func (*EndpointOAuthGitLab) DeepCopyInto

func (in *EndpointOAuthGitLab) DeepCopyInto(out *EndpointOAuthGitLab)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EndpointOAuthGitLab) ToNgrok

func (gitlab *EndpointOAuthGitLab) ToNgrok(clientSecret *string) *ngrok.EndpointOAuth

type EndpointOAuthGoogle

type EndpointOAuthGoogle struct {
	OAuthProviderCommon `json:",inline"`
}

func (*EndpointOAuthGoogle) DeepCopy

func (in *EndpointOAuthGoogle) DeepCopy() *EndpointOAuthGoogle

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointOAuthGoogle.

func (*EndpointOAuthGoogle) DeepCopyInto

func (in *EndpointOAuthGoogle) DeepCopyInto(out *EndpointOAuthGoogle)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EndpointOAuthGoogle) ToNgrok

func (google *EndpointOAuthGoogle) ToNgrok(clientSecret *string) *ngrok.EndpointOAuth

type EndpointOAuthLinkedIn

type EndpointOAuthLinkedIn struct {
	OAuthProviderCommon `json:",inline"`
}

func (*EndpointOAuthLinkedIn) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointOAuthLinkedIn.

func (*EndpointOAuthLinkedIn) DeepCopyInto

func (in *EndpointOAuthLinkedIn) DeepCopyInto(out *EndpointOAuthLinkedIn)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EndpointOAuthLinkedIn) ToNgrok

func (linkedin *EndpointOAuthLinkedIn) ToNgrok(clientSecret *string) *ngrok.EndpointOAuth

type EndpointOAuthMicrosoft

type EndpointOAuthMicrosoft struct {
	OAuthProviderCommon `json:",inline"`
}

func (*EndpointOAuthMicrosoft) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointOAuthMicrosoft.

func (*EndpointOAuthMicrosoft) DeepCopyInto

func (in *EndpointOAuthMicrosoft) DeepCopyInto(out *EndpointOAuthMicrosoft)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EndpointOAuthMicrosoft) ToNgrok

func (microsoft *EndpointOAuthMicrosoft) ToNgrok(clientSecret *string) *ngrok.EndpointOAuth

type EndpointOAuthTwitch

type EndpointOAuthTwitch struct {
	OAuthProviderCommon `json:",inline"`
}

func (*EndpointOAuthTwitch) DeepCopy

func (in *EndpointOAuthTwitch) DeepCopy() *EndpointOAuthTwitch

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointOAuthTwitch.

func (*EndpointOAuthTwitch) DeepCopyInto

func (in *EndpointOAuthTwitch) DeepCopyInto(out *EndpointOAuthTwitch)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EndpointOAuthTwitch) ToNgrok

func (twitch *EndpointOAuthTwitch) ToNgrok(clientSecret *string) *ngrok.EndpointOAuth

type EndpointOIDC

type EndpointOIDC struct {
	// Do not enforce authentication on HTTP OPTIONS requests. necessary if you are
	// supporting CORS.
	OptionsPassthrough bool `json:"optionsPassthrough,omitempty"`
	// the prefix of the session cookie that ngrok sets on the http client to cache
	// authentication. default is 'ngrok.'
	CookiePrefix string `json:"cookiePrefix,omitempty"`
	// Duration of inactivity after which if the user has not accessed
	// the endpoint, their session will time out and they will be forced to
	// reauthenticate.
	//+kubebuilder:validation:Format=duration
	InactivityTimeout v1.Duration `json:"inactivityTimeout,omitempty"`
	// The maximum duration of an authenticated session.
	// After this period is exceeded, a user must reauthenticate.
	//+kubebuilder:validation:Format=duration
	MaximumDuration v1.Duration `json:"maximumDuration,omitempty"`
	// URL of the OIDC "OpenID provider". This is the base URL used for discovery.
	Issuer string `json:"issuer,omitempty"`
	// The OIDC app's client ID and OIDC audience.
	ClientID string `json:"clientId,omitempty"`
	// The OIDC app's client secret.
	ClientSecret SecretKeyRef `json:"clientSecret,omitempty"`
	// The set of scopes to request from the OIDC identity provider.
	Scopes []string `json:"scopes,omitempty"`
}

func (*EndpointOIDC) DeepCopy

func (in *EndpointOIDC) DeepCopy() *EndpointOIDC

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointOIDC.

func (*EndpointOIDC) DeepCopyInto

func (in *EndpointOIDC) DeepCopyInto(out *EndpointOIDC)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EndpointPolicy

type EndpointPolicy struct {
	// Determines if the rule will be applied to traffic
	Enabled *bool `json:"enabled,omitempty"`
	// Inbound traffic rule
	Inbound []EndpointRule `json:"inbound,omitempty"`
	// Outbound traffic rule
	Outbound []EndpointRule `json:"outbound,omitempty"`
}

func (*EndpointPolicy) DeepCopy

func (in *EndpointPolicy) DeepCopy() *EndpointPolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointPolicy.

func (*EndpointPolicy) DeepCopyInto

func (in *EndpointPolicy) DeepCopyInto(out *EndpointPolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EndpointPolicy) ToNgrok

func (policy *EndpointPolicy) ToNgrok() *ngrok.EndpointPolicy

type EndpointRequestHeaders

type EndpointRequestHeaders struct {
	// a map of header key to header value that will be injected into the HTTP Request
	// before being sent to the upstream application server
	Add map[string]string `json:"add,omitempty"`
	// a list of header names that will be removed from the HTTP Request before being
	// sent to the upstream application server
	Remove []string `json:"remove,omitempty"`
}

EndpointRequestHeaders is the configuration for a HTTPSEdgeRoute's request headers to be added or removed from the request before it is sent to the backend service.

func (*EndpointRequestHeaders) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointRequestHeaders.

func (*EndpointRequestHeaders) DeepCopyInto

func (in *EndpointRequestHeaders) DeepCopyInto(out *EndpointRequestHeaders)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EndpointResponseHeaders

type EndpointResponseHeaders struct {
	// a map of header key to header value that will be injected into the HTTP Response
	// returned to the HTTP client
	Add map[string]string `json:"add,omitempty"`
	// a list of header names that will be removed from the HTTP Response returned to
	// the HTTP client
	Remove []string `json:"remove,omitempty"`
}

EndpointResponseHeaders is the configuration for a HTTPSEdgeRoute's response headers to be added or removed from the response before it is sent to the client.

func (*EndpointResponseHeaders) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointResponseHeaders.

func (*EndpointResponseHeaders) DeepCopyInto

func (in *EndpointResponseHeaders) DeepCopyInto(out *EndpointResponseHeaders)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EndpointRule

type EndpointRule struct {
	// Expressions
	Expressions []string `json:"expressions,omitempty"`
	// Actions
	Actions []EndpointAction `json:"actions,omitempty"`
	// Name
	Name string `json:"name,omitempty"`
}

func (*EndpointRule) DeepCopy

func (in *EndpointRule) DeepCopy() *EndpointRule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointRule.

func (*EndpointRule) DeepCopyInto

func (in *EndpointRule) DeepCopyInto(out *EndpointRule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EndpointRule) ToNgrok

func (rule *EndpointRule) ToNgrok() *ngrok.EndpointRule

type EndpointSAML

type EndpointSAML struct {
	// Do not enforce authentication on HTTP OPTIONS requests. necessary if you are
	// supporting CORS.
	OptionsPassthrough bool `json:"optionsPassthrough,omitempty"`
	// the prefix of the session cookie that ngrok sets on the http client to cache
	// authentication. default is 'ngrok.'
	CookiePrefix string `json:"cookiePrefix,omitempty"`
	// Duration of inactivity after which if the user has not accessed
	// the endpoint, their session will time out and they will be forced to
	// reauthenticate.
	//+kubebuilder:validation:Format=duration
	InactivityTimeout v1.Duration `json:"inactivityTimeout,omitempty"`
	// The maximum duration of an authenticated session.
	// After this period is exceeded, a user must reauthenticate.
	//+kubebuilder:validation:Format=duration
	MaximumDuration v1.Duration `json:"maximumDuration,omitempty"`
	// The full XML IdP EntityDescriptor. Your IdP may provide this to you as a a file
	// to download or as a URL.
	IdPMetadata string `json:"idpMetadata,omitempty"`
	// If true, indicates that whenever we redirect a user to the IdP for
	// authentication that the IdP must prompt the user for authentication credentials
	// even if the user already has a valid session with the IdP.
	ForceAuthn bool `json:"forceAuthn,omitempty"`
	// If true, the IdP may initiate a login directly (e.g. the user does not need to
	// visit the endpoint first and then be redirected). The IdP should set the
	// RelayState parameter to the target URL of the resource they want the user to be
	// redirected to after the SAML login assertion has been processed.
	AllowIdPInitiated *bool `json:"allowIdpInitiated,omitempty"`
	// If present, only users who are a member of one of the listed groups may access
	// the target endpoint.
	AuthorizedGroups []string `json:"authorizedGroups,omitempty"`
	// Defines the name identifier format the SP expects the IdP to use in its
	// assertions to identify subjects. If unspecified, a default value of
	// urn:oasis:names:tc:SAML:2.0:nameid-format:persistent will be used. A subset of
	// the allowed values enumerated by the SAML specification are supported.
	NameIDFormat string `json:"nameidFormat,omitempty"`
}

func (*EndpointSAML) DeepCopy

func (in *EndpointSAML) DeepCopy() *EndpointSAML

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointSAML.

func (*EndpointSAML) DeepCopyInto

func (in *EndpointSAML) DeepCopyInto(out *EndpointSAML)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EndpointTLSTermination

type EndpointTLSTermination struct {
	// TerminateAt determines where the TLS connection should be terminated.
	// "edge" if the ngrok edge should terminate TLS traffic, "upstream" if TLS
	// traffic should be passed through to the upstream ngrok agent /
	// application server for termination.
	TerminateAt string `json:"terminateAt,omitempty"`
	// MinVersion is the minimum TLS version to allow for connections to the edge
	MinVersion *string `json:"minVersion,omitempty"`
}

func (*EndpointTLSTermination) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointTLSTermination.

func (*EndpointTLSTermination) DeepCopyInto

func (in *EndpointTLSTermination) DeepCopyInto(out *EndpointTLSTermination)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EndpointTLSTerminationAtEdge

type EndpointTLSTerminationAtEdge struct {
	// MinVersion is the minimum TLS version to allow for connections to the edge
	MinVersion string `json:"minVersion,omitempty"`
}

func (*EndpointTLSTerminationAtEdge) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointTLSTerminationAtEdge.

func (*EndpointTLSTerminationAtEdge) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EndpointTrafficPolicy

type EndpointTrafficPolicy json.RawMessage

func (EndpointTrafficPolicy) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointTrafficPolicy.

func (EndpointTrafficPolicy) DeepCopyInto

func (in EndpointTrafficPolicy) DeepCopyInto(out *EndpointTrafficPolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EndpointWebhookVerification

type EndpointWebhookVerification struct {
	// a string indicating which webhook provider will be sending webhooks to this
	// endpoint. Value must be one of the supported providers defined at
	// https://ngrok.com/docs/http/webhook-verification/#supported-providers
	Provider string `json:"provider,omitempty"`
	// SecretRef is a reference to a secret containing the secret used to validate
	// requests from the given provider. All providers except AWS SNS require a secret
	SecretRef *SecretKeyRef `json:"secret,omitempty"`
}

func (*EndpointWebhookVerification) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointWebhookVerification.

func (*EndpointWebhookVerification) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPSEdge

type HTTPSEdge struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   HTTPSEdgeSpec   `json:"spec,omitempty"`
	Status HTTPSEdgeStatus `json:"status,omitempty"`
}

HTTPSEdge is the Schema for the httpsedges API

func (*HTTPSEdge) DeepCopy

func (in *HTTPSEdge) DeepCopy() *HTTPSEdge

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPSEdge.

func (*HTTPSEdge) DeepCopyInto

func (in *HTTPSEdge) DeepCopyInto(out *HTTPSEdge)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*HTTPSEdge) DeepCopyObject

func (in *HTTPSEdge) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*HTTPSEdge) Equal

func (e *HTTPSEdge) Equal(edge *ngrok.HTTPSEdge) bool

Equal returns true if the two HTTPSEdge objects are equal It only checks the top level attributes like hostports and metadata It does not check the routes or the tunnel group backend

type HTTPSEdgeList

type HTTPSEdgeList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []HTTPSEdge `json:"items"`
}

HTTPSEdgeList contains a list of HTTPSEdge

func (*HTTPSEdgeList) DeepCopy

func (in *HTTPSEdgeList) DeepCopy() *HTTPSEdgeList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPSEdgeList.

func (*HTTPSEdgeList) DeepCopyInto

func (in *HTTPSEdgeList) DeepCopyInto(out *HTTPSEdgeList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*HTTPSEdgeList) DeepCopyObject

func (in *HTTPSEdgeList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type HTTPSEdgeRouteSpec

type HTTPSEdgeRouteSpec struct {

	// MatchType is the type of match to use for this route. Valid values are:
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=exact_path;path_prefix
	MatchType string `json:"matchType"`

	// Match is the value to match against the request path
	// +kubebuilder:validation:Required
	Match string `json:"match"`

	// Backend is the definition for the tunnel group backend
	// that serves traffic for this edge
	// +kubebuilder:validation:Required
	Backend TunnelGroupBackend `json:"backend,omitempty"`

	// CircuitBreaker is a circuit breaker configuration to apply to this route
	CircuitBreaker *EndpointCircuitBreaker `json:"circuitBreaker,omitempty"`

	// Compression is whether or not to enable compression for this route
	Compression *EndpointCompression `json:"compression,omitempty"`

	// IPRestriction is an IPRestriction to apply to this route
	IPRestriction *EndpointIPPolicy `json:"ipRestriction,omitempty"`

	// Headers are request/response headers to apply to this route
	Headers *EndpointHeaders `json:"headers,omitempty"`

	// OAuth configuration to apply to this route
	OAuth *EndpointOAuth `json:"oauth,omitempty"`

	// OIDC is the OpenID Connect configuration to apply to this route
	OIDC *EndpointOIDC `json:"oidc,omitempty"`

	// SAML is the SAML configuration to apply to this route
	SAML *EndpointSAML `json:"saml,omitempty"`

	// WebhookVerification is webhook verification configuration to apply to this route
	WebhookVerification *EndpointWebhookVerification `json:"webhookVerification,omitempty"`

	// raw json policy string that was applied to the ngrok API
	// +kubebuilder:validation:Schemaless
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Type=object
	Policy EndpointTrafficPolicy `json:"policy,omitempty"`
	// contains filtered or unexported fields
}

func (*HTTPSEdgeRouteSpec) DeepCopy

func (in *HTTPSEdgeRouteSpec) DeepCopy() *HTTPSEdgeRouteSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPSEdgeRouteSpec.

func (*HTTPSEdgeRouteSpec) DeepCopyInto

func (in *HTTPSEdgeRouteSpec) DeepCopyInto(out *HTTPSEdgeRouteSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPSEdgeRouteStatus

type HTTPSEdgeRouteStatus struct {
	// ID is the unique identifier for this route
	ID string `json:"id,omitempty"`

	// URI is the URI for this route
	URI string `json:"uri,omitempty"`

	Match string `json:"match,omitempty"`

	MatchType string `json:"matchType,omitempty"`

	// Backend stores the status of the tunnel group backend,
	// mainly the ID of the backend
	Backend TunnelGroupBackendStatus `json:"backend,omitempty"`
}

func (*HTTPSEdgeRouteStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPSEdgeRouteStatus.

func (*HTTPSEdgeRouteStatus) DeepCopyInto

func (in *HTTPSEdgeRouteStatus) DeepCopyInto(out *HTTPSEdgeRouteStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPSEdgeSpec

type HTTPSEdgeSpec struct {

	// Hostports is a list of hostports served by this edge
	// +kubebuilder:validation:Required
	Hostports []string `json:"hostports,omitempty"`

	// Routes is a list of routes served by this edge
	Routes []HTTPSEdgeRouteSpec `json:"routes,omitempty"`

	// TLSTermination is the TLS termination configuration for this edge
	TLSTermination *EndpointTLSTerminationAtEdge `json:"tlsTermination,omitempty"`
	// contains filtered or unexported fields
}

HTTPSEdgeSpec defines the desired state of HTTPSEdge

func (*HTTPSEdgeSpec) DeepCopy

func (in *HTTPSEdgeSpec) DeepCopy() *HTTPSEdgeSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPSEdgeSpec.

func (*HTTPSEdgeSpec) DeepCopyInto

func (in *HTTPSEdgeSpec) DeepCopyInto(out *HTTPSEdgeSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPSEdgeStatus

type HTTPSEdgeStatus struct {
	// ID is the unique identifier for this edge
	ID string `json:"id,omitempty"`

	// URI is the URI for this edge
	URI string `json:"uri,omitempty"`

	Routes []HTTPSEdgeRouteStatus `json:"routes,omitempty"`
}

HTTPSEdgeStatus defines the observed state of HTTPSEdge

func (*HTTPSEdgeStatus) DeepCopy

func (in *HTTPSEdgeStatus) DeepCopy() *HTTPSEdgeStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPSEdgeStatus.

func (*HTTPSEdgeStatus) DeepCopyInto

func (in *HTTPSEdgeStatus) DeepCopyInto(out *HTTPSEdgeStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPPolicy

type IPPolicy struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   IPPolicySpec   `json:"spec,omitempty"`
	Status IPPolicyStatus `json:"status,omitempty"`
}

IPPolicy is the Schema for the ippolicies API

func (*IPPolicy) DeepCopy

func (in *IPPolicy) DeepCopy() *IPPolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPolicy.

func (*IPPolicy) DeepCopyInto

func (in *IPPolicy) DeepCopyInto(out *IPPolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*IPPolicy) DeepCopyObject

func (in *IPPolicy) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type IPPolicyList

type IPPolicyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []IPPolicy `json:"items"`
}

IPPolicyList contains a list of IPPolicy

func (*IPPolicyList) DeepCopy

func (in *IPPolicyList) DeepCopy() *IPPolicyList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPolicyList.

func (*IPPolicyList) DeepCopyInto

func (in *IPPolicyList) DeepCopyInto(out *IPPolicyList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*IPPolicyList) DeepCopyObject

func (in *IPPolicyList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type IPPolicyRule

type IPPolicyRule struct {

	// +kubebuilder:validation:Required
	CIDR string `json:"cidr,omitempty"`
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=allow;deny
	Action string `json:"action,omitempty"`
	// contains filtered or unexported fields
}

func (*IPPolicyRule) DeepCopy

func (in *IPPolicyRule) DeepCopy() *IPPolicyRule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPolicyRule.

func (*IPPolicyRule) DeepCopyInto

func (in *IPPolicyRule) DeepCopyInto(out *IPPolicyRule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPPolicyRuleStatus

type IPPolicyRuleStatus struct {
	ID string `json:"id,omitempty"`

	CIDR   string `json:"cidr,omitempty"`
	Action string `json:"action,omitempty"`
}

func (*IPPolicyRuleStatus) DeepCopy

func (in *IPPolicyRuleStatus) DeepCopy() *IPPolicyRuleStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPolicyRuleStatus.

func (*IPPolicyRuleStatus) DeepCopyInto

func (in *IPPolicyRuleStatus) DeepCopyInto(out *IPPolicyRuleStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPPolicySpec

type IPPolicySpec struct {

	// Rules is a list of rules that belong to the policy
	Rules []IPPolicyRule `json:"rules,omitempty"`
	// contains filtered or unexported fields
}

IPPolicySpec defines the desired state of IPPolicy

func (*IPPolicySpec) DeepCopy

func (in *IPPolicySpec) DeepCopy() *IPPolicySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPolicySpec.

func (*IPPolicySpec) DeepCopyInto

func (in *IPPolicySpec) DeepCopyInto(out *IPPolicySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPPolicyStatus

type IPPolicyStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	ID string `json:"id,omitempty"`

	Rules []IPPolicyRuleStatus `json:"rules,omitempty"`
}

IPPolicyStatus defines the observed state of IPPolicy

func (*IPPolicyStatus) DeepCopy

func (in *IPPolicyStatus) DeepCopy() *IPPolicyStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPolicyStatus.

func (*IPPolicyStatus) DeepCopyInto

func (in *IPPolicyStatus) DeepCopyInto(out *IPPolicyStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NgrokModuleSet

type NgrokModuleSet struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Modules NgrokModuleSetModules `json:"modules,omitempty"`
}

NgrokModuleSet is the Schema for the ngrokmodules API

func (*NgrokModuleSet) DeepCopy

func (in *NgrokModuleSet) DeepCopy() *NgrokModuleSet

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NgrokModuleSet.

func (*NgrokModuleSet) DeepCopyInto

func (in *NgrokModuleSet) DeepCopyInto(out *NgrokModuleSet)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NgrokModuleSet) DeepCopyObject

func (in *NgrokModuleSet) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NgrokModuleSet) Merge

func (ms *NgrokModuleSet) Merge(o *NgrokModuleSet)

type NgrokModuleSetList

type NgrokModuleSetList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NgrokModuleSet `json:"items"`
}

NgrokModuleSetList contains a list of NgrokModule

func (*NgrokModuleSetList) DeepCopy

func (in *NgrokModuleSetList) DeepCopy() *NgrokModuleSetList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NgrokModuleSetList.

func (*NgrokModuleSetList) DeepCopyInto

func (in *NgrokModuleSetList) DeepCopyInto(out *NgrokModuleSetList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NgrokModuleSetList) DeepCopyObject

func (in *NgrokModuleSetList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NgrokModuleSetModules

type NgrokModuleSetModules struct {
	// CircuitBreaker configuration for this module set
	CircuitBreaker *EndpointCircuitBreaker `json:"circuitBreaker,omitempty"`
	// Compression configuration for this module set
	Compression *EndpointCompression `json:"compression,omitempty"`
	// Header configuration for this module set
	Headers *EndpointHeaders `json:"headers,omitempty"`
	// IPRestriction configuration for this module set
	IPRestriction *EndpointIPPolicy `json:"ipRestriction,omitempty"`
	// OAuth configuration for this module set
	OAuth *EndpointOAuth `json:"oauth,omitempty"`
	// Policy configuration for this module set
	Policy *EndpointPolicy `json:"policy,omitempty"`
	// OIDC configuration for this module set
	OIDC *EndpointOIDC `json:"oidc,omitempty"`
	// SAML configuration for this module set
	SAML *EndpointSAML `json:"saml,omitempty"`
	// TLSTermination configuration for this module set
	TLSTermination *EndpointTLSTerminationAtEdge `json:"tlsTermination,omitempty"`
	// WebhookVerification configuration for this module set
	WebhookVerification *EndpointWebhookVerification `json:"webhookVerification,omitempty"`
}

func (*NgrokModuleSetModules) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NgrokModuleSetModules.

func (*NgrokModuleSetModules) DeepCopyInto

func (in *NgrokModuleSetModules) DeepCopyInto(out *NgrokModuleSetModules)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OAuthProviderCommon

type OAuthProviderCommon struct {
	// Do not enforce authentication on HTTP OPTIONS requests. necessary if you are
	// supporting CORS.
	OptionsPassthrough bool `json:"optionsPassthrough,omitempty"`
	// the prefix of the session cookie that ngrok sets on the http client to cache
	// authentication. default is 'ngrok.'
	CookiePrefix string `json:"cookiePrefix,omitempty"`
	// Duration of inactivity after which if the user has not accessed
	// the endpoint, their session will time out and they will be forced to
	// reauthenticate.
	//+kubebuilder:validation:Format=duration
	InactivityTimeout v1.Duration `json:"inactivityTimeout,omitempty"`
	// Integer number of seconds of the maximum duration of an authenticated session.
	// After this period is exceeded, a user must reauthenticate.
	//+kubebuilder:validation:Format=duration
	MaximumDuration v1.Duration `json:"maximumDuration,omitempty"`
	// Duration after which ngrok guarantees it will refresh user
	// state from the identity provider and recheck whether the user is still
	// authorized to access the endpoint. This is the preferred tunable to use to
	// enforce a minimum amount of time after which a revoked user will no longer be
	// able to access the resource.
	//+kubebuilder:validation:Format=duration
	AuthCheckInterval v1.Duration `json:"authCheckInterval,omitempty"`
	// the OAuth app client ID. retrieve it from the identity provider's dashboard
	// where you created your own OAuth app. optional. if unspecified, ngrok will use
	// its own managed oauth application which has additional restrictions. see the
	// OAuth module docs for more details. if present, clientSecret must be present as
	// well.
	ClientID *string `json:"clientId,omitempty"`
	// the OAuth app client secret. retrieve if from the identity provider's dashboard
	// where you created your own OAuth app. optional, see all of the caveats in the
	// docs for clientId.
	ClientSecret *SecretKeyRef `json:"clientSecret,omitempty"`
	// a list of provider-specific OAuth scopes with the permissions your OAuth app
	// would like to ask for. these may not be set if you are using the ngrok-managed
	// oauth app (i.e. you must pass both client_id and client_secret to set scopes)
	Scopes []string `json:"scopes,omitempty"`
	// a list of email addresses of users authenticated by identity provider who are
	// allowed access to the endpoint
	EmailAddresses []string `json:"emailAddresses,omitempty"`
	// a list of email domains of users authenticated by identity provider who are
	// allowed access to the endpoint
	EmailDomains []string `json:"emailDomains,omitempty"`
}

func (OAuthProviderCommon) ClientSecretKeyRef

func (opc OAuthProviderCommon) ClientSecretKeyRef() *SecretKeyRef

func (*OAuthProviderCommon) DeepCopy

func (in *OAuthProviderCommon) DeepCopy() *OAuthProviderCommon

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuthProviderCommon.

func (*OAuthProviderCommon) DeepCopyInto

func (in *OAuthProviderCommon) DeepCopyInto(out *OAuthProviderCommon)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecretKeyRef

type SecretKeyRef struct {
	// Name of the Kubernetes secret
	Name string `json:"name,omitempty"`
	// Key in the secret to use
	Key string `json:"key,omitempty"`
}

func (*SecretKeyRef) DeepCopy

func (in *SecretKeyRef) DeepCopy() *SecretKeyRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretKeyRef.

func (*SecretKeyRef) DeepCopyInto

func (in *SecretKeyRef) DeepCopyInto(out *SecretKeyRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TCPEdge

type TCPEdge struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   TCPEdgeSpec   `json:"spec,omitempty"`
	Status TCPEdgeStatus `json:"status,omitempty"`
}

TCPEdge is the Schema for the tcpedges API

func (*TCPEdge) DeepCopy

func (in *TCPEdge) DeepCopy() *TCPEdge

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPEdge.

func (*TCPEdge) DeepCopyInto

func (in *TCPEdge) DeepCopyInto(out *TCPEdge)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TCPEdge) DeepCopyObject

func (in *TCPEdge) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TCPEdgeList

type TCPEdgeList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []TCPEdge `json:"items"`
}

TCPEdgeList contains a list of TCPEdge

func (*TCPEdgeList) DeepCopy

func (in *TCPEdgeList) DeepCopy() *TCPEdgeList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPEdgeList.

func (*TCPEdgeList) DeepCopyInto

func (in *TCPEdgeList) DeepCopyInto(out *TCPEdgeList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TCPEdgeList) DeepCopyObject

func (in *TCPEdgeList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TCPEdgeSpec

type TCPEdgeSpec struct {

	// Backend is the definition for the tunnel group backend
	// that serves traffic for this edge
	// +kubebuilder:validation:Required
	Backend TunnelGroupBackend `json:"backend,omitempty"`

	// IPRestriction is an IPRestriction to apply to this edge
	IPRestriction *EndpointIPPolicy `json:"ipRestriction,omitempty"`

	// raw json policy string that was applied to the ngrok API
	// +kubebuilder:validation:Schemaless
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Type=object
	Policy EndpointTrafficPolicy `json:"policy,omitempty"`
	// contains filtered or unexported fields
}

TCPEdgeSpec defines the desired state of TCPEdge

func (*TCPEdgeSpec) DeepCopy

func (in *TCPEdgeSpec) DeepCopy() *TCPEdgeSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPEdgeSpec.

func (*TCPEdgeSpec) DeepCopyInto

func (in *TCPEdgeSpec) DeepCopyInto(out *TCPEdgeSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TCPEdgeStatus

type TCPEdgeStatus struct {
	// ID is the unique identifier for this edge
	ID string `json:"id,omitempty"`

	// URI is the URI of the edge
	URI string `json:"uri,omitempty"`

	// Hostports served by this edge
	Hostports []string `json:"hostports,omitempty"`

	// Backend stores the status of the tunnel group backend,
	// mainly the ID of the backend
	Backend TunnelGroupBackendStatus `json:"backend,omitempty"`
}

TCPEdgeStatus defines the observed state of TCPEdge

func (*TCPEdgeStatus) DeepCopy

func (in *TCPEdgeStatus) DeepCopy() *TCPEdgeStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPEdgeStatus.

func (*TCPEdgeStatus) DeepCopyInto

func (in *TCPEdgeStatus) DeepCopyInto(out *TCPEdgeStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TLSEdge

type TLSEdge struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   TLSEdgeSpec   `json:"spec,omitempty"`
	Status TLSEdgeStatus `json:"status,omitempty"`
}

TLSEdge is the Schema for the tlsedges API

func (*TLSEdge) DeepCopy

func (in *TLSEdge) DeepCopy() *TLSEdge

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSEdge.

func (*TLSEdge) DeepCopyInto

func (in *TLSEdge) DeepCopyInto(out *TLSEdge)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TLSEdge) DeepCopyObject

func (in *TLSEdge) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TLSEdgeList

type TLSEdgeList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []TLSEdge `json:"items"`
}

TLSEdgeList contains a list of TLSEdge

func (*TLSEdgeList) DeepCopy

func (in *TLSEdgeList) DeepCopy() *TLSEdgeList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSEdgeList.

func (*TLSEdgeList) DeepCopyInto

func (in *TLSEdgeList) DeepCopyInto(out *TLSEdgeList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TLSEdgeList) DeepCopyObject

func (in *TLSEdgeList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TLSEdgeSpec

type TLSEdgeSpec struct {

	// Backend is the definition for the tunnel group backend
	// that serves traffic for this edge
	// +kubebuilder:validation:Required
	Backend TunnelGroupBackend `json:"backend,omitempty"`

	// Hostports is a list of hostports served by this edge
	// +kubebuilder:validation:Required
	Hostports []string `json:"hostports,omitempty"`

	// IPRestriction is an IPRestriction to apply to this edge
	IPRestriction *EndpointIPPolicy `json:"ipRestriction,omitempty"`

	TLSTermination *EndpointTLSTermination `json:"tlsTermination,omitempty"`

	MutualTLS *EndpointMutualTLS `json:"mutualTls,omitempty"`

	// raw json policy string that was applied to the ngrok API
	// +kubebuilder:validation:Schemaless
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Type=object
	Policy EndpointTrafficPolicy `json:"policy,omitempty"`
	// contains filtered or unexported fields
}

TLSEdgeSpec defines the desired state of TLSEdge

func (*TLSEdgeSpec) DeepCopy

func (in *TLSEdgeSpec) DeepCopy() *TLSEdgeSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSEdgeSpec.

func (*TLSEdgeSpec) DeepCopyInto

func (in *TLSEdgeSpec) DeepCopyInto(out *TLSEdgeSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TLSEdgeStatus

type TLSEdgeStatus struct {
	// ID is the unique identifier for this edge
	ID string `json:"id,omitempty"`

	// URI is the URI of the edge
	URI string `json:"uri,omitempty"`

	// Hostports served by this edge
	Hostports []string `json:"hostports,omitempty"`

	// Backend stores the status of the tunnel group backend,
	// mainly the ID of the backend
	Backend TunnelGroupBackendStatus `json:"backend,omitempty"`
}

TLSEdgeStatus defines the observed state of TLSEdge

func (*TLSEdgeStatus) DeepCopy

func (in *TLSEdgeStatus) DeepCopy() *TLSEdgeStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSEdgeStatus.

func (*TLSEdgeStatus) DeepCopyInto

func (in *TLSEdgeStatus) DeepCopyInto(out *TLSEdgeStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Tunnel

type Tunnel struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   TunnelSpec   `json:"spec,omitempty"`
	Status TunnelStatus `json:"status,omitempty"`
}

Tunnel is the Schema for the tunnels API

func (*Tunnel) DeepCopy

func (in *Tunnel) DeepCopy() *Tunnel

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tunnel.

func (*Tunnel) DeepCopyInto

func (in *Tunnel) DeepCopyInto(out *Tunnel)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Tunnel) DeepCopyObject

func (in *Tunnel) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TunnelGroupBackend

type TunnelGroupBackend struct {

	// Labels to watch for tunnels on this backend
	Labels map[string]string `json:"labels,omitempty"`
	// contains filtered or unexported fields
}

func (*TunnelGroupBackend) DeepCopy

func (in *TunnelGroupBackend) DeepCopy() *TunnelGroupBackend

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelGroupBackend.

func (*TunnelGroupBackend) DeepCopyInto

func (in *TunnelGroupBackend) DeepCopyInto(out *TunnelGroupBackend)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TunnelGroupBackendStatus

type TunnelGroupBackendStatus struct {
	// ID is the unique identifier for this backend
	ID string `json:"id,omitempty"`
}

func (*TunnelGroupBackendStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelGroupBackendStatus.

func (*TunnelGroupBackendStatus) DeepCopyInto

func (in *TunnelGroupBackendStatus) DeepCopyInto(out *TunnelGroupBackendStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TunnelList

type TunnelList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Tunnel `json:"items"`
}

TunnelList contains a list of Tunnel

func (*TunnelList) DeepCopy

func (in *TunnelList) DeepCopy() *TunnelList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelList.

func (*TunnelList) DeepCopyInto

func (in *TunnelList) DeepCopyInto(out *TunnelList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TunnelList) DeepCopyObject

func (in *TunnelList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TunnelSpec

type TunnelSpec struct {

	// ForwardsTo is the name and port of the service to forward traffic to
	// +kubebuilder:validation:Required
	ForwardsTo string `json:"forwardsTo,omitempty"`

	// Labels are key/value pairs that are attached to the tunnel
	Labels map[string]string `json:"labels,omitempty"`

	// The configuration for backend connections to services
	BackendConfig *BackendConfig `json:"backend,omitempty"`

	// The appProtocol for the backend. Currently only supports `http2`
	AppProtocol string `json:"appProtocol,omitempty"`
}

TunnelSpec defines the desired state of Tunnel

func (*TunnelSpec) DeepCopy

func (in *TunnelSpec) DeepCopy() *TunnelSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelSpec.

func (*TunnelSpec) DeepCopyInto

func (in *TunnelSpec) DeepCopyInto(out *TunnelSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TunnelStatus

type TunnelStatus struct {
}

TunnelStatus defines the observed state of Tunnel

func (*TunnelStatus) DeepCopy

func (in *TunnelStatus) DeepCopy() *TunnelStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelStatus.

func (*TunnelStatus) DeepCopyInto

func (in *TunnelStatus) DeepCopyInto(out *TunnelStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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