v1alpha2

package
v0.0.0-...-ab55e14 Latest Latest
Warning

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

Go to latest
Published: Oct 19, 2024 License: Apache-2.0 Imports: 36 Imported by: 1

Documentation

Overview

Package v1alpha2 contains API Schema definitions for the dp v1alpha2 API group +kubebuilder:object:generate=true +groupName=dp.wso2.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "dp.wso2.com", Version: "v1alpha2"}

	// 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 API

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

	Spec   APISpec   `json:"spec,omitempty"`
	Status APIStatus `json:"status,omitempty"`
}

API is the Schema for the apis API

func (*API) ConvertFrom

func (src *API) ConvertFrom(srcRaw conversion.Hub) error

ConvertFrom converts from the Hub version (v1alpha3) to this version. src is v1alpha2.API and dst is v1alpha3.API.

func (*API) ConvertTo

func (src *API) ConvertTo(dstRaw conversion.Hub) error

ConvertTo converts this API CR to the Hub version (v1alpha3). src is v1alpha2.API and dst is v1alpha3.API.

func (*API) DeepCopy

func (in *API) DeepCopy() *API

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

func (*API) DeepCopyInto

func (in *API) DeepCopyInto(out *API)

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

func (*API) DeepCopyObject

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

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

func (*API) Default

func (r *API) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*API) SetupWebhookWithManager

func (r *API) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager creates a new webhook builder for API

func (*API) ValidateCreate

func (r *API) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*API) ValidateDelete

func (r *API) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*API) ValidateUpdate

func (r *API) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type APIAuth

type APIAuth struct {

	// OAuth2 is to specify the OAuth2 authentication scheme details
	//
	// +optional
	OAuth2 OAuth2Auth `json:"oauth2,omitempty"`

	// APIKey is to specify the APIKey authentication scheme details
	//
	// +optional
	// +nullable
	APIKey *APIKeyAuth `json:"apiKey,omitempty"`

	// JWT is to specify the JWT authentication scheme details
	//
	// +optional
	JWT JWT `json:"jwt,omitempty"`

	// MutualSSL is to specify the features and certificates for mutual SSL
	//
	// +optional
	MutualSSL *MutualSSLConfig `json:"mtls,omitempty"`
}

APIAuth Authentication scheme type and details

func (*APIAuth) DeepCopy

func (in *APIAuth) DeepCopy() *APIAuth

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

func (*APIAuth) DeepCopyInto

func (in *APIAuth) DeepCopyInto(out *APIAuth)

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

type APIKey

type APIKey struct {
	//  In is to specify how the APIKey is passed to the request
	//
	// +kubebuilder:validation:Enum=Header;Query
	// +kubebuilder:validation:MinLength=1
	In string `json:"in,omitempty"`

	// Name is the name of the header or query parameter to be used
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name,omitempty"`

	// SendTokenToUpstream is to specify whether the APIKey should be sent to the upstream
	//
	// +optional
	SendTokenToUpstream bool `json:"sendTokenToUpstream,omitempty"`
}

APIKey APIKey details

func (*APIKey) DeepCopy

func (in *APIKey) DeepCopy() *APIKey

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

func (*APIKey) DeepCopyInto

func (in *APIKey) DeepCopyInto(out *APIKey)

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

type APIKeyAuth

type APIKeyAuth struct {
	// Required indicates if this authentication is optional or mandatory
	//
	// +kubebuilder:default:=optional
	Required string `json:"required,omitempty"`

	// APIKeys lists the values for the API Key authentication
	//
	Keys []APIKey `json:"keys,omitempty"`
}

APIKeyAuth APIKey Authentication scheme details

func (*APIKeyAuth) DeepCopy

func (in *APIKeyAuth) DeepCopy() *APIKeyAuth

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

func (*APIKeyAuth) DeepCopyInto

func (in *APIKeyAuth) DeepCopyInto(out *APIKeyAuth)

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

type APIKeySecurityConfig

type APIKeySecurityConfig struct {
	//  In is to specify how the APIKey is passed to the request
	//
	// +kubebuilder:validation:Enum=Header;Query
	// +kubebuilder:validation:MinLength=1
	In string `json:"in,omitempty"`

	// Name is the name of the header or query parameter to be used
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name,omitempty"`

	// ValueRef to value
	ValueFrom ValueRef `json:"valueFrom"`
}

APIKeySecurityConfig defines APIKey security configurations

func (*APIKeySecurityConfig) DeepCopy

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

func (*APIKeySecurityConfig) DeepCopyInto

func (in *APIKeySecurityConfig) DeepCopyInto(out *APIKeySecurityConfig)

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

type APIList

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

APIList contains a list of API

func (*APIList) DeepCopy

func (in *APIList) DeepCopy() *APIList

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

func (*APIList) DeepCopyInto

func (in *APIList) DeepCopyInto(out *APIList)

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

func (*APIList) DeepCopyObject

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

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

type APIPolicy

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

	Spec   APIPolicySpec   `json:"spec,omitempty"`
	Status APIPolicyStatus `json:"status,omitempty"`
}

APIPolicy is the Schema for the apipolicies API

func (*APIPolicy) ConvertFrom

func (src *APIPolicy) ConvertFrom(srcRaw conversion.Hub) error

ConvertFrom converts from the Hub version (v1alpha3) to this version. src is v1alpha2.API and dst is v1alpha3.API.

func (*APIPolicy) ConvertTo

func (src *APIPolicy) ConvertTo(dstRaw conversion.Hub) error

ConvertTo converts this API CR to the Hub version (v1alpha3). src is v1alpha2.API and dst is v1alpha3.API.

func (*APIPolicy) DeepCopy

func (in *APIPolicy) DeepCopy() *APIPolicy

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

func (*APIPolicy) DeepCopyInto

func (in *APIPolicy) DeepCopyInto(out *APIPolicy)

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

func (*APIPolicy) DeepCopyObject

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

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

func (*APIPolicy) Default

func (r *APIPolicy) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*APIPolicy) SetupWebhookWithManager

func (r *APIPolicy) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager creates a new webhook builder for APIPolicy

func (*APIPolicy) ValidateCreate

func (r *APIPolicy) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*APIPolicy) ValidateDelete

func (r *APIPolicy) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*APIPolicy) ValidatePolicy

func (r *APIPolicy) ValidatePolicy() error

ValidatePolicy validates the APIPolicy

func (*APIPolicy) ValidateUpdate

func (r *APIPolicy) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type APIPolicyList

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

APIPolicyList contains a list of APIPolicy

func (*APIPolicyList) DeepCopy

func (in *APIPolicyList) DeepCopy() *APIPolicyList

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

func (*APIPolicyList) DeepCopyInto

func (in *APIPolicyList) DeepCopyInto(out *APIPolicyList)

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

func (*APIPolicyList) DeepCopyObject

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

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

type APIPolicySpec

type APIPolicySpec struct {
	Default   *PolicySpec                               `json:"default,omitempty"`
	Override  *PolicySpec                               `json:"override,omitempty"`
	TargetRef gwapiv1b1.NamespacedPolicyTargetReference `json:"targetRef,omitempty"`
}

APIPolicySpec defines the desired state of APIPolicy

func (*APIPolicySpec) DeepCopy

func (in *APIPolicySpec) DeepCopy() *APIPolicySpec

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

func (*APIPolicySpec) DeepCopyInto

func (in *APIPolicySpec) DeepCopyInto(out *APIPolicySpec)

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

type APIPolicyStatus

type APIPolicyStatus struct {
}

APIPolicyStatus defines the observed state of APIPolicy

func (*APIPolicyStatus) DeepCopy

func (in *APIPolicyStatus) DeepCopy() *APIPolicyStatus

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

func (*APIPolicyStatus) DeepCopyInto

func (in *APIPolicyStatus) DeepCopyInto(out *APIPolicyStatus)

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

type APISpec

type APISpec struct {

	// APIName is the unique name of the API
	//can be used to uniquely identify an API.
	//
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=60
	// +kubebuilder:validation:Pattern="^[^~!@#;:%^*()+={}|\\<>\"”,&$\\[\\]\\/]*$"
	APIName string `json:"apiName"`

	// APIVersion is the version number of the API.
	//
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=30
	// +kubebuilder:validation:Pattern="^[^~!@#;:%^*()+={}|\\<>\"”,&/$\\[\\]\\s+\\/]+$"
	APIVersion string `json:"apiVersion"`

	// IsDefaultVersion indicates whether this API version should be used as a default API
	//
	// +optional
	IsDefaultVersion bool `json:"isDefaultVersion"`

	// DefinitionFileRef contains the
	// definition of the API in a ConfigMap.
	//
	// +optional
	DefinitionFileRef string `json:"definitionFileRef"`

	// DefinitionPath contains the path to expose the API definition.
	//
	// +kubebuilder:default:=/api-definition
	// +kubebuilder:validation:MinLength=1
	DefinitionPath string `json:"definitionPath"`

	// Production contains a list of references to HttpRoutes
	// of type HttpRoute.
	// xref: https://github.com/kubernetes-sigs/gateway-api/blob/main/apis/v1beta1/httproute_types.go
	//
	//
	// +optional
	// +nullable
	// +kubebuilder:validation:MaxItems=1
	Production []EnvConfig `json:"production"`

	// Sandbox contains a list of references to HttpRoutes
	// of type HttpRoute.
	// xref: https://github.com/kubernetes-sigs/gateway-api/blob/main/apis/v1beta1/httproute_types.go
	//
	//
	// +optional
	// +nullable
	// +kubebuilder:validation:MaxItems=1
	Sandbox []EnvConfig `json:"sandbox"`

	// APIType denotes the type of the API.
	// Possible values could be REST, GraphQL, Async
	//
	// +kubebuilder:validation:Enum=REST;GraphQL
	APIType string `json:"apiType"`

	// BasePath denotes the basepath of the API.
	// e.g: /pet-store-api/1.0.6
	//
	// +kubectl:validation:MaxLength=232
	// +kubebuilder:validation:Pattern=^[/][a-zA-Z0-9~/_.-]*$
	BasePath string `json:"basePath"`

	// Organization denotes the organization.
	// related to the API
	//
	// +optional
	Organization string `json:"organization"`

	// SystemAPI denotes if it is an internal system API.
	//
	// +optional
	SystemAPI bool `json:"systemAPI"`

	// APIProperties denotes the custom properties of the API.
	//
	// +optional
	// +nullable
	APIProperties []Property `json:"apiProperties,omitempty"`

	// Environment denotes the environment of the API.
	//
	// +optional
	// +nullable
	Environment string `json:"environment,omitempty"`
}

APISpec defines the desired state of API

func (*APISpec) DeepCopy

func (in *APISpec) DeepCopy() *APISpec

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

func (*APISpec) DeepCopyInto

func (in *APISpec) DeepCopyInto(out *APISpec)

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

type APIStatus

type APIStatus struct {
	// DeploymentStatus denotes the deployment status of the API
	//
	// +optional
	DeploymentStatus DeploymentStatus `json:"deploymentStatus"`
}

APIStatus defines the observed state of API

func (*APIStatus) DeepCopy

func (in *APIStatus) DeepCopy() *APIStatus

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

func (*APIStatus) DeepCopyInto

func (in *APIStatus) DeepCopyInto(out *APIStatus)

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

type AuthSpec

type AuthSpec struct {
	// Disabled is to disable all authentications
	Disabled *bool `json:"disabled,omitempty"`

	// AuthTypes is to specify the authentication scheme types and details
	AuthTypes *APIAuth `json:"authTypes,omitempty"`
}

AuthSpec specification of the authentication service

func (*AuthSpec) DeepCopy

func (in *AuthSpec) DeepCopy() *AuthSpec

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

func (*AuthSpec) DeepCopyInto

func (in *AuthSpec) DeepCopyInto(out *AuthSpec)

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

type Authentication

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

	Spec   AuthenticationSpec   `json:"spec,omitempty"`
	Status AuthenticationStatus `json:"status,omitempty"`
}

Authentication is the Schema for the authentications API

func (*Authentication) DeepCopy

func (in *Authentication) DeepCopy() *Authentication

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

func (*Authentication) DeepCopyInto

func (in *Authentication) DeepCopyInto(out *Authentication)

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

func (*Authentication) DeepCopyObject

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

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

func (*Authentication) Default

func (r *Authentication) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*Authentication) Hub

func (*Authentication) Hub()

Hub marks this type as a conversion hub.

func (*Authentication) SetupWebhookWithManager

func (r *Authentication) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager creates a new webhook builder for Authentication CRD

func (*Authentication) ValidateAuthentication

func (r *Authentication) ValidateAuthentication() error

ValidateAuthentication validates the Authentication

func (*Authentication) ValidateCreate

func (r *Authentication) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Authentication) ValidateDelete

func (r *Authentication) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Authentication) ValidateUpdate

func (r *Authentication) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type AuthenticationList

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

AuthenticationList contains a list of Authentication

func (*AuthenticationList) DeepCopy

func (in *AuthenticationList) DeepCopy() *AuthenticationList

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

func (*AuthenticationList) DeepCopyInto

func (in *AuthenticationList) DeepCopyInto(out *AuthenticationList)

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

func (*AuthenticationList) DeepCopyObject

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

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

type AuthenticationSpec

type AuthenticationSpec struct {
	Default   *AuthSpec                                 `json:"default,omitempty"`
	Override  *AuthSpec                                 `json:"override,omitempty"`
	TargetRef gwapiv1b1.NamespacedPolicyTargetReference `json:"targetRef,omitempty"`
}

AuthenticationSpec defines the desired state of Authentication

func (*AuthenticationSpec) DeepCopy

func (in *AuthenticationSpec) DeepCopy() *AuthenticationSpec

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

func (*AuthenticationSpec) DeepCopyInto

func (in *AuthenticationSpec) DeepCopyInto(out *AuthenticationSpec)

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

type AuthenticationStatus

type AuthenticationStatus struct {
}

AuthenticationStatus defines the observed state of Authentication

func (*AuthenticationStatus) DeepCopy

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

func (*AuthenticationStatus) DeepCopyInto

func (in *AuthenticationStatus) DeepCopyInto(out *AuthenticationStatus)

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

type Backend

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

	Spec   BackendSpec   `json:"spec,omitempty"`
	Status BackendStatus `json:"status,omitempty"`
}

Backend is the Schema for the backends API

func (*Backend) DeepCopy

func (in *Backend) DeepCopy() *Backend

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

func (*Backend) DeepCopyInto

func (in *Backend) DeepCopyInto(out *Backend)

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

func (*Backend) DeepCopyObject

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

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

type BackendJWTToken

type BackendJWTToken struct {
	// Name holds the name of the BackendJWT resource.
	Name string `json:"name,omitempty"`
}

BackendJWTToken holds backend JWT token information

func (*BackendJWTToken) DeepCopy

func (in *BackendJWTToken) DeepCopy() *BackendJWTToken

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

func (*BackendJWTToken) DeepCopyInto

func (in *BackendJWTToken) DeepCopyInto(out *BackendJWTToken)

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

type BackendList

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

BackendList contains a list of Backend

func (*BackendList) DeepCopy

func (in *BackendList) DeepCopy() *BackendList

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

func (*BackendList) DeepCopyInto

func (in *BackendList) DeepCopyInto(out *BackendList)

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

func (*BackendList) DeepCopyObject

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

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

type BackendProtocolType

type BackendProtocolType string

BackendProtocolType defines the backend protocol type.

const (
	// HTTPProtocol is the http protocol
	HTTPProtocol BackendProtocolType = "http"
	// HTTPSProtocol is the https protocol
	HTTPSProtocol BackendProtocolType = "https"
	// WSProtocol is the ws protocol
	WSProtocol BackendProtocolType = "ws"
	// WSSProtocol is the wss protocol
	WSSProtocol BackendProtocolType = "wss"
)

type BackendSpec

type BackendSpec struct {
	// Services holds hosts and ports
	//
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=1
	Services []Service `json:"services,omitempty"`

	// Protocol defines the backend protocol
	//
	// +optional
	// +kubebuilder:validation:Enum=http;https;ws;wss
	// +kubebuilder:default=http
	Protocol BackendProtocolType `json:"protocol"`

	// BasePath defines the base path of the backend
	// +optional
	BasePath string `json:"basePath"`

	// TLS defines the TLS configurations of the backend
	TLS *TLSConfig `json:"tls,omitempty"`

	// Security defines the security configurations of the backend
	Security *SecurityConfig `json:"security,omitempty"`

	// CircuitBreaker defines the circuit breaker configurations
	CircuitBreaker *CircuitBreaker `json:"circuitBreaker,omitempty"`

	// Timeout configuration for the backend
	Timeout *Timeout `json:"timeout,omitempty"`

	// Retry configuration for the backend
	Retry *RetryConfig `json:"retry,omitempty"`

	// HealthCheck configuration for the backend tcp health check
	HealthCheck *HealthCheck `json:"healthCheck,omitempty"`
}

BackendSpec defines the desired state of Backend

func (*BackendSpec) DeepCopy

func (in *BackendSpec) DeepCopy() *BackendSpec

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

func (*BackendSpec) DeepCopyInto

func (in *BackendSpec) DeepCopyInto(out *BackendSpec)

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

type BackendStatus

type BackendStatus struct{}

BackendStatus defines the observed state of Backend

func (*BackendStatus) DeepCopy

func (in *BackendStatus) DeepCopy() *BackendStatus

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

func (*BackendStatus) DeepCopyInto

func (in *BackendStatus) DeepCopyInto(out *BackendStatus)

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

type BasicSecurityConfig

type BasicSecurityConfig struct {
	// SecretRef to credentials
	SecretRef SecretRef `json:"secretRef"`
}

BasicSecurityConfig defines basic security configurations

func (*BasicSecurityConfig) DeepCopy

func (in *BasicSecurityConfig) DeepCopy() *BasicSecurityConfig

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

func (*BasicSecurityConfig) DeepCopyInto

func (in *BasicSecurityConfig) DeepCopyInto(out *BasicSecurityConfig)

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

type CERTConfig

type CERTConfig struct {
	// CertificateInline is the Inline Certificate entry
	CertificateInline *string `json:"certificateInline,omitempty"`
	// SecretRef denotes the reference to the Secret that contains the Certificate
	SecretRef *RefConfig `json:"secretRef,omitempty"`
	// ConfigMapRef denotes the reference to the ConfigMap that contains the Certificate
	ConfigMapRef *RefConfig `json:"configMapRef,omitempty"`
}

CERTConfig defines the certificate configuration

func (*CERTConfig) DeepCopy

func (in *CERTConfig) DeepCopy() *CERTConfig

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

func (*CERTConfig) DeepCopyInto

func (in *CERTConfig) DeepCopyInto(out *CERTConfig)

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

type CORSPolicy

type CORSPolicy struct {

	// Enabled is to enable CORs policy for the API.
	//
	// +kubebuilder:default=true
	// +optional
	Enabled bool `json:"enabled"`

	// AllowCredentials indicates whether the request can include user credentials like
	// cookies, HTTP authentication or client side SSL certificates.
	//
	// +optional
	AccessControlAllowCredentials bool `json:"accessControlAllowCredentials,omitempty"`

	// AccessControlAllowHeaders indicates which headers can be used
	// during the actual request.
	//
	// +optional
	AccessControlAllowHeaders []string `json:"accessControlAllowHeaders,omitempty"`

	// AccessControlAllowMethods indicates which methods can be used
	// during the actual request.
	//
	// +optional
	AccessControlAllowMethods []string `json:"accessControlAllowMethods,omitempty"`

	// AccessControlAllowOrigins indicates which origins can be used
	// during the actual request.
	//
	// +optional
	AccessControlAllowOrigins []string `json:"accessControlAllowOrigins,omitempty"`

	// AccessControlExposeHeaders indicates which headers can be exposed
	// as part of the response by listing their names.
	//
	// +optional
	AccessControlExposeHeaders []string `json:"accessControlExposeHeaders,omitempty"`

	// AccessControlMaxAge indicates how long the results of a preflight request
	// can be cached in a preflight result cache.
	//
	// +optional
	AccessControlMaxAge *int `json:"accessControlMaxAge,omitempty"`
}

CORSPolicy holds CORS policy information

func (*CORSPolicy) DeepCopy

func (in *CORSPolicy) DeepCopy() *CORSPolicy

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

func (*CORSPolicy) DeepCopyInto

func (in *CORSPolicy) DeepCopyInto(out *CORSPolicy)

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

type CircuitBreaker

type CircuitBreaker struct {

	// MaxConnections is the maximum number of connections that will make to the upstream cluster.
	//
	// +kubebuilder:default=1024
	// +optional
	MaxConnections uint32 `json:"maxConnections"`

	// MaxPendingRequests is the maximum number of pending requests that will allow to the upstream cluster.
	//
	// +kubebuilder:default=1024
	// +optional
	MaxPendingRequests uint32 `json:"maxPendingRequests"`

	// MaxRequests is the maximum number of parallel requests that will make to the upstream cluster.
	//
	// +kubebuilder:default=1024
	// +optional
	MaxRequests uint32 `json:"maxRequests"`

	// MaxRetries is the maximum number of parallel retries that will allow to the upstream cluster.
	//
	// +kubebuilder:default=3
	// +optional
	MaxRetries uint32 `json:"maxRetries"`

	// MaxConnectionPools is the maximum number of parallel connection pools that will allow to the upstream cluster.
	// If not specified, the default is unlimited.
	//
	// +optional
	// +kubebuilder:validation:Minimum=1
	MaxConnectionPools uint32 `json:"maxConnectionPools"`
}

CircuitBreaker defines the circuit breaker configurations

func (*CircuitBreaker) DeepCopy

func (in *CircuitBreaker) DeepCopy() *CircuitBreaker

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

func (*CircuitBreaker) DeepCopyInto

func (in *CircuitBreaker) DeepCopyInto(out *CircuitBreaker)

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

type ClaimMapping

type ClaimMapping struct {
	// RemoteClaim denotes the remote claim
	RemoteClaim string `json:"remoteClaim"`
	// LocalClaim denotes the local claim
	LocalClaim string `json:"localClaim"`
}

ClaimMapping defines the reference configuration

func (*ClaimMapping) DeepCopy

func (in *ClaimMapping) DeepCopy() *ClaimMapping

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

func (*ClaimMapping) DeepCopyInto

func (in *ClaimMapping) DeepCopyInto(out *ClaimMapping)

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

type DeploymentStatus

type DeploymentStatus struct {

	// Status denotes the state of the API in its lifecycle.
	// Possible values could be Accepted, Invalid, Deploy etc.
	//
	//
	Status string `json:"status"`

	// Message represents a user friendly message that explains the
	// current state of the API.
	//
	//
	// +optional
	Message string `json:"message"`

	// Accepted represents whether the API is accepted or not.
	//
	//
	Accepted bool `json:"accepted"`

	// TransitionTime represents the last known transition timestamp.
	//
	//
	TransitionTime *metav1.Time `json:"transitionTime"`

	// Events contains a list of events related to the API.
	//
	//
	// +optional
	Events []string `json:"events,omitempty"`
}

DeploymentStatus contains the status of the API deployment

func (*DeploymentStatus) DeepCopy

func (in *DeploymentStatus) DeepCopy() *DeploymentStatus

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

func (*DeploymentStatus) DeepCopyInto

func (in *DeploymentStatus) DeepCopyInto(out *DeploymentStatus)

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

type EnvConfig

type EnvConfig struct {
	// RouteRefs denotes the environment of the API.
	RouteRefs []string `json:"routeRefs"`
}

EnvConfig contains the environment specific configuration

func (*EnvConfig) DeepCopy

func (in *EnvConfig) DeepCopy() *EnvConfig

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

func (*EnvConfig) DeepCopyInto

func (in *EnvConfig) DeepCopyInto(out *EnvConfig)

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

type GQLRoute

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

	Spec   GQLRouteSpec   `json:"spec,omitempty"`
	Status GQLRouteStatus `json:"status,omitempty"`
}

GQLRoute is the Schema for the gqlroutes API

func (*GQLRoute) DeepCopy

func (in *GQLRoute) DeepCopy() *GQLRoute

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

func (*GQLRoute) DeepCopyInto

func (in *GQLRoute) DeepCopyInto(out *GQLRoute)

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

func (*GQLRoute) DeepCopyObject

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

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

type GQLRouteFilter

type GQLRouteFilter struct {
	// ExtensionRef is an optional, implementation-specific extension to the
	// "filter" behavior.  For example, resource "myroutefilter" in group
	// "networking.example.net"). ExtensionRef MUST NOT be used for core and
	// extended filters.
	//
	// Support: Implementation-specific
	//
	// +optional
	ExtensionRef *v1.LocalObjectReference `json:"extensionRef,omitempty"`
}

GQLRouteFilter defines the filter to be applied to a request.

func (*GQLRouteFilter) DeepCopy

func (in *GQLRouteFilter) DeepCopy() *GQLRouteFilter

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

func (*GQLRouteFilter) DeepCopyInto

func (in *GQLRouteFilter) DeepCopyInto(out *GQLRouteFilter)

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

type GQLRouteList

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

GQLRouteList contains a list of GQLRoute

func (*GQLRouteList) DeepCopy

func (in *GQLRouteList) DeepCopy() *GQLRouteList

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

func (*GQLRouteList) DeepCopyInto

func (in *GQLRouteList) DeepCopyInto(out *GQLRouteList)

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

func (*GQLRouteList) DeepCopyObject

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

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

type GQLRouteMatch

type GQLRouteMatch struct {
	// Type specifies GQL typematcher.
	// When specified, this route will be matched only if the request has the
	// specified method.
	//
	// Support: Extended
	//
	// +optional
	// +kubebuilder:validation:Default=QUERY
	Type *GQLType `json:"type,omitempty"`

	// Path specifies a GQL request resource matcher.
	Path *string `json:"path,omitempty"`
}

GQLRouteMatch defines the predicate used to match requests to a given action.

func (*GQLRouteMatch) DeepCopy

func (in *GQLRouteMatch) DeepCopy() *GQLRouteMatch

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

func (*GQLRouteMatch) DeepCopyInto

func (in *GQLRouteMatch) DeepCopyInto(out *GQLRouteMatch)

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

type GQLRouteRules

type GQLRouteRules struct {

	// Matches define conditions used for matching the rule against incoming
	// graphQL requests. Each match is independent, i.e. this rule will be matched
	// if **any** one of the matches is satisfied.
	Matches []GQLRouteMatch `json:"matches,omitempty"`

	// Filters define the filters that are applied to requests that match
	// this rule.
	//
	// +kubebuilder:validation:MaxItems=16
	Filters []GQLRouteFilter `json:"filters,omitempty"`
}

GQLRouteRules defines semantics for matching an GraphQL request based on conditions (matches), processing it (filters), and forwarding the request to an API object (backendRefs).

func (*GQLRouteRules) DeepCopy

func (in *GQLRouteRules) DeepCopy() *GQLRouteRules

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

func (*GQLRouteRules) DeepCopyInto

func (in *GQLRouteRules) DeepCopyInto(out *GQLRouteRules)

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

type GQLRouteSpec

type GQLRouteSpec struct {
	v1.CommonRouteSpec `json:",inline"`

	// Hostnames defines a set of hostname that should match against the HTTP Host
	// header to select a GQLRoute used to process the request.
	// +optional
	// +kubebuilder:validation:MaxItems=16
	Hostnames []v1.Hostname `json:"hostnames,omitempty"`

	// BackendRefs defines the backend(s) where matching requests should be
	// sent.
	BackendRefs []v1.HTTPBackendRef `json:"backendRefs,omitempty"`

	// Rules are a list of GraphQL resources, filters and actions.
	//
	// +optional
	// +kubebuilder:validation:MaxItems=16
	Rules []GQLRouteRules `json:"rules,omitempty"`
}

GQLRouteSpec defines the desired state of GQLRoute

func (*GQLRouteSpec) DeepCopy

func (in *GQLRouteSpec) DeepCopy() *GQLRouteSpec

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

func (*GQLRouteSpec) DeepCopyInto

func (in *GQLRouteSpec) DeepCopyInto(out *GQLRouteSpec)

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

type GQLRouteStatus

type GQLRouteStatus struct {
}

GQLRouteStatus defines the observed state of GQLRoute

func (*GQLRouteStatus) DeepCopy

func (in *GQLRouteStatus) DeepCopy() *GQLRouteStatus

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

func (*GQLRouteStatus) DeepCopyInto

func (in *GQLRouteStatus) DeepCopyInto(out *GQLRouteStatus)

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

type GQLType

type GQLType string

GQLType describes how to select a GQL request by matching the GQL Type. The value is expected in upper case.

Note that values may be added to this enum, implementations must ensure that unknown values will not cause a crash.

Unknown values here must result in the implementation setting the Accepted Condition for the Route to `status: False`, with a Reason of `UnsupportedValue`.

+kubebuilder:validation:Enum=QUERY;MUTATION

type HealthCheck

type HealthCheck struct {

	// Timeout is the time to wait for a health check response.
	// If the timeout is reached the health check attempt will be considered a failure.
	//
	// +kubebuilder:default=1
	// +optional
	Timeout uint32 `json:"timeout,omitempty"`

	// Interval is the time between health check attempts in seconds.
	//
	// +kubebuilder:default=30
	// +optional
	Interval uint32 `json:"interval,omitempty"`

	// UnhealthyThreshold is the number of consecutive health check failures required
	// before a backend is marked unhealthy.
	//
	// +kubebuilder:default=2
	// +optional
	UnhealthyThreshold uint32 `json:"unhealthyThreshold,omitempty"`

	// HealthyThreshold is the number of healthy health checks required before a host is marked healthy.
	// Note that during startup, only a single successful health check is required to mark a host healthy.
	//
	// +kubebuilder:default=2
	// +optional
	HealthyThreshold uint32 `json:"healthyThreshold,omitempty"`
}

HealthCheck defines the health check configurations

func (*HealthCheck) DeepCopy

func (in *HealthCheck) DeepCopy() *HealthCheck

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

func (*HealthCheck) DeepCopyInto

func (in *HealthCheck) DeepCopyInto(out *HealthCheck)

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

type InterceptorReference

type InterceptorReference struct {
	// Name is the referced CR's name of InterceptorService resource.
	Name string `json:"name"`
}

InterceptorReference holds InterceptorService reference using name and namespace

func (*InterceptorReference) DeepCopy

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

func (*InterceptorReference) DeepCopyInto

func (in *InterceptorReference) DeepCopyInto(out *InterceptorReference)

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

type JWKS

type JWKS struct {
	// URL is the URL of the JWKS endpoint
	URL string `json:"url"`
	// TLS denotes the TLS configuration of the JWKS endpoint
	TLS *CERTConfig `json:"tls,omitempty"`
}

JWKS defines the JWKS endpoint

func (*JWKS) DeepCopy

func (in *JWKS) DeepCopy() *JWKS

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

func (*JWKS) DeepCopyInto

func (in *JWKS) DeepCopyInto(out *JWKS)

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

type JWT

type JWT struct {

	// Disabled is to disable JWT authentication
	//
	// +kubebuilder:default=true
	// +optional
	Disabled *bool `json:"disabled"`

	// Header is the header name used to pass the JWT
	//
	// +kubebuilder:default:=internal-key
	// +optional
	// +kubebuilder:validation:MinLength=1
	Header string `json:"header,omitempty"`

	// SendTokenToUpstream is to specify whether the JWT should be sent to the upstream
	//
	// +optional
	SendTokenToUpstream bool `json:"sendTokenToUpstream,omitempty"`

	// Audience who can invoke a corresponding API
	//
	// +optional
	Audience []string `json:"audience,omitempty"`
}

JWT Json Web Token Authentication scheme details

func (*JWT) DeepCopy

func (in *JWT) DeepCopy() *JWT

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

func (*JWT) DeepCopyInto

func (in *JWT) DeepCopyInto(out *JWT)

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

type MutualSSL

type MutualSSL struct {
	Disabled           bool
	Required           string
	ClientCertificates []string
}

MutualSSL defines the mutual SSL configurations for an API

func (*MutualSSL) DeepCopy

func (in *MutualSSL) DeepCopy() *MutualSSL

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

func (*MutualSSL) DeepCopyInto

func (in *MutualSSL) DeepCopyInto(out *MutualSSL)

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

type MutualSSLConfig

type MutualSSLConfig struct {

	// Disabled is to disable mTLS authentication
	//
	// +kubebuilder:default=false
	// +optional
	Disabled bool `json:"disabled,omitempty"`

	// Required indicates whether mutualSSL is mandatory or optional
	// +kubebuilder:validation:Enum=mandatory;optional
	// +kubebuilder:default=optional
	// +optional
	Required string `json:"required"`

	// CertificatesInline is the Inline Certificate entry
	CertificatesInline []*string `json:"certificatesInline,omitempty"`

	// SecretRefs denotes the reference to the Secret that contains the Certificate
	SecretRefs []*RefConfig `json:"secretRefs,omitempty"`

	// ConfigMapRefs denotes the reference to the ConfigMap that contains the Certificate
	ConfigMapRefs []*RefConfig `json:"configMapRefs,omitempty"`
}

MutualSSLConfig scheme type and details

func (*MutualSSLConfig) DeepCopy

func (in *MutualSSLConfig) DeepCopy() *MutualSSLConfig

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

func (*MutualSSLConfig) DeepCopyInto

func (in *MutualSSLConfig) DeepCopyInto(out *MutualSSLConfig)

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

type OAuth2Auth

type OAuth2Auth struct {

	// Required indicates whether OAuth2 is mandatory or optional
	// +kubebuilder:validation:Enum=mandatory;optional
	// +kubebuilder:default=mandatory
	// +optional
	Required string `json:"required,omitempty"`

	// Disabled is to disable OAuth2 authentication
	//
	// +kubebuilder:default=false
	// +optional
	Disabled bool `json:"disabled"`

	// Header is the header name used to pass the OAuth2 token
	//
	// +kubebuilder:default=authorization
	// +optional
	Header string `json:"header,omitempty"`

	// SendTokenToUpstream is to specify whether the OAuth2 token should be sent to the upstream
	//
	// +optional
	SendTokenToUpstream bool `json:"sendTokenToUpstream,omitempty"`
}

OAuth2Auth OAuth2 Authentication scheme details

func (*OAuth2Auth) DeepCopy

func (in *OAuth2Auth) DeepCopy() *OAuth2Auth

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

func (*OAuth2Auth) DeepCopyInto

func (in *OAuth2Auth) DeepCopyInto(out *OAuth2Auth)

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

type PolicySpec

type PolicySpec struct {
	// RequestInterceptors referenced to intercetor services to be applied
	// to the request flow.
	//
	// +optional
	// +nullable
	// +kubebuilder:validation:MaxItems=1
	RequestInterceptors []InterceptorReference `json:"requestInterceptors,omitempty"`

	// ResponseInterceptors referenced to intercetor services to be applied
	// to the response flow.
	//
	// +optional
	// +nullable
	// +kubebuilder:validation:MaxItems=1
	ResponseInterceptors []InterceptorReference `json:"responseInterceptors,omitempty"`

	// BackendJWTPolicy holds reference to backendJWT policy configurations
	BackendJWTPolicy *BackendJWTToken `json:"backendJwtPolicy,omitempty"`

	// CORS policy to be applied to the API.
	CORSPolicy *CORSPolicy `json:"cORSPolicy,omitempty"`

	// SubscriptionValidation denotes whether subscription validation is enabled for the API
	//
	// +kubebuilder:default:=false
	// +optional
	SubscriptionValidation bool `json:"subscriptionValidation"`
}

PolicySpec contains API policies

func (*PolicySpec) DeepCopy

func (in *PolicySpec) DeepCopy() *PolicySpec

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

func (*PolicySpec) DeepCopyInto

func (in *PolicySpec) DeepCopyInto(out *PolicySpec)

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

type Property

type Property struct {
	Name  string `json:"name,omitempty"`
	Value string `json:"value,omitempty"`
}

Property holds key value pair of APIProperties

func (*Property) DeepCopy

func (in *Property) DeepCopy() *Property

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

func (*Property) DeepCopyInto

func (in *Property) DeepCopyInto(out *Property)

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

type RefConfig

type RefConfig struct {
	// Name of the secret or configmap
	//
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// Key of the secret or configmap
	//
	// +kubebuilder:validation:MinLength=1
	Key string `json:"key"`
}

RefConfig holds a config for a secret or a configmap

func (*RefConfig) DeepCopy

func (in *RefConfig) DeepCopy() *RefConfig

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

func (*RefConfig) DeepCopyInto

func (in *RefConfig) DeepCopyInto(out *RefConfig)

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

type ResolvedAPIKeySecurityConfig

type ResolvedAPIKeySecurityConfig struct {
	In    string
	Name  string
	Value string
}

ResolvedAPIKeySecurityConfig defines resolved API key security configuration

func (*ResolvedAPIKeySecurityConfig) DeepCopy

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

func (*ResolvedAPIKeySecurityConfig) DeepCopyInto

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

type ResolvedBackend

type ResolvedBackend struct {
	Backend        Backend
	Services       []Service
	Protocol       BackendProtocolType
	TLS            ResolvedTLSConfig
	Security       ResolvedSecurityConfig
	CircuitBreaker *CircuitBreaker
	Timeout        *Timeout
	Retry          *RetryConfig
	BasePath       string `json:"basePath"`
	HealthCheck    *HealthCheck
}

ResolvedBackend holds backend properties

func (*ResolvedBackend) DeepCopy

func (in *ResolvedBackend) DeepCopy() *ResolvedBackend

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

func (*ResolvedBackend) DeepCopyInto

func (in *ResolvedBackend) DeepCopyInto(out *ResolvedBackend)

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

type ResolvedBasicSecurityConfig

type ResolvedBasicSecurityConfig struct {
	Username string
	Password string
}

ResolvedBasicSecurityConfig defines resolved basic security configuration

func (*ResolvedBasicSecurityConfig) DeepCopy

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

func (*ResolvedBasicSecurityConfig) DeepCopyInto

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

type ResolvedSecurityConfig

type ResolvedSecurityConfig struct {
	Type   string
	Basic  ResolvedBasicSecurityConfig
	APIKey ResolvedAPIKeySecurityConfig
}

ResolvedSecurityConfig defines enpoint resolved security configurations

func (*ResolvedSecurityConfig) DeepCopy

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

func (*ResolvedSecurityConfig) DeepCopyInto

func (in *ResolvedSecurityConfig) DeepCopyInto(out *ResolvedSecurityConfig)

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

type ResolvedTLSConfig

type ResolvedTLSConfig struct {
	ResolvedCertificate string
	AllowedSANs         []string
}

ResolvedTLSConfig defines enpoint TLS configurations

func (*ResolvedTLSConfig) DeepCopy

func (in *ResolvedTLSConfig) DeepCopy() *ResolvedTLSConfig

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

func (*ResolvedTLSConfig) DeepCopyInto

func (in *ResolvedTLSConfig) DeepCopyInto(out *ResolvedTLSConfig)

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

type RetryConfig

type RetryConfig struct {

	// Count defines the number of retries.
	// If exceeded, TooEarly(425 response code) response will be sent to the client.
	//
	// +kubebuilder:default=1
	Count uint32 `json:"count"`

	// BaseIntervalMillis is exponential retry back off and it defines the base interval between retries in milliseconds.
	// maximum interval is 10 times of the BaseIntervalMillis
	//
	// +kubebuilder:default=25
	// +kubebuilder:validation:Minimum=1
	// +optional
	BaseIntervalMillis uint32 `json:"baseIntervalMillis"`

	// StatusCodes defines the list of status codes to retry
	//
	// +optional
	StatusCodes []uint32 `json:"statusCodes,omitempty"`
}

RetryConfig defines retry configurations

func (*RetryConfig) DeepCopy

func (in *RetryConfig) DeepCopy() *RetryConfig

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

func (*RetryConfig) DeepCopyInto

func (in *RetryConfig) DeepCopyInto(out *RetryConfig)

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

type SecretRef

type SecretRef struct {
	// Name of the secret
	//
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// Username Key value
	//
	// +kubebuilder:validation:MinLength=1
	UsernameKey string `json:"usernameKey"`

	// Password Key of the secret
	//
	// +kubebuilder:validation:MinLength=1
	PasswordKey string `json:"passwordKey"`
}

SecretRef to credentials

func (*SecretRef) DeepCopy

func (in *SecretRef) DeepCopy() *SecretRef

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

func (*SecretRef) DeepCopyInto

func (in *SecretRef) DeepCopyInto(out *SecretRef)

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

type SecurityConfig

type SecurityConfig struct {
	// Basic security configuration
	Basic *BasicSecurityConfig `json:"basic,omitempty"`
	// APIKey security configuration
	APIKey *APIKeySecurityConfig `json:"apiKey,omitempty"`
}

SecurityConfig defines enpoint security configurations

func (*SecurityConfig) DeepCopy

func (in *SecurityConfig) DeepCopy() *SecurityConfig

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

func (*SecurityConfig) DeepCopyInto

func (in *SecurityConfig) DeepCopyInto(out *SecurityConfig)

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

type Service

type Service struct {
	// Host is the hostname of the service
	//
	// +kubebuilder:validation:MinLength=1
	Host string `json:"host"`

	// Port of the service
	Port uint32 `json:"port"`
}

Service holds host and port information for the service

func (*Service) DeepCopy

func (in *Service) DeepCopy() *Service

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

func (*Service) DeepCopyInto

func (in *Service) DeepCopyInto(out *Service)

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

type SignatureValidation

type SignatureValidation struct {
	// JWKS denotes the JWKS endpoint information
	JWKS *JWKS `json:"jwks,omitempty"`
	// Certificate denotes the certificate information
	Certificate *CERTConfig `json:"certificate,omitempty"`
}

SignatureValidation defines the signature validation method

func (*SignatureValidation) DeepCopy

func (in *SignatureValidation) DeepCopy() *SignatureValidation

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

func (*SignatureValidation) DeepCopyInto

func (in *SignatureValidation) DeepCopyInto(out *SignatureValidation)

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

type TLSConfig

type TLSConfig struct {
	// CertificateInline is the Inline Certificate entry
	CertificateInline *string `json:"certificateInline,omitempty"`

	// SecretRef denotes the reference to the Secret that contains the Certificate
	SecretRef *RefConfig `json:"secretRef,omitempty"`

	// ConfigMapRef denotes the reference to the ConfigMap that contains the Certificate
	ConfigMapRef *RefConfig `json:"configMapRef,omitempty"`

	// AllowedCNs is the list of allowed Subject Alternative Names (SANs)
	//
	// +optional
	AllowedSANs []string `json:"allowedSANs,omitempty"`
}

TLSConfig defines enpoint TLS configurations

func (*TLSConfig) DeepCopy

func (in *TLSConfig) DeepCopy() *TLSConfig

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

func (*TLSConfig) DeepCopyInto

func (in *TLSConfig) DeepCopyInto(out *TLSConfig)

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

type Timeout

type Timeout struct {
	// UpstreamResponseTimeout spans between the point at which the entire downstream request (i.e. end-of-stream) has been processed and
	// when the upstream response has been completely processed.
	// A value of 0 will disable the route’s timeout.
	//
	// +kubebuilder:default=15
	UpstreamResponseTimeout uint32 `json:"upstreamResponseTimeout"`

	// DownstreamRequestIdleTimeout bounds the amount of time the request's stream may be idle.
	// A value of 0 will completely disable the route's idle timeout.
	//
	// +kubebuilder:default=300
	// +optional
	DownstreamRequestIdleTimeout uint32 `json:"downstreamRequestIdleTimeout"`
}

Timeout defines the timeout configurations

func (*Timeout) DeepCopy

func (in *Timeout) DeepCopy() *Timeout

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

func (*Timeout) DeepCopyInto

func (in *Timeout) DeepCopyInto(out *Timeout)

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

type TokenIssuer

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

	Spec   TokenIssuerSpec   `json:"spec,omitempty"`
	Status TokenIssuerStatus `json:"status,omitempty"`
}

TokenIssuer is the Schema for the tokenissuers API

func (*TokenIssuer) DeepCopy

func (in *TokenIssuer) DeepCopy() *TokenIssuer

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

func (*TokenIssuer) DeepCopyInto

func (in *TokenIssuer) DeepCopyInto(out *TokenIssuer)

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

func (*TokenIssuer) DeepCopyObject

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

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

func (*TokenIssuer) Hub

func (*TokenIssuer) Hub()

Hub marks this type as a conversion hub.

type TokenIssuerList

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

TokenIssuerList contains a list of TokenIssuer

func (*TokenIssuerList) DeepCopy

func (in *TokenIssuerList) DeepCopy() *TokenIssuerList

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

func (*TokenIssuerList) DeepCopyInto

func (in *TokenIssuerList) DeepCopyInto(out *TokenIssuerList)

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

func (*TokenIssuerList) DeepCopyObject

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

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

type TokenIssuerSpec

type TokenIssuerSpec struct {
	// Name is the unique name of the Token Issuer in
	// the Organization defined . "Organization/Name" can
	// be used to uniquely identify an Issuer.
	//
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// Organization denotes the organization of the Token Issuer.
	//
	// +kubebuilder:validation:MinLength=1
	Organization string `json:"organization"`

	// Issuer denotes the issuer of the Token Issuer.
	//
	// +kubebuilder:validation:MinLength=1
	Issuer string `json:"issuer"`

	// ConsumerKeyClaim denotes the claim key of the consumer key.
	//
	// +kubebuilder:validation:MinLength=1
	ConsumerKeyClaim string `json:"consumerKeyClaim"`

	// ScopesClaim denotes the claim key of the scopes.
	//
	// +kubebuilder:validation:MinLength=1
	ScopesClaim string `json:"scopesClaim"`

	// SignatureValidation denotes the signature validation method of jwt
	SignatureValidation *SignatureValidation `json:"signatureValidation"`

	// ClaimMappings denotes the claim mappings of the jwt
	ClaimMappings *[]ClaimMapping `json:"claimMappings,omitempty"`

	// TargetRef denotes the reference to the which gateway it applies to
	TargetRef *gwapiv1b1.NamespacedPolicyTargetReference `json:"targetRef,omitempty"`

	// Environments denotes the environments that are applicable for the token issuer.
	//
	// +optional
	// +nullable
	Environments []string `json:"environments,omitempty"`
}

TokenIssuerSpec defines the desired state of TokenIssuer

func (*TokenIssuerSpec) DeepCopy

func (in *TokenIssuerSpec) DeepCopy() *TokenIssuerSpec

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

func (*TokenIssuerSpec) DeepCopyInto

func (in *TokenIssuerSpec) DeepCopyInto(out *TokenIssuerSpec)

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

type TokenIssuerStatus

type TokenIssuerStatus struct {
}

TokenIssuerStatus defines the observed state of TokenIssuer

func (*TokenIssuerStatus) DeepCopy

func (in *TokenIssuerStatus) DeepCopy() *TokenIssuerStatus

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

func (*TokenIssuerStatus) DeepCopyInto

func (in *TokenIssuerStatus) DeepCopyInto(out *TokenIssuerStatus)

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

type ValueRef

type ValueRef struct {
	// Name of the secret
	//
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// Field Key of the APIKey
	//
	// +kubebuilder:validation:MinLength=1
	ValueKey string `json:"valueKey"`
}

ValueRef to value

func (*ValueRef) DeepCopy

func (in *ValueRef) DeepCopy() *ValueRef

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

func (*ValueRef) DeepCopyInto

func (in *ValueRef) DeepCopyInto(out *ValueRef)

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