Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the tyk v1alpha1 API group +kubebuilder:object:generate=true +groupName=tyk.tyk.io
Index ¶
- Variables
- func Marshal(v interface{}) ([]byte, error)
- type APIDefinitionSpec
- type APILimit
- type AccessDefinition
- type AccessSpec
- type AccessTypeEnum
- type ApiDefinition
- func (in *ApiDefinition) DeepCopy() *ApiDefinition
- func (in *ApiDefinition) DeepCopyInto(out *ApiDefinition)
- func (in *ApiDefinition) DeepCopyObject() runtime.Object
- func (in *ApiDefinition) Default()
- func (in *ApiDefinition) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (in *ApiDefinition) ValidateCreate() error
- func (in *ApiDefinition) ValidateDelete() error
- func (in *ApiDefinition) ValidateUpdate(old runtime.Object) error
- type ApiDefinitionList
- type ApiDefinitionStatus
- type AuthConfig
- type AuthProviderCode
- type AuthProviderMeta
- type AuthTypeEnum
- type AuthorizeTypeEnum
- type BasicAuthMeta
- type BundleManifest
- type CORS
- type CacheMeta
- type CacheOptions
- type CheckCommand
- type CircuitBreakerMeta
- type Config
- type DataSourceConfig
- type EndPointMeta
- type EndpointMethodAction
- type EndpointMethodMeta
- type EventHandlerMetaConfig
- type EventHandlerTriggerConfig
- type ExtendedPathsSet
- type Float64
- type Gateway
- type GatewayList
- type GatewaySpec
- type GatewayStatus
- type GlobalRateLimit
- type GraphQLConfig
- type GraphQLExecutionMode
- type GraphQLPlayground
- type HardTimeoutMeta
- type HeaderInjectionMeta
- type HostCheckObject
- type HttpMethod
- type IdExtractorConfig
- type IdExtractorSource
- type IdExtractorType
- type InternalMeta
- type MappingConfiguration
- type MethodTransformMeta
- type MiddlewareDefinition
- type MiddlewareDriver
- type MiddlewareIdExtractor
- type MiddlewareSection
- type NotificationsManager
- type OAuth2Meta
- type OIDProviderConfig
- type OpenIDOptions
- type Organization
- type OrganizationList
- type OrganizationSpec
- type OrganizationStatus
- type Percent
- type PolicyPartitions
- type Proxy
- type ProxyTransport
- type RequestInputType
- type RequestSigningMeta
- type RequestSizeMeta
- type ResponseProcessor
- type RewriteToInternal
- type RoutingTrigger
- type RoutingTriggerOnType
- type RoutingTriggerOptions
- type SecurityPolicy
- func (in *SecurityPolicy) DeepCopy() *SecurityPolicy
- func (in *SecurityPolicy) DeepCopyInto(out *SecurityPolicy)
- func (in *SecurityPolicy) DeepCopyObject() runtime.Object
- func (r *SecurityPolicy) Default()
- func (r *SecurityPolicy) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *SecurityPolicy) ValidateCreate() error
- func (r *SecurityPolicy) ValidateDelete() error
- func (r *SecurityPolicy) ValidateUpdate(old runtime.Object) error
- type SecurityPolicyList
- type SecurityPolicySpec
- type SecurityPolicyStatus
- type ServiceDiscoveryConfiguration
- type SessionProviderCode
- type SessionProviderMeta
- type SignatureConfig
- type SourceConfig
- type StatusCodeTypeNameMapping
- type StorageEngineCode
- type StorageOptionsConf
- type StringRegexMap
- type Target
- type TargetInternal
- type TemplateData
- type TemplateMeta
- type TemplateMode
- type TrackEndpointMeta
- type TransformJQMeta
- type TykEvent
- type TykEventHandlerName
- type TypeFieldConfiguration
- type URLRewriteMeta
- type UptimeTestConfig
- type UptimeTests
- type ValidatePathMeta
- type VersionData
- type VersionDefinition
- type VersionInfo
- type VersionInfoPaths
- type VirtualMeta
- type Webhook
- type WebhookList
- type WebhookMethod
- type WebhookSpec
- type WebhookStatus
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "tyk.tyk.io", 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 ¶
Types ¶
type APIDefinitionSpec ¶
type APIDefinitionSpec struct {
// For server use only, do not use
ID string `json:"id,omitempty"`
// Only set this field if you are referring
// To an existing API in def.
// The Operator will use this API ID to link the CRD with the API in Tyk
// Note the values in the CRD will become the new source of truth, overriding the existing API Definition
APIID string `json:"api_id,omitempty"`
Name string `json:"name"`
// OrgID is overwritten - no point setting this
OrgID string `json:"org_id,omitempty"`
// Active specifies if the api is enabled or not
Active bool `json:"active,omitempty"`
// Proxy
Proxy Proxy `json:"proxy"`
// +optional
ListenPort int `json:"listen_port"`
// +kubebuilder:validation:Enum=http;https;tcp;tls
Protocol string `json:"protocol"`
EnableProxyProtocol bool `json:"enable_proxy_protocol,omitempty"`
// Domain represents a custom host header that the gateway will listen on for this API
Domain string `json:"domain,omitempty"`
// DoNotTrack disables endpoint tracking for this API. Default is true, you need to explicitly set it to false
DoNotTrack *bool `json:"do_not_track,omitempty"`
// UseKeylessAccess will switch off all key checking. Some analytics will still be recorded, but rate-limiting,
// quotas and security policies will not be possible (there is no session to attach requests to).
UseKeylessAccess bool `json:"use_keyless,omitempty"`
// UseOAuth2 enables oauth2 authorization
UseOauth2 bool `json:"use_oauth2,omitempty"`
//+optional
Oauth2Meta *OAuth2Meta `json:"oauth_meta,omitempty"`
// StripAuthData ensures that any security tokens used for accessing APIs are stripped and not leaked to the upstream
StripAuthData bool `json:"strip_auth_data,omitempty"`
Auth AuthConfig `json:"auth,omitempty"`
// +optional
AuthConfigs map[string]AuthConfig `json:"auth_configs,omitempty"`
// UseStandardAuth enables simple bearer token authentication
UseStandardAuth bool `json:"use_standard_auth,omitempty"`
// EnableJWT set JWT as the access method for this API.
EnableJWT bool `json:"enable_jwt,omitempty"`
EnableCoProcessAuth bool `json:"enable_coprocess_auth,omitempty"`
// JWTSigningMethod algorithm used to sign jwt token
// +kubebuilder:validation:Enum=rsa;hmac;ecdsa
JWTSigningMethod string `json:"jwt_signing_method,omitempty"`
// JWTSource Must either be a base64 encoded valid RSA/HMAC key or a url to a
// resource serving JWK, this key will then be used to validate inbound JWT and
// throttle them according to the centralised JWT options and fields set in the
// configuration.
JWTSource string `json:"jwt_source,omitempty"`
// JWTIdentityBaseField Identifies the user or identity to be used in the
// Claims of the JWT. This will fallback to sub if not found. This field forms
// the basis of a new “virtual” token that gets used after validation. It means
// policy attributes are carried forward through Tyk for attribution purposes.
JWTIdentityBaseField string `json:"jwt_identity_base_field,omitempty"`
// JWTClientIDBaseField is the name of the field on JWT claim to use for client
// id. This field is mutually exclusive to jwt_identity_base_field, meaning you
// can only set/use one and jwt_identity_base_field takes precedence when both
// are set.
JWTClientIDBaseField string `json:"jwt_client_base_field,omitempty"`
// JWTPolicyFieldName The policy ID to apply to the virtual token generated for a JWT
JWTPolicyFieldName string `json:"jwt_policy_field_name,omitempty"`
// JWTDefaultPolicies is a list of policies that will be used when base policy
// can't be extracted from the JWT token. When this list is provided the first
// element will be used as the base policy while the rest of elements will be applied.
JWTDefaultPolicies []string `json:"jwt_default_policies,omitempty"`
// JWTIssuedAtValidationSkew adds validation for issued at JWT claim.
// Given
// now = current unix time
// skew = jwt_issued_at_validation_skew
// iat = the issued at jwt claim
// If iat > (now + skew) then validation will fail with "token used before issued"
JWTIssuedAtValidationSkew uint64 `json:"jwt_issued_at_validation_skew,omitempty"`
// JWTExpiresAtValidationSkew adds validation for expired at JWT claim.
// Given
// now = current unix time
// skew = jwt_expires_at_validation_skew
// exp = expired at
// If exp > (now - skew) then validation will fail with "token has expired"
JWTExpiresAtValidationSkew uint64 `json:"jwt_expires_at_validation_skew,omitempty"`
// JWTNotBeforeValidationSkew adds validation for not before JWT claim.
// Given
// now = current unix time
// skew = jwt_not_before_validation_skew
// nbf = the not before jwt claim
// If nbf > (now + skew) then validation will fail with "token is not valid yet"
JWTNotBeforeValidationSkew uint64 `json:"jwt_not_before_validation_skew,omitempty"`
// JWTSkipKid when true we ingore using kid as the identity for a JWT token and
// instead use jwt_identity_base_field if it was set or fallback to sub JWT
// claim.
JWTSkipKid bool `json:"jwt_skip_kid,omitempty"`
// JWTScopeToPolicyMapping this is a mapping of scope value to policy id. If
// this is set then a scope value found in this map will make the mappend
// policy to be applied.
JWTScopeToPolicyMapping map[string]string `json:"jwt_scope_to_policy_mapping,omitempty"`
// JWTScopeClaimName overides the key used for scope values in the JWT claims.
// By default the value is "scope"
JWTScopeClaimName string `json:"jwt_scope_claim_name,omitempty"`
VersionDefinition VersionDefinition `json:"definition,omitempty"`
VersionData VersionData `json:"version_data,omitempty"`
CustomMiddleware MiddlewareSection `json:"custom_middleware,omitempty"`
CacheOptions CacheOptions `json:"cache_options,omitempty"`
// SessionLifetime this is duration in seconds before the session key expires
// in redis.
//
// Example:
// If you want the session keys to be alive only 24 hours you can set this
// value to 86400 that we can break down to
// 60 * 60 * 24 = Total seconds in a day
//+optional
SessionLifetime int64 `json:"session_lifetime,omitempty"`
// Internal tells Tyk Gateway that this is a virtual API. It can only be routed to from other APIs.
Internal bool `json:"internal,omitempty"`
// EnableIPWhiteListing activates the ip whitelisting middleware.
EnableIPWhiteListing bool `json:"enable_ip_whitelisting,omitempty"`
// AllowedIPs is a list of IP address that are whitelisted.When this is
// provided all IP address that is not on this list will be blocked and a 403 http
// status will be returned. The IP address can be IPv4 or IPv6.IP in
// CIDR notation is also supported.
AllowedIPs []string `json:"allowed_ips,omitempty"`
// EnableIPBlacklisting activates the ip blacklisting middleware.
EnableIPBlacklisting bool `json:"enable_ip_blacklisting,omitempty"`
// BlacklistedIPs is a list of IP address that will be blacklisted.This means if
// origin IP matches any IP in this list a 403 http status code will be
// returned. The IP address can be IPv4 or IPv6. IP in CIDR notation is also
// supported.
BlacklistedIPs []string `json:"blacklisted_ips,omitempty"`
ResponseProcessors []ResponseProcessor `json:"response_processors,omitempty"`
CORS CORS `json:"CORS,omitempty"`
// Certificates is a list of Tyk Certificate IDs. e.g. orgid+fingerprint. Use CertificateSecretNames if using cert-manager
Certificates []string `json:"certificates,omitempty"`
// CertificateSecretNames represents the names of the secrets that the controller should look for in the in the current
// namespace which contain the certificates.
CertificateSecretNames []string `json:"certificate_secret_names,omitempty"`
// Tags are named gateway nodes which tell gateway clusters whether to load an API or not.
// for example, to load the API in an ARA gateway, you might want to include an `edge` tag.
Tags []string `json:"tags,omitempty"`
// EnableContextVars extracts request context variables from the start of the middleware chain.
// Set this to true to make them available to your transforms.
// Context Variables are available in the url rewriter, modify headers and body transforms.
EnableContextVars bool `json:"enable_context_vars,omitempty"`
// EnableDetailedRecording instructs Tyk store the inbound request and outbound response data in HTTP Wire format
// as part of the Analytics data
EnableDetailedRecording bool `json:"enable_detailed_recording,omitempty"`
GraphQL *GraphQLConfig `json:"graphql,omitempty"`
}
APIDefinition represents the configuration for a single proxied API and it's versions. +kubebuilder:object:generate=true
func (*APIDefinitionSpec) CollectLoopingTarget ¶ added in v0.6.0
func (a *APIDefinitionSpec) CollectLoopingTarget() (targets []Target)
func (*APIDefinitionSpec) DeepCopy ¶
func (in *APIDefinitionSpec) DeepCopy() *APIDefinitionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIDefinitionSpec.
func (*APIDefinitionSpec) DeepCopyInto ¶
func (in *APIDefinitionSpec) DeepCopyInto(out *APIDefinitionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APILimit ¶
type APILimit struct {
Rate int64 `json:"rate"`
Per int64 `json:"per"`
ThrottleInterval int64 `json:"throttle_interval"`
ThrottleRetryLimit int `json:"throttle_retry_limit"`
MaxQueryDepth int `json:"max_query_depth"`
QuotaMax int64 `json:"quota_max"`
QuotaRenews int64 `json:"quota_renews"`
QuotaRemaining int64 `json:"quota_remaining"`
QuotaRenewalRate int64 `json:"quota_renewal_rate"`
}
APILimit stores quota and rate limit on ACL level (per API)
func (*APILimit) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APILimit.
func (*APILimit) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AccessDefinition ¶
type AccessDefinition struct {
// Namespace of the ApiDefinition resource to target
Namespace string `json:"namespace"`
// Name of the ApiDefinition resource to target
Name string `json:"name"`
// TODO: APIName should not really be needed, as is auto-set from the APIDefnition Resource
APIName string `json:"api_name,omitempty"`
// TODO: APIID should not really be needed, as is auto-set from the APIDefnition Resource
APIID string `json:"api_id,omitempty"`
Versions []string `json:"versions"`
//RestrictedTypes []graphql.Type `json:"restricted_types"`
//Limit APILimit `json:"limit,omitempty"`
AllowanceScope string `json:"allowance_scope,omitempty"`
AllowedURLs []AccessSpec `json:"allowed_urls,omitempty"` // mapped string MUST be a valid regex
}
from tyk/session.go AccessDefinition defines which versions of an API a key has access to
func (*AccessDefinition) DeepCopy ¶
func (in *AccessDefinition) DeepCopy() *AccessDefinition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessDefinition.
func (*AccessDefinition) DeepCopyInto ¶
func (in *AccessDefinition) DeepCopyInto(out *AccessDefinition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AccessSpec ¶
AccessSpecs define what URLS a user has access to an what methods are enabled
func (*AccessSpec) DeepCopy ¶
func (in *AccessSpec) DeepCopy() *AccessSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessSpec.
func (*AccessSpec) DeepCopyInto ¶
func (in *AccessSpec) DeepCopyInto(out *AccessSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AccessTypeEnum ¶ added in v0.6.0
type AccessTypeEnum string
+kubebuilder:validation:Enum=authorization_code;refresh_token;password;client_credentials
type ApiDefinition ¶
type ApiDefinition struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec APIDefinitionSpec `json:"spec,omitempty"`
Status ApiDefinitionStatus `json:"status,omitempty"`
}
+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Domain",type=string,JSONPath=`.spec.domain` +kubebuilder:printcolumn:name="ListenPath",type=string,JSONPath=`.spec.proxy.listen_path` +kubebuilder:printcolumn:name="Proxy.TargetURL",type=string,JSONPath=`.spec.proxy.target_url` +kubebuilder:printcolumn:name="Enabled",type=boolean,JSONPath=`.spec.active` +kubebuilder:resource:shortName=tykapis ApiDefinition is the Schema for the apidefinitions API
func (*ApiDefinition) DeepCopy ¶
func (in *ApiDefinition) DeepCopy() *ApiDefinition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApiDefinition.
func (*ApiDefinition) DeepCopyInto ¶
func (in *ApiDefinition) DeepCopyInto(out *ApiDefinition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApiDefinition) DeepCopyObject ¶
func (in *ApiDefinition) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ApiDefinition) Default ¶
func (in *ApiDefinition) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*ApiDefinition) SetupWebhookWithManager ¶
func (in *ApiDefinition) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*ApiDefinition) ValidateCreate ¶
func (in *ApiDefinition) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*ApiDefinition) ValidateDelete ¶
func (in *ApiDefinition) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*ApiDefinition) ValidateUpdate ¶
func (in *ApiDefinition) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type ApiDefinitionList ¶
type ApiDefinitionList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ApiDefinition `json:"items"`
}
ApiDefinitionList contains a list of ApiDefinition +kubebuilder:object:root=true
func (*ApiDefinitionList) DeepCopy ¶
func (in *ApiDefinitionList) DeepCopy() *ApiDefinitionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApiDefinitionList.
func (*ApiDefinitionList) DeepCopyInto ¶
func (in *ApiDefinitionList) DeepCopyInto(out *ApiDefinitionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApiDefinitionList) DeepCopyObject ¶
func (in *ApiDefinitionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ApiDefinitionStatus ¶
type ApiDefinitionStatus struct {
ApiID string `json:"api_id"`
// LinkedByPolicies is a list policies that references this api definition
//+optional
LinkedByPolicies []Target `json:"linked_by_policies,omitempty"`
// LinkedByAPIs is a list of ApiDefinition namespaced/name that links to this
// resource
LinkedByAPIs []Target `json:"linked_by_apis,omitempty"`
// LinkedToAPIs is a list of ApiDefinition namespaced/name that this resource
// links to.
LinkedToAPIs []Target `json:"linked_to_apis,omitempty"`
}
ApiDefinitionStatus defines the observed state of ApiDefinition
func (*ApiDefinitionStatus) DeepCopy ¶
func (in *ApiDefinitionStatus) DeepCopy() *ApiDefinitionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApiDefinitionStatus.
func (*ApiDefinitionStatus) DeepCopyInto ¶
func (in *ApiDefinitionStatus) DeepCopyInto(out *ApiDefinitionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AuthConfig ¶
type AuthConfig struct {
UseParam bool `json:"use_param,omitempty"`
ParamName string `json:"param_name,omitempty"`
UseCookie bool `json:"use_cookie,omitempty"`
CookieName string `json:"cookie_name,omitempty"`
AuthHeaderName string `json:"auth_header_name"`
UseCertificate bool `json:"use_certificate,omitempty"`
ValidateSignature bool `json:"validate_signature,omitempty"`
Signature SignatureConfig `json:"signature,omitempty"`
}
func (*AuthConfig) DeepCopy ¶
func (in *AuthConfig) DeepCopy() *AuthConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthConfig.
func (*AuthConfig) DeepCopyInto ¶
func (in *AuthConfig) DeepCopyInto(out *AuthConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AuthProviderCode ¶
type AuthProviderCode string
ApiDefinitionSpec defines the desired state of ApiDefinition
type AuthProviderMeta ¶
type AuthProviderMeta struct {
Name AuthProviderCode `json:"name"`
StorageEngine StorageEngineCode `json:"storage_engine"`
}
func (*AuthProviderMeta) DeepCopy ¶
func (in *AuthProviderMeta) DeepCopy() *AuthProviderMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthProviderMeta.
func (*AuthProviderMeta) DeepCopyInto ¶
func (in *AuthProviderMeta) DeepCopyInto(out *AuthProviderMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AuthTypeEnum ¶
type AuthTypeEnum string
type AuthorizeTypeEnum ¶ added in v0.6.0
type AuthorizeTypeEnum string
+kubebuilder:validation:Enum=code;token
type BasicAuthMeta ¶
type BasicAuthMeta struct {
DisableCaching bool `json:"disable_caching"`
CacheTTL int `json:"cache_ttl"`
ExtractFromBody bool `json:"extract_from_body"`
BodyUserRegexp string `json:"body_user_regexp"`
BodyPasswordRegexp string `json:"body_password_regexp"`
}
func (*BasicAuthMeta) DeepCopy ¶
func (in *BasicAuthMeta) DeepCopy() *BasicAuthMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicAuthMeta.
func (*BasicAuthMeta) DeepCopyInto ¶
func (in *BasicAuthMeta) DeepCopyInto(out *BasicAuthMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BundleManifest ¶
type BundleManifest struct {
FileList []string `json:"file_list"`
CustomMiddleware MiddlewareSection `json:"custom_middleware"`
Checksum string `json:"checksum"`
Signature string `json:"signature"`
}
func (*BundleManifest) DeepCopy ¶
func (in *BundleManifest) DeepCopy() *BundleManifest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BundleManifest.
func (*BundleManifest) DeepCopyInto ¶
func (in *BundleManifest) DeepCopyInto(out *BundleManifest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CORS ¶
type CORS struct {
// Enable when set to true it enables the cors middleware for the api
Enable bool `json:"enable,omitempty"`
// AllowedOrigins is a list of origin domains to allow access from.
AllowedOrigins []string `json:"allowed_origins,omitempty"`
// AllowedMethods is a list of methods to allow access via.
AllowedMethods []HttpMethod `json:"allowed_methods,omitempty"`
// AllowedHeaders are headers that are allowed within a request.
AllowedHeaders []string `json:"allowed_headers,omitempty"`
// ExposedHeaders is a list of headers that are exposed back in the response.
ExposedHeaders []string `json:"exposed_headers,omitempty"`
// AllowCredentials if true will allow cookies
AllowCredentials bool `json:"allow_credentials,omitempty"`
// MaxAge is the maximum age of credentials
MaxAge int `json:"max_age,omitempty"`
// OptionsPassthrough allow CORS OPTIONS preflight request to be proxied
// directly to upstream, without authentication and rest of checks. This means
// that pre-flight requests generated by web-clients such as SwaggerUI or the
// Tyk Portal documentation system will be able to test the API using trial
// keys. If your service handles CORS natively, then enable this option.
OptionsPassthrough bool `json:"options_passthrough,omitempty"`
// Debug if true, this option produces log files for the CORS middleware
Debug bool `json:"debug,omitempty"`
}
CORS cors settings
func (*CORS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CORS.
func (*CORS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CacheMeta ¶
type CacheMeta struct {
Method HttpMethod `json:"method"`
Path string `json:"path"`
CacheKeyRegex string `json:"cache_key_regex"`
CacheOnlyResponseCodes []int `json:"cache_response_codes"`
}
func (*CacheMeta) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CacheMeta.
func (*CacheMeta) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CacheOptions ¶
type CacheOptions struct {
// EnableCache turns global cache middleware on or off.
// It is still possible to enable caching on a per-path basis by explicitly setting the endpoint cache middleware.
// see `spec.version_data.versions.{VERSION}.extended_paths.cache[]`
EnableCache bool `json:"enable_cache,omitempty"`
// CacheTimeout is the TTL for a cached object in seconds
CacheTimeout int64 `json:"cache_timeout"`
// CacheAllSafeRequests caches responses to (GET, HEAD, OPTIONS) requests
// overrides per-path cache settings in versions, applies across versions
CacheAllSafeRequests bool `json:"cache_all_safe_requests,omitempty"`
// CacheOnlyResponseCodes is an array of response codes which are safe to cache. e.g. 404
CacheOnlyResponseCodes []int `json:"cache_response_codes,omitempty"`
// EnableUpstreamCacheControl instructs Tyk Cache to respect upstream cache control headers
EnableUpstreamCacheControl bool `json:"enable_upstream_cache_control,omitempty"`
// CacheControlTTLHeader is the response header which tells Tyk how long it is safe to cache the response for
CacheControlTTLHeader string `json:"cache_control_ttl_header,omitempty"`
// CacheByHeaders allows header values to be used as part of the cache key
CacheByHeaders []string `json:"cache_by_headers,omitempty"`
}
func (*CacheOptions) DeepCopy ¶
func (in *CacheOptions) DeepCopy() *CacheOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CacheOptions.
func (*CacheOptions) DeepCopyInto ¶
func (in *CacheOptions) DeepCopyInto(out *CacheOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CheckCommand ¶
func (*CheckCommand) DeepCopy ¶
func (in *CheckCommand) DeepCopy() *CheckCommand
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CheckCommand.
func (*CheckCommand) DeepCopyInto ¶
func (in *CheckCommand) DeepCopyInto(out *CheckCommand)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CircuitBreakerMeta ¶
type CircuitBreakerMeta struct {
Path string `json:"path"`
Method HttpMethod `json:"method"`
// ThresholdPercent is the percentage of requests that fail before breaker is tripped
ThresholdPercent Percent `json:"threshold_percent"`
// Samples defines the number of requests to base the ThresholdPercent on
Samples int64 `json:"samples"`
// ReturnToServiceAfter represents the time in seconds to return back to the service
ReturnToServiceAfter int `json:"return_to_service_after"`
DisableHalfOpenState bool `json:"disable_half_open_state,omitempty"`
}
func (*CircuitBreakerMeta) DeepCopy ¶
func (in *CircuitBreakerMeta) DeepCopy() *CircuitBreakerMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CircuitBreakerMeta.
func (*CircuitBreakerMeta) DeepCopyInto ¶
func (in *CircuitBreakerMeta) DeepCopyInto(out *CircuitBreakerMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Config ¶
type Config struct {
ListenPort int32 `json:"listen_port"`
// +kubebuilder:validation:MinLength=3
Secret string `json:"secret"`
// +kubebuilder:validation:MinLength=3
NodeSecret string `json:"node_secret"`
ControlAPIHostname string `json:"control_api_hostname"`
ControlAPIPort int `json:"control_api_port"`
//AllowInsecureConfigs bool `json:"allow_insecure_configs"`
//PublicKeyPath string `json:"public_key_path"`
//AllowRemoteConfig bool `bson:"allow_remote_config" json:"allow_remote_config"`
//Security SecurityConfig `json:"security"`
//HttpServerOptions HttpServerOptionsConfig `json:"http_server_options"`
//ReloadWaitTime int `bson:"reload_wait_time" json:"reload_wait_time"`
//VersionHeader string `json:"version_header"`
//UseAsyncSessionWrite bool `json:"optimisations_use_async_session_write"`
//SuppressRedisSignalReload bool `json:"suppress_redis_signal_reload"`
//// Gateway Security Policies
//HashKeys bool `json:"hash_keys"`
//HashKeyFunction string `json:"hash_key_function"`
//EnableHashedKeysListing bool `json:"enable_hashed_keys_listing"`
//MinTokenLength int `json:"min_token_length"`
//EnableAPISegregation bool `json:"enable_api_segregation"`
//TemplatePath string `json:"template_path"`
//Policies PoliciesConfig `json:"policies"`
//DisablePortWhiteList bool `json:"disable_ports_whitelist"`
//// Defines the ports that will be available for the api services to bind to.
//// This is a map of protocol to PortWhiteList. This allows per protocol
//// configurations.
//PortWhiteList map[string]PortWhiteList `json:"ports_whitelist"`
//
//// CE Configurations
//AppPath string `json:"app_path"`
//
//// Dashboard Configurations
//UseDBAppConfigs bool `json:"use_db_app_configs"`
//DBAppConfOptions DBAppConfOptionsConfig `json:"db_app_conf_options"`
Storage StorageOptionsConf `json:"storage"`
}
func (*Config) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Config.
func (*Config) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataSourceConfig ¶
type DataSourceConfig struct {
URL string `json:"url"`
Method HttpMethod `json:"method"`
Body string `json:"body,omitempty"`
DefaultTypeName string `json:"default_type_name,omitempty"`
Headers []string `json:"headers,omitempty"`
StatusCodeTypeNameMappings []StatusCodeTypeNameMapping `json:"status_code_type_name_mappings,omitempty"`
}
func (*DataSourceConfig) DeepCopy ¶
func (in *DataSourceConfig) DeepCopy() *DataSourceConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataSourceConfig.
func (*DataSourceConfig) DeepCopyInto ¶
func (in *DataSourceConfig) DeepCopyInto(out *DataSourceConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EndPointMeta ¶
type EndPointMeta struct {
Path string `json:"path"`
IgnoreCase bool `json:"ignore_case"`
MethodActions map[string]EndpointMethodMeta `json:"method_actions"`
}
func (*EndPointMeta) DeepCopy ¶
func (in *EndPointMeta) DeepCopy() *EndPointMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndPointMeta.
func (*EndPointMeta) DeepCopyInto ¶
func (in *EndPointMeta) DeepCopyInto(out *EndPointMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EndpointMethodAction ¶
type EndpointMethodAction string
type EndpointMethodMeta ¶
type EndpointMethodMeta struct {
Action EndpointMethodAction `json:"action"`
Code int `json:"code"`
Data string `json:"data"`
Headers map[string]string `json:"headers"`
}
func (*EndpointMethodMeta) DeepCopy ¶
func (in *EndpointMethodMeta) DeepCopy() *EndpointMethodMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointMethodMeta.
func (*EndpointMethodMeta) DeepCopyInto ¶
func (in *EndpointMethodMeta) DeepCopyInto(out *EndpointMethodMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EventHandlerMetaConfig ¶
type EventHandlerMetaConfig struct {
Events map[TykEvent][]EventHandlerTriggerConfig `json:"events"`
}
func (*EventHandlerMetaConfig) DeepCopy ¶
func (in *EventHandlerMetaConfig) DeepCopy() *EventHandlerMetaConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventHandlerMetaConfig.
func (*EventHandlerMetaConfig) DeepCopyInto ¶
func (in *EventHandlerMetaConfig) DeepCopyInto(out *EventHandlerMetaConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EventHandlerTriggerConfig ¶
type EventHandlerTriggerConfig struct {
Handler TykEventHandlerName `json:"handler_name"`
}
func (*EventHandlerTriggerConfig) DeepCopy ¶
func (in *EventHandlerTriggerConfig) DeepCopy() *EventHandlerTriggerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventHandlerTriggerConfig.
func (*EventHandlerTriggerConfig) DeepCopyInto ¶
func (in *EventHandlerTriggerConfig) DeepCopyInto(out *EventHandlerTriggerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExtendedPathsSet ¶
type ExtendedPathsSet struct {
Ignored []EndPointMeta `json:"ignored,omitempty"`
WhiteList []EndPointMeta `json:"white_list,omitempty"`
BlackList []EndPointMeta `json:"black_list,omitempty"`
// List of paths which cache middleware should be enabled on
Cached []string `json:"cache,omitempty"`
Transform []TemplateMeta `json:"transform,omitempty"`
TransformResponse []TemplateMeta `json:"transform_response,omitempty"`
TransformJQ []TransformJQMeta `json:"transform_jq,omitempty"`
TransformJQResponse []TransformJQMeta `json:"transform_jq_response,omitempty"`
TransformHeader []HeaderInjectionMeta `json:"transform_headers,omitempty"`
TransformResponseHeader []HeaderInjectionMeta `json:"transform_response_headers,omitempty"`
AdvanceCacheConfig []CacheMeta `json:"advance_cache_config,omitempty"`
HardTimeouts []HardTimeoutMeta `json:"hard_timeouts,omitempty"`
CircuitBreaker []CircuitBreakerMeta `json:"circuit_breakers,omitempty"`
URLRewrite []URLRewriteMeta `json:"url_rewrites,omitempty"`
Virtual []VirtualMeta `json:"virtual,omitempty"`
SizeLimit []RequestSizeMeta `json:"size_limits,omitempty"`
MethodTransforms []MethodTransformMeta `json:"method_transforms,omitempty"`
TrackEndpoints []TrackEndpointMeta `json:"track_endpoints,omitempty"`
DoNotTrackEndpoints []TrackEndpointMeta `json:"do_not_track_endpoints,omitempty"`
//ValidateJSON []ValidatePathMeta `json:"validate_json,omitempty"` // Breaking integration test?
Internal []InternalMeta `json:"internal,omitempty"`
}
func (*ExtendedPathsSet) DeepCopy ¶
func (in *ExtendedPathsSet) DeepCopy() *ExtendedPathsSet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtendedPathsSet.
func (*ExtendedPathsSet) DeepCopyInto ¶
func (in *ExtendedPathsSet) DeepCopyInto(out *ExtendedPathsSet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Float64 ¶
type Float64 string
Float64 is a work around to allow representing floating points as strings +kubebuilder:validation:Pattern="^(?:[-+]?(?:[0-9]+))?(?:\\.[0-9]*)?(?:[eE][\\+\\-]?(?:[0-9]+))?$"
source for pattern https://github.com/asaskevich/govalidator/blob/7a23bdc65eef5f3783e782b436f3065eae3fc72d/patterns.go#L19
func (Float64) MarshalJSON ¶
MarshalJSON marshalls f as a float64 number
func (*Float64) UnmarshalJSON ¶
UnmarshalJSON supports both float64 and a json.Number of float64
type Gateway ¶
type Gateway struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec GatewaySpec `json:"spec,omitempty"`
Status GatewayStatus `json:"status,omitempty"`
}
Gateway is the Schema for the gateways API +kubebuilder:subresource:status
func (*Gateway) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Gateway.
func (*Gateway) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Gateway) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GatewayList ¶
type GatewayList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Gateway `json:"items"`
}
GatewayList contains a list of Gateway
func (*GatewayList) DeepCopy ¶
func (in *GatewayList) DeepCopy() *GatewayList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayList.
func (*GatewayList) DeepCopyInto ¶
func (in *GatewayList) DeepCopyInto(out *GatewayList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GatewayList) DeepCopyObject ¶
func (in *GatewayList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GatewaySpec ¶
type GatewaySpec struct {
// +kubebuilder:validation:Minimum=0
// Size is the size of the gateway deployment
Size int32 `json:"size"`
// +kubebuilder:validation:Enum=Deployment;DaemonSet
// Kind is the type of deployment
Kind string `json:"type"`
// Version is the version of the gateway docker image
Version string `json:"version"`
Config Config `json:"config"`
}
GatewaySpec defines the desired state of Gateway
func (*GatewaySpec) DeepCopy ¶
func (in *GatewaySpec) DeepCopy() *GatewaySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewaySpec.
func (*GatewaySpec) DeepCopyInto ¶
func (in *GatewaySpec) DeepCopyInto(out *GatewaySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GatewayStatus ¶
type GatewayStatus struct {
// The names of the Tyk Gateway pods
Nodes []string `json:"nodes"`
}
GatewayStatus defines the observed state of Gateway
func (*GatewayStatus) DeepCopy ¶
func (in *GatewayStatus) DeepCopy() *GatewayStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayStatus.
func (*GatewayStatus) DeepCopyInto ¶
func (in *GatewayStatus) DeepCopyInto(out *GatewayStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GlobalRateLimit ¶
func (*GlobalRateLimit) DeepCopy ¶
func (in *GlobalRateLimit) DeepCopy() *GlobalRateLimit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRateLimit.
func (*GlobalRateLimit) DeepCopyInto ¶
func (in *GlobalRateLimit) DeepCopyInto(out *GlobalRateLimit)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GraphQLConfig ¶
type GraphQLConfig struct {
// Enabled indicates if GraphQL proxy should be enabled.
Enabled bool `json:"enabled"`
ExecutionMode GraphQLExecutionMode `json:"execution_mode"`
// Schema is the GraphQL Schema exposed by the GraphQL API/Upstream/Engine.
Schema string `json:"schema"`
// TypeFieldConfigurations is a rule set of data source and mapping of a schema field.
TypeFieldConfigurations []TypeFieldConfiguration `json:"type_field_configurations,omitempty"`
// GraphQLPlayground is the Playground specific configuration.
GraphQLPlayground GraphQLPlayground `json:"playground,omitempty"`
}
GraphQLConfig is the root config object for a GraphQL API.
func (*GraphQLConfig) DeepCopy ¶
func (in *GraphQLConfig) DeepCopy() *GraphQLConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GraphQLConfig.
func (*GraphQLConfig) DeepCopyInto ¶
func (in *GraphQLConfig) DeepCopyInto(out *GraphQLConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GraphQLExecutionMode ¶
type GraphQLExecutionMode string
ExecutionMode is the mode to define how an api behaves. +kubebuilder:validation:Enum=proxyOnly;executionEngine
type GraphQLPlayground ¶
type GraphQLPlayground struct {
// Enabled indicates if the playground should be enabled.
Enabled bool `json:"enabled"`
// Path sets the path on which the playground will be hosted if enabled.
Path string `json:"path"`
}
GraphQLPlayground represents the configuration for the public playground which will be hosted alongside the api.
func (*GraphQLPlayground) DeepCopy ¶
func (in *GraphQLPlayground) DeepCopy() *GraphQLPlayground
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GraphQLPlayground.
func (*GraphQLPlayground) DeepCopyInto ¶
func (in *GraphQLPlayground) DeepCopyInto(out *GraphQLPlayground)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HardTimeoutMeta ¶
type HardTimeoutMeta struct {
Path string `json:"path"`
Method HttpMethod `json:"method"`
TimeOut int `json:"timeout"`
}
func (*HardTimeoutMeta) DeepCopy ¶
func (in *HardTimeoutMeta) DeepCopy() *HardTimeoutMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HardTimeoutMeta.
func (*HardTimeoutMeta) DeepCopyInto ¶
func (in *HardTimeoutMeta) DeepCopyInto(out *HardTimeoutMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HeaderInjectionMeta ¶
type HeaderInjectionMeta struct {
DeleteHeaders []string `json:"delete_headers"`
AddHeaders map[string]string `json:"add_headers"`
Path string `json:"path"`
Method HttpMethod `json:"method"`
ActOnResponse bool `json:"act_on"`
}
func (*HeaderInjectionMeta) DeepCopy ¶
func (in *HeaderInjectionMeta) DeepCopy() *HeaderInjectionMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderInjectionMeta.
func (*HeaderInjectionMeta) DeepCopyInto ¶
func (in *HeaderInjectionMeta) DeepCopyInto(out *HeaderInjectionMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostCheckObject ¶
type HostCheckObject struct {
CheckURL string `json:"url"`
Protocol string `json:"protocol"`
Timeout time.Duration `json:"timeout"`
EnableProxyProtocol bool `json:"enable_proxy_protocol"`
Commands []CheckCommand `json:"commands"`
Method HttpMethod `json:"method"`
Headers map[string]string `json:"headers"`
Body string `json:"body"`
}
func (*HostCheckObject) DeepCopy ¶
func (in *HostCheckObject) DeepCopy() *HostCheckObject
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostCheckObject.
func (*HostCheckObject) DeepCopyInto ¶
func (in *HostCheckObject) DeepCopyInto(out *HostCheckObject)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HttpMethod ¶
type HttpMethod string
Method represents HTTP request method +kubebuilder:validation:Enum=GET;POST;PUT;PATCH;DELETE;OPTIONS;HEAD;CONNECT;TRACE
type IdExtractorConfig ¶
type IdExtractorConfig struct {
HeaderName string `json:"header_name,omitempty"`
FormParamName string `json:"param_name,omitempty"`
RegexExpression string `json:"regex_expression,omitempty"`
RegexMatchIndex int `json:"regex_match_index,omitempty"`
}
func (*IdExtractorConfig) DeepCopy ¶
func (in *IdExtractorConfig) DeepCopy() *IdExtractorConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdExtractorConfig.
func (*IdExtractorConfig) DeepCopyInto ¶
func (in *IdExtractorConfig) DeepCopyInto(out *IdExtractorConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IdExtractorSource ¶
type IdExtractorSource string
type IdExtractorType ¶
type IdExtractorType string
type InternalMeta ¶
type InternalMeta struct {
Path string `json:"path"`
Method HttpMethod `json:"method"`
}
func (*InternalMeta) DeepCopy ¶
func (in *InternalMeta) DeepCopy() *InternalMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalMeta.
func (*InternalMeta) DeepCopyInto ¶
func (in *InternalMeta) DeepCopyInto(out *InternalMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MappingConfiguration ¶
func (*MappingConfiguration) DeepCopy ¶
func (in *MappingConfiguration) DeepCopy() *MappingConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MappingConfiguration.
func (*MappingConfiguration) DeepCopyInto ¶
func (in *MappingConfiguration) DeepCopyInto(out *MappingConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MethodTransformMeta ¶
type MethodTransformMeta struct {
Path string `json:"path"`
Method HttpMethod `json:"method"`
ToMethod HttpMethod `json:"to_method"`
}
func (*MethodTransformMeta) DeepCopy ¶
func (in *MethodTransformMeta) DeepCopy() *MethodTransformMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MethodTransformMeta.
func (*MethodTransformMeta) DeepCopyInto ¶
func (in *MethodTransformMeta) DeepCopyInto(out *MethodTransformMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MiddlewareDefinition ¶
type MiddlewareDefinition struct {
Name string `json:"name"`
Path string `json:"path"`
RequireSession bool `json:"require_session,omitempty"`
RawBodyOnly bool `json:"raw_body_only,omitempty"`
}
func (*MiddlewareDefinition) DeepCopy ¶
func (in *MiddlewareDefinition) DeepCopy() *MiddlewareDefinition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MiddlewareDefinition.
func (*MiddlewareDefinition) DeepCopyInto ¶
func (in *MiddlewareDefinition) DeepCopyInto(out *MiddlewareDefinition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MiddlewareDriver ¶
type MiddlewareDriver string
type MiddlewareIdExtractor ¶
type MiddlewareIdExtractor struct {
ExtractFrom IdExtractorSource `json:"extract_from"`
ExtractWith IdExtractorType `json:"extract_with"`
ExtractorConfig IdExtractorConfig `json:"extractor_config"`
}
func (*MiddlewareIdExtractor) DeepCopy ¶
func (in *MiddlewareIdExtractor) DeepCopy() *MiddlewareIdExtractor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MiddlewareIdExtractor.
func (*MiddlewareIdExtractor) DeepCopyInto ¶
func (in *MiddlewareIdExtractor) DeepCopyInto(out *MiddlewareIdExtractor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MiddlewareSection ¶
type MiddlewareSection struct {
Pre []MiddlewareDefinition `json:"pre,omitempty"`
Post []MiddlewareDefinition `json:"post,omitempty"`
PostKeyAuth []MiddlewareDefinition `json:"post_key_auth,omitempty"`
AuthCheck MiddlewareDefinition `json:"auth_check,omitempty"`
Response []MiddlewareDefinition `json:"response,omitempty"`
Driver MiddlewareDriver `json:"driver"`
IdExtractor MiddlewareIdExtractor `json:"id_extractor,omitempty"`
}
func (*MiddlewareSection) DeepCopy ¶
func (in *MiddlewareSection) DeepCopy() *MiddlewareSection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MiddlewareSection.
func (*MiddlewareSection) DeepCopyInto ¶
func (in *MiddlewareSection) DeepCopyInto(out *MiddlewareSection)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NotificationsManager ¶
type NotificationsManager struct {
OAuthKeyChangeURL string `json:"oauth_on_keychange_url"`
}
func (*NotificationsManager) DeepCopy ¶
func (in *NotificationsManager) DeepCopy() *NotificationsManager
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationsManager.
func (*NotificationsManager) DeepCopyInto ¶
func (in *NotificationsManager) DeepCopyInto(out *NotificationsManager)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OAuth2Meta ¶
type OAuth2Meta struct {
// AllowedAccessTypes are an array of allowable access types.
AllowedAccessTypes []AccessTypeEnum `json:"allowed_access_types"` // osin.AccessRequestType
// AllowedAuthorizeTypes is an array of allowable `response_type` parameters `token` or authorization code `code`.
// Choose token for client_credentials or implicit grant types.
AllowedAuthorizeTypes []AuthorizeTypeEnum `json:"allowed_authorize_types"` // osin.AuthorizeRequestType
// Login form to handle user login.
AuthLoginRedirect string `json:"auth_login_redirect,omitempty"`
}
+
func (*OAuth2Meta) DeepCopy ¶
func (in *OAuth2Meta) DeepCopy() *OAuth2Meta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuth2Meta.
func (*OAuth2Meta) DeepCopyInto ¶
func (in *OAuth2Meta) DeepCopyInto(out *OAuth2Meta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OIDProviderConfig ¶
type OIDProviderConfig struct {
Issuer string `json:"issuer"`
ClientIDs map[string]string `json:"client_ids"`
}
func (*OIDProviderConfig) DeepCopy ¶
func (in *OIDProviderConfig) DeepCopy() *OIDProviderConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OIDProviderConfig.
func (*OIDProviderConfig) DeepCopyInto ¶
func (in *OIDProviderConfig) DeepCopyInto(out *OIDProviderConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpenIDOptions ¶
type OpenIDOptions struct {
Providers []OIDProviderConfig `json:"providers"`
SegregateByClient bool `json:"segregate_by_client"`
}
func (*OpenIDOptions) DeepCopy ¶
func (in *OpenIDOptions) DeepCopy() *OpenIDOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIDOptions.
func (*OpenIDOptions) DeepCopyInto ¶
func (in *OpenIDOptions) DeepCopyInto(out *OpenIDOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Organization ¶
type Organization struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec OrganizationSpec `json:"spec,omitempty"`
Status OrganizationStatus `json:"status,omitempty"`
}
+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=tykorgs Organization is the Schema for the organizations API
func (*Organization) DeepCopy ¶
func (in *Organization) DeepCopy() *Organization
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Organization.
func (*Organization) DeepCopyInto ¶
func (in *Organization) DeepCopyInto(out *Organization)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Organization) DeepCopyObject ¶
func (in *Organization) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type OrganizationList ¶
type OrganizationList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Organization `json:"items"`
}
OrganizationList contains a list of Organization
func (*OrganizationList) DeepCopy ¶
func (in *OrganizationList) DeepCopy() *OrganizationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationList.
func (*OrganizationList) DeepCopyInto ¶
func (in *OrganizationList) DeepCopyInto(out *OrganizationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OrganizationList) DeepCopyObject ¶
func (in *OrganizationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type OrganizationSpec ¶
type OrganizationSpec struct {
ID string `json:"id,omitempty"`
OwnerName string `json:"owner_name"`
OwnerSlug string `json:"owner_slug,omitempty"`
CNAMEEnabled bool `json:"cname_enabled"`
CNAME string `json:"cname"`
}
OrganizationSpec defines the desired state of Organization
func (*OrganizationSpec) DeepCopy ¶
func (in *OrganizationSpec) DeepCopy() *OrganizationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationSpec.
func (*OrganizationSpec) DeepCopyInto ¶
func (in *OrganizationSpec) DeepCopyInto(out *OrganizationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OrganizationStatus ¶
type OrganizationStatus struct {
}
OrganizationStatus defines the observed state of Organization
func (*OrganizationStatus) DeepCopy ¶
func (in *OrganizationStatus) DeepCopy() *OrganizationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationStatus.
func (*OrganizationStatus) DeepCopyInto ¶
func (in *OrganizationStatus) DeepCopyInto(out *OrganizationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Percent ¶
type Percent string
Percent describes a percentage value expressed as a float. This is a positive decimal value that is less than 1 +kubebuilder:validation:Pattern="^0\\.\\d+|1\\.0$"
func (Percent) MarshalJSON ¶
MarshalJSON returns a json string for p. This is a string for normal operations and a float64 when marshalling for dashboard or gateway
func (*Percent) UnmarshalJSON ¶
type PolicyPartitions ¶
type PolicyPartitions struct {
Quota bool `json:"quota"`
RateLimit bool `json:"rate_limit"`
Complexity bool `json:"complexity"`
Acl bool `json:"acl"`
PerAPI bool `json:"per_api"`
}
func (*PolicyPartitions) DeepCopy ¶
func (in *PolicyPartitions) DeepCopy() *PolicyPartitions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyPartitions.
func (*PolicyPartitions) DeepCopyInto ¶
func (in *PolicyPartitions) DeepCopyInto(out *PolicyPartitions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Proxy ¶
type Proxy struct {
// If PreserveHostHeader is set to true then the host header in the outbound request is retained to be the
// inbound hostname of the proxy.
PreserveHostHeader bool `json:"preserve_host_header,omitempty"`
// ListenPath represents the path to listen on. e.g. `/api` or `/` or `/httpbin`.
// Any requests coming into the host, on the port that Tyk is configured to run on, that match this path will
// have the rules defined in the API Definition applied. Versioning assumes that different versions of an API
// will live on the same URL structure. If you are using URL-based versioning (e.g. /v1/function, /v2/function)
// then it is recommended to set up a separate non-versioned definition for each version as they are essentially
// separate APIs.
ListenPath string `json:"listen_path,omitempty"`
// TargetURL defines the target URL that the request should be proxied to.
TargetURL string `json:"target_url,omitempty"`
TargeInternal *TargetInternal `json:"target_internal,omitempty"`
// DisableStripSlash disables the stripping of the slash suffix from a URL.
// when `true` a request to http://foo.bar/baz/ will be retained.
// when `false` a request to http://foo.bar/baz/ will be matched to http://foo.bar/baz
DisableStripSlash bool `json:"disable_strip_slash,omitempty"`
// StripListenPath removes the inbound listen path in the outgoing request.
// e.g. http://acme.com/httpbin/get where `httpbin` is the listen path. The `httpbin` listen path which is used
// to identify the API loaded in Tyk is removed, and the outbound request would be http://httpbin.org/get
StripListenPath bool `json:"strip_listen_path,omitempty"`
// EnableLoadBalancing enables Tyk's round-robin loadbalancer. Tyk will ignore the TargetURL field, and rely on
// the hosts in the Targets list
EnableLoadBalancing bool `json:"enable_load_balancing,omitempty"`
// Targets defines a list of upstream host targets. Tyk will then round-robin load balance between these targets.
// EnableLoadBalancing must be set to true in order to take advantage of this feature.
Targets []string `json:"target_list,omitempty"`
// CheckHostAgainstUptimeTests will check the hostname of the outbound request against the downtime list generated
// by the uptime test host checker. If the host is found, then it is skipped or removed from the load balancer.
// This is only valid if uptime tests for the api are enabled.
CheckHostAgainstUptimeTests bool `json:"check_host_against_uptime_tests,omitempty"`
// Transport section exposes advanced transport level configurations such as minimum TLS version.
Transport ProxyTransport `json:"transport,omitempty"`
// TODO: Untested. Is there a use-case for SD inside a K8s environment?
ServiceDiscovery ServiceDiscoveryConfiguration `json:"service_discovery,omitempty"`
}
Proxy outlines the API proxying functionality.
func (*Proxy) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Proxy.
func (*Proxy) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxyTransport ¶
type ProxyTransport struct {
// SSLInsecureSkipVerify controls whether it is possible to use self-signed certificates when connecting to the
// upstream. This is applied to `TykMakeHttpRequest` & `TykMakeBatchRequest` in virtual endpoint middleware.
SSLInsecureSkipVerify bool `json:"ssl_insecure_skip_verify,omitempty"`
// SSLCipherSuites is an array of acceptable cipher suites. A list of allowed cipher suites can be found in the
// Go Crypto TLS package constants documentation https://golang.org/pkg/crypto/tls/#pkg-constants
SSLCipherSuites []string `json:"ssl_ciphers,omitempty"`
// SSLMinVersion defines the minimum TLS version the gateway will use to establish a connection to the upstream.
// 1.0: 769; 1.1: 770; 1.2: 771; 1.3: 772.
// +kubebuilder:validation:Enum=769;770;771;772
SSLMinVersion uint16 `json:"ssl_min_version,omitempty"`
// SSLForceCommonNameCheck forces hostname validation against the certificate Common Name
SSLForceCommonNameCheck bool `json:"ssl_force_common_name_check,omitempty"`
// ProxyURL specifies custom forward proxy & port. e.g. `http(s)://proxy.url:1234`
ProxyURL string `json:"proxy_url,omitempty"`
}
func (*ProxyTransport) DeepCopy ¶
func (in *ProxyTransport) DeepCopy() *ProxyTransport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyTransport.
func (*ProxyTransport) DeepCopyInto ¶
func (in *ProxyTransport) DeepCopyInto(out *ProxyTransport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RequestInputType ¶
type RequestInputType string
type RequestSigningMeta ¶
type RequestSigningMeta struct {
IsEnabled bool `json:"is_enabled"`
Secret string `json:"secret"`
KeyId string `json:"key_id"`
Algorithm string `json:"algorithm"`
HeaderList []string `json:"header_list"`
CertificateId string `json:"certificate_id"`
SignatureHeader string `json:"signature_header"`
}
func (*RequestSigningMeta) DeepCopy ¶
func (in *RequestSigningMeta) DeepCopy() *RequestSigningMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestSigningMeta.
func (*RequestSigningMeta) DeepCopyInto ¶
func (in *RequestSigningMeta) DeepCopyInto(out *RequestSigningMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RequestSizeMeta ¶
type RequestSizeMeta struct {
Path string `json:"path"`
Method HttpMethod `json:"method"`
SizeLimit int64 `json:"size_limit"`
}
func (*RequestSizeMeta) DeepCopy ¶
func (in *RequestSizeMeta) DeepCopy() *RequestSizeMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestSizeMeta.
func (*RequestSizeMeta) DeepCopyInto ¶
func (in *RequestSizeMeta) DeepCopyInto(out *RequestSizeMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResponseProcessor ¶
type ResponseProcessor struct {
Name string `json:"name"`
}
func (*ResponseProcessor) DeepCopy ¶
func (in *ResponseProcessor) DeepCopy() *ResponseProcessor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResponseProcessor.
func (*ResponseProcessor) DeepCopyInto ¶
func (in *ResponseProcessor) DeepCopyInto(out *ResponseProcessor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RewriteToInternal ¶ added in v0.6.0
type RewriteToInternal struct {
// API a namespaced/name to the api definition resource that you are
// targetting
Target Target `json:"target,omitempty"`
// Path path on target , this does not include query parameters.
// example /myendpoint
Path string `json:"path,omitempty"`
// Query url query string to add to target
// example check_limits=true
Query string `json:"query,omitempty"`
}
RewriteToInternal defines options that constructs a url that refers to an api that is loaded into the gateway.
func (*RewriteToInternal) DeepCopy ¶ added in v0.6.0
func (in *RewriteToInternal) DeepCopy() *RewriteToInternal
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RewriteToInternal.
func (*RewriteToInternal) DeepCopyInto ¶ added in v0.6.0
func (in *RewriteToInternal) DeepCopyInto(out *RewriteToInternal)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (RewriteToInternal) String ¶ added in v0.6.0
func (i RewriteToInternal) String() string
type RoutingTrigger ¶
type RoutingTrigger struct {
On RoutingTriggerOnType `json:"on"`
Options RoutingTriggerOptions `json:"options"`
RewriteTo string `json:"rewrite_to,omitempty"`
RewriteToInternal *RewriteToInternal `json:"rewrite_to_internal,omitempty"`
}
func (*RoutingTrigger) DeepCopy ¶
func (in *RoutingTrigger) DeepCopy() *RoutingTrigger
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutingTrigger.
func (*RoutingTrigger) DeepCopyInto ¶
func (in *RoutingTrigger) DeepCopyInto(out *RoutingTrigger)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RoutingTriggerOnType ¶
type RoutingTriggerOnType string
type RoutingTriggerOptions ¶
type RoutingTriggerOptions struct {
HeaderMatches map[string]StringRegexMap `json:"header_matches,omitempty"`
QueryValMatches map[string]StringRegexMap `json:"query_val_matches,omitempty"`
PathPartMatches map[string]StringRegexMap `json:"path_part_matches,omitempty"`
SessionMetaMatches map[string]StringRegexMap `json:"session_meta_matches,omitempty"`
RequestContextMatches map[string]StringRegexMap `json:"request_context_matches,omitempty"`
PayloadMatches *StringRegexMap `json:"payload_matches,omitempty"`
}
func (*RoutingTriggerOptions) DeepCopy ¶
func (in *RoutingTriggerOptions) DeepCopy() *RoutingTriggerOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutingTriggerOptions.
func (*RoutingTriggerOptions) DeepCopyInto ¶
func (in *RoutingTriggerOptions) DeepCopyInto(out *RoutingTriggerOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecurityPolicy ¶
type SecurityPolicy struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec SecurityPolicySpec `json:"spec,omitempty"`
Status SecurityPolicyStatus `json:"status,omitempty"`
}
+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=tykpolicies SecurityPolicy is the Schema for the securitypolicies API
func (*SecurityPolicy) DeepCopy ¶
func (in *SecurityPolicy) DeepCopy() *SecurityPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityPolicy.
func (*SecurityPolicy) DeepCopyInto ¶
func (in *SecurityPolicy) DeepCopyInto(out *SecurityPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SecurityPolicy) DeepCopyObject ¶
func (in *SecurityPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*SecurityPolicy) Default ¶
func (r *SecurityPolicy) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*SecurityPolicy) SetupWebhookWithManager ¶
func (r *SecurityPolicy) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*SecurityPolicy) ValidateCreate ¶
func (r *SecurityPolicy) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*SecurityPolicy) ValidateDelete ¶
func (r *SecurityPolicy) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*SecurityPolicy) ValidateUpdate ¶
func (r *SecurityPolicy) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type SecurityPolicyList ¶
type SecurityPolicyList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []SecurityPolicy `json:"items"`
}
SecurityPolicyList contains a list of SecurityPolicy +kubebuilder:object:root=true
func (*SecurityPolicyList) DeepCopy ¶
func (in *SecurityPolicyList) DeepCopy() *SecurityPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityPolicyList.
func (*SecurityPolicyList) DeepCopyInto ¶
func (in *SecurityPolicyList) DeepCopyInto(out *SecurityPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SecurityPolicyList) DeepCopyObject ¶
func (in *SecurityPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SecurityPolicySpec ¶
type SecurityPolicySpec struct {
// MID ("_id") is generated by Tyk once the resource is created.
// Do NOT fill this in.
MID string `json:"_id,omitempty"`
// If you are linking an existing Policy ID to a new YAML CRD, then
// fill in this ID field with the "_id" field.
// See policies.md readme for more info
ID string `json:"id,omitempty"`
// Name represents the name of the security policy as displayed in the Dashboard
Name string `json:"name"`
// OrgID is overwritten - no point setting this
OrgID string `json:"org_id,omitempty"`
// +kubebuilder:validation:Enum=active;draft;deny
// State can be active, draft or deny
// active: All keys are active and new keys can be created.
// draft: All keys are active but no new keys can be created.
// deny: All keys are deactivated and no keys can be created.
State string `json:"state"`
// Active must be set to `true` for Tyk to load the security policy into memory.
Active bool `json:"active"`
// IsInactive applies to the key itself. Allows enabling or disabling the policy without deleting it.
IsInactive bool `json:"is_inactive,omitempty"`
AccessRightsArray []AccessDefinition `json:"access_rights_array"`
AccessRights map[string]AccessDefinition `json:"access_rights,omitempty"`
// Rate limit per X seconds (x="Per"), omit or "-1" for unlimited
Rate int64 `json:"rate,omitempty"`
// To be used in conjunction with "Rate". Per seconds. 1 minute=60. 1 hour=3600
// omit or "-1" for unlimited
Per int64 `json:"per,omitempty"`
// Value of Quota allowed, omit or "-1" for unlimited
QuotaMax int64 `json:"quota_max,omitempty"`
// Value reset length, in seconds, omit or "-1" for unlimited
QuotaRenewalRate int64 `json:"quota_renewal_rate,omitempty"`
// If rate limited, how many seconds to retry a request for. omit or "-1" for unlimited
ThrottleInterval int64 `json:"throttle_interval,omitempty"`
// Number of retries before returning error. omit or "-1" for unlimited
ThrottleRetryLimit int `json:"throttle_retry_limit,omitempty"`
// Max depth of a GraphQL query
MaxQueryDepth int `json:"max_query_depth,omitempty"`
HMACEnabled bool `json:"hmac_enabled,omitempty"`
EnableHTTPSignatureValidation bool `json:"enable_http_signature_validation,omitempty"`
// Custom tags to apply to the key, get transfered to the analytics
Tags []string `json:"tags,omitempty"`
// KeyExpiresIn is the number of seconds till key expiry. For 1 hour is 3600. Default never expire or 0
KeyExpiresIn int64 `json:"key_expires_in,omitempty"`
Partitions PolicyPartitions `json:"partitions,omitempty"`
//LastUpdated string `json:"last_updated"`
MetaData map[string]string `json:"meta_data,omitempty"`
}
SecurityPolicySpec defines the desired state of SecurityPolicy
func (*SecurityPolicySpec) DeepCopy ¶
func (in *SecurityPolicySpec) DeepCopy() *SecurityPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityPolicySpec.
func (*SecurityPolicySpec) DeepCopyInto ¶
func (in *SecurityPolicySpec) DeepCopyInto(out *SecurityPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecurityPolicyStatus ¶
type SecurityPolicyStatus struct {
PolID string `json:"pol_id"`
}
SecurityPolicyStatus defines the observed state of SecurityPolicy
func (*SecurityPolicyStatus) DeepCopy ¶
func (in *SecurityPolicyStatus) DeepCopy() *SecurityPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityPolicyStatus.
func (*SecurityPolicyStatus) DeepCopyInto ¶
func (in *SecurityPolicyStatus) DeepCopyInto(out *SecurityPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceDiscoveryConfiguration ¶
type ServiceDiscoveryConfiguration struct {
UseDiscoveryService bool `json:"use_discovery_service"`
QueryEndpoint string `json:"query_endpoint"`
UseNestedQuery bool `json:"use_nested_query"`
ParentDataPath string `json:"parent_data_path"`
DataPath string `json:"data_path"`
PortDataPath string `json:"port_data_path"`
TargetPath string `json:"target_path"`
UseTargetList bool `json:"use_target_list"`
CacheTimeout int64 `json:"cache_timeout"`
EndpointReturnsList bool `json:"endpoint_returns_list"`
}
func (*ServiceDiscoveryConfiguration) DeepCopy ¶
func (in *ServiceDiscoveryConfiguration) DeepCopy() *ServiceDiscoveryConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceDiscoveryConfiguration.
func (*ServiceDiscoveryConfiguration) DeepCopyInto ¶
func (in *ServiceDiscoveryConfiguration) DeepCopyInto(out *ServiceDiscoveryConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SessionProviderCode ¶
type SessionProviderCode string
type SessionProviderMeta ¶
type SessionProviderMeta struct {
Name SessionProviderCode `json:"name"`
StorageEngine StorageEngineCode `json:"storage_engine"`
}
func (*SessionProviderMeta) DeepCopy ¶
func (in *SessionProviderMeta) DeepCopy() *SessionProviderMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SessionProviderMeta.
func (*SessionProviderMeta) DeepCopyInto ¶
func (in *SessionProviderMeta) DeepCopyInto(out *SessionProviderMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SignatureConfig ¶
type SignatureConfig struct {
Algorithm string `json:"algorithm"`
Header string `json:"header"`
Secret string `json:"secret"`
AllowedClockSkew int64 `json:"allowed_clock_skew"`
ErrorCode int `json:"error_code"`
ErrorMessage string `json:"error_message"`
}
func (*SignatureConfig) DeepCopy ¶
func (in *SignatureConfig) DeepCopy() *SignatureConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SignatureConfig.
func (*SignatureConfig) DeepCopyInto ¶
func (in *SignatureConfig) DeepCopyInto(out *SignatureConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SourceConfig ¶
type SourceConfig struct {
// Kind defines the unique identifier of the DataSource
// Kind needs to match to the Planner "DataSourceName" name
// +kubebuilder:validation:Enum=GraphQLDataSource;HTTPJSONDataSource
Kind string `json:"kind"`
// Config is the DataSource specific configuration object
// Each Planner needs to make sure to parse their Config Object correctly
Config DataSourceConfig `json:"data_source_config,omitempty"`
}
func (*SourceConfig) DeepCopy ¶
func (in *SourceConfig) DeepCopy() *SourceConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceConfig.
func (*SourceConfig) DeepCopyInto ¶
func (in *SourceConfig) DeepCopyInto(out *SourceConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StatusCodeTypeNameMapping ¶
type StatusCodeTypeNameMapping struct {
StatusCode int `json:"status_code"`
TypeName string `json:"type_name,omitempty"`
}
func (*StatusCodeTypeNameMapping) DeepCopy ¶
func (in *StatusCodeTypeNameMapping) DeepCopy() *StatusCodeTypeNameMapping
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusCodeTypeNameMapping.
func (*StatusCodeTypeNameMapping) DeepCopyInto ¶
func (in *StatusCodeTypeNameMapping) DeepCopyInto(out *StatusCodeTypeNameMapping)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageEngineCode ¶
type StorageEngineCode string
type StorageOptionsConf ¶
type StorageOptionsConf struct {
//Type string `json:"type"`
Addrs []string `json:"addrs"`
}
func (*StorageOptionsConf) DeepCopy ¶
func (in *StorageOptionsConf) DeepCopy() *StorageOptionsConf
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageOptionsConf.
func (*StorageOptionsConf) DeepCopyInto ¶
func (in *StorageOptionsConf) DeepCopyInto(out *StorageOptionsConf)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StringRegexMap ¶
type StringRegexMap struct {
MatchPattern string `json:"match_rx"`
Reverse bool `json:"reverse,omitempty"`
}
func (*StringRegexMap) DeepCopy ¶
func (in *StringRegexMap) DeepCopy() *StringRegexMap
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StringRegexMap.
func (*StringRegexMap) DeepCopyInto ¶
func (in *StringRegexMap) DeepCopyInto(out *StringRegexMap)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Target ¶ added in v0.6.0
func (*Target) DeepCopy ¶ added in v0.6.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Target.
func (*Target) DeepCopyInto ¶ added in v0.6.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Target) NS ¶ added in v0.6.0
func (t Target) NS() types.NamespacedName
type TargetInternal ¶ added in v0.6.0
type TargetInternal struct {
// API a namespaced/name to the api definition resource that you are
// targetting
Target Target `json:"target,omitempty"`
// Path path on target , this does not include query parameters.
// example /myendpoint
Path string `json:"path,omitempty"`
// Query url query string to add to target
// example check_limits=true
Query string `json:"query,omitempty"`
}
TargetInternal defines options that constructs a url that refers to an api that is loaded into the gateway.
func (*TargetInternal) DeepCopy ¶ added in v0.6.0
func (in *TargetInternal) DeepCopy() *TargetInternal
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetInternal.
func (*TargetInternal) DeepCopyInto ¶ added in v0.6.0
func (in *TargetInternal) DeepCopyInto(out *TargetInternal)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (TargetInternal) String ¶ added in v0.6.0
func (i TargetInternal) String() string
type TemplateData ¶
type TemplateData struct {
Input RequestInputType `json:"input_type"`
Mode TemplateMode `json:"template_mode"`
EnableSession bool `json:"enable_session"`
TemplateSource string `json:"template_source"`
}
func (*TemplateData) DeepCopy ¶
func (in *TemplateData) DeepCopy() *TemplateData
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateData.
func (*TemplateData) DeepCopyInto ¶
func (in *TemplateData) DeepCopyInto(out *TemplateData)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TemplateMeta ¶
type TemplateMeta struct {
TemplateData TemplateData `json:"template_data"`
Path string `json:"path"`
Method HttpMethod `json:"method"`
}
func (*TemplateMeta) DeepCopy ¶
func (in *TemplateMeta) DeepCopy() *TemplateMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateMeta.
func (*TemplateMeta) DeepCopyInto ¶
func (in *TemplateMeta) DeepCopyInto(out *TemplateMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TemplateMode ¶
type TemplateMode string
type TrackEndpointMeta ¶
type TrackEndpointMeta struct {
Path string `json:"path"`
Method HttpMethod `json:"method"`
}
func (*TrackEndpointMeta) DeepCopy ¶
func (in *TrackEndpointMeta) DeepCopy() *TrackEndpointMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrackEndpointMeta.
func (*TrackEndpointMeta) DeepCopyInto ¶
func (in *TrackEndpointMeta) DeepCopyInto(out *TrackEndpointMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TransformJQMeta ¶
type TransformJQMeta struct {
Filter string `json:"filter"`
Path string `json:"path"`
Method HttpMethod `json:"method"`
}
func (*TransformJQMeta) DeepCopy ¶
func (in *TransformJQMeta) DeepCopy() *TransformJQMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransformJQMeta.
func (*TransformJQMeta) DeepCopyInto ¶
func (in *TransformJQMeta) DeepCopyInto(out *TransformJQMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TykEventHandlerName ¶
type TykEventHandlerName string
type TypeFieldConfiguration ¶
type TypeFieldConfiguration struct {
TypeName string `json:"type_name"`
FieldName string `json:"field_name"`
Mapping *MappingConfiguration `json:"mapping"`
DataSource SourceConfig `json:"data_source"`
}
func (*TypeFieldConfiguration) DeepCopy ¶
func (in *TypeFieldConfiguration) DeepCopy() *TypeFieldConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TypeFieldConfiguration.
func (*TypeFieldConfiguration) DeepCopyInto ¶
func (in *TypeFieldConfiguration) DeepCopyInto(out *TypeFieldConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type URLRewriteMeta ¶
type URLRewriteMeta struct {
// Path represents the endpoint listen path
Path string `json:"path"`
Method HttpMethod `json:"method"`
// MatchPattern is a regular expression pattern to match the path
MatchPattern string `json:"match_pattern"`
// RewriteTo is the target path on the upstream, or target URL we wish to rewrite to
RewriteTo string `json:"rewrite_to,omitempty"`
// RewriteToInternal serves as rewrite_to but used when rewriting to target
// internal api's
// When rewrite_to and rewrite_to_internal are both provided then
// rewrite_to will take rewrite_to_internal
RewriteToInternal *RewriteToInternal `json:"rewrite_to_internal,omitempty"`
Triggers []RoutingTrigger `json:"triggers,omitempty"`
}
func (*URLRewriteMeta) DeepCopy ¶
func (in *URLRewriteMeta) DeepCopy() *URLRewriteMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLRewriteMeta.
func (*URLRewriteMeta) DeepCopyInto ¶
func (in *URLRewriteMeta) DeepCopyInto(out *URLRewriteMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UptimeTestConfig ¶
type UptimeTestConfig struct {
ExpireUptimeAnalyticsAfter int64 `json:"expire_utime_after"` // must have an expireAt TTL index set (http://docs.mongodb.org/manual/tutorial/expire-data/)
ServiceDiscovery ServiceDiscoveryConfiguration `json:"service_discovery"`
RecheckWait int `json:"recheck_wait"`
}
func (*UptimeTestConfig) DeepCopy ¶
func (in *UptimeTestConfig) DeepCopy() *UptimeTestConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UptimeTestConfig.
func (*UptimeTestConfig) DeepCopyInto ¶
func (in *UptimeTestConfig) DeepCopyInto(out *UptimeTestConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UptimeTests ¶
type UptimeTests struct {
CheckList []HostCheckObject `json:"check_list"`
Config UptimeTestConfig `json:"config"`
}
func (*UptimeTests) DeepCopy ¶
func (in *UptimeTests) DeepCopy() *UptimeTests
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UptimeTests.
func (*UptimeTests) DeepCopyInto ¶
func (in *UptimeTests) DeepCopyInto(out *UptimeTests)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ValidatePathMeta ¶
type ValidatePathMeta struct {
// Allows override of default 422 Unprocessible Entity response code for validation errors.
ErrorResponseCode int `json:"error_response_code"`
Path string `json:"path"`
Method HttpMethod `json:"method"`
SchemaB64 string `json:"schema_b64,omitempty"`
}
func (*ValidatePathMeta) DeepCopy ¶
func (in *ValidatePathMeta) DeepCopy() *ValidatePathMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValidatePathMeta.
func (*ValidatePathMeta) DeepCopyInto ¶
func (in *ValidatePathMeta) DeepCopyInto(out *ValidatePathMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VersionData ¶
type VersionData struct {
NotVersioned bool `json:"not_versioned"`
DefaultVersion string `json:"default_version"`
Versions map[string]VersionInfo `json:"versions,omitempty"`
}
func (*VersionData) DeepCopy ¶
func (in *VersionData) DeepCopy() *VersionData
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionData.
func (*VersionData) DeepCopyInto ¶
func (in *VersionData) DeepCopyInto(out *VersionData)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VersionDefinition ¶
type VersionDefinition struct {
Location string `json:"location"`
Key string `json:"key"`
StripPath bool `json:"strip_path"`
}
func (*VersionDefinition) DeepCopy ¶
func (in *VersionDefinition) DeepCopy() *VersionDefinition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionDefinition.
func (*VersionDefinition) DeepCopyInto ¶
func (in *VersionDefinition) DeepCopyInto(out *VersionDefinition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VersionInfo ¶
type VersionInfo struct {
Name string `json:"name"`
Expires string `json:"expires,omitempty"`
Paths *VersionInfoPaths `json:"paths,omitempty"`
UseExtendedPaths bool `json:"use_extended_paths,omitempty"`
ExtendedPaths *ExtendedPathsSet `json:"extended_paths,omitempty"`
GlobalHeaders map[string]string `json:"global_headers,omitempty"`
GlobalHeadersRemove []string `json:"global_headers_remove,omitempty"`
GlobalResponseHeaders map[string]string `json:"global_response_headers,omitempty"`
GlobalResponseHeadersRemove []string `json:"global_response_headers_remove,omitempty"`
IgnoreEndpointCase bool `json:"ignore_endpoint_case,omitempty"`
GlobalSizeLimit int64 `json:"global_size_limit,omitempty"`
OverrideTarget string `json:"override_target,omitempty"`
}
func (*VersionInfo) DeepCopy ¶
func (in *VersionInfo) DeepCopy() *VersionInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionInfo.
func (*VersionInfo) DeepCopyInto ¶
func (in *VersionInfo) DeepCopyInto(out *VersionInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VersionInfoPaths ¶
type VersionInfoPaths struct {
Ignored []string `json:"ignored,omitempty"`
WhiteList []string `json:"white_list,omitempty"`
BlackList []string `json:"black_list,omitempty"`
}
func (*VersionInfoPaths) DeepCopy ¶
func (in *VersionInfoPaths) DeepCopy() *VersionInfoPaths
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionInfoPaths.
func (*VersionInfoPaths) DeepCopyInto ¶
func (in *VersionInfoPaths) DeepCopyInto(out *VersionInfoPaths)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMeta ¶
type VirtualMeta struct {
ResponseFunctionName string `json:"response_function_name"`
FunctionSourceType string `json:"function_source_type"`
FunctionSourceURI string `json:"function_source_uri"`
Path string `json:"path"`
Method HttpMethod `json:"method"`
UseSession bool `json:"use_session"`
ProxyOnError bool `json:"proxy_on_error"`
}
func (*VirtualMeta) DeepCopy ¶
func (in *VirtualMeta) DeepCopy() *VirtualMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMeta.
func (*VirtualMeta) DeepCopyInto ¶
func (in *VirtualMeta) DeepCopyInto(out *VirtualMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Webhook ¶
type Webhook struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec WebhookSpec `json:"spec,omitempty"`
Status WebhookStatus `json:"status,omitempty"`
}
+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=tykhooks Webhook is the Schema for the webhooks API
func (*Webhook) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Webhook.
func (*Webhook) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Webhook) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WebhookList ¶
type WebhookList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Webhook `json:"items"`
}
WebhookList contains a list of Webhook
func (*WebhookList) DeepCopy ¶
func (in *WebhookList) DeepCopy() *WebhookList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookList.
func (*WebhookList) DeepCopyInto ¶
func (in *WebhookList) DeepCopyInto(out *WebhookList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WebhookList) DeepCopyObject ¶
func (in *WebhookList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WebhookMethod ¶
type WebhookMethod string
WebhookMethod supported webhook methods used in webhook +kubebuilder:validation:Enum=GET;POST;PUT;PATCH;DELETE
type WebhookSpec ¶
type WebhookSpec struct {
//ApiModel `bson:"api_model,omitempty" json:"api_model,omitempty"`
// System generated resource. represents the ID to use in API calls
ID string `json:"id,omitempty"`
// The org ID to which this webhook belongs to
OrgID string `bson:"org_id" json:"org_id,omitempty"`
// System generated resource, will be set to the {namespace/name} of the CRD
Name string `bson:"name" json:"name,omitempty"`
Method WebhookMethod `bson:"method" json:"method"`
TargetPath string `bson:"target_path" json:"target_path"`
TemplatePath string `bson:"template_path" json:"template_path,omitempty"`
HeaderList map[string]string `bson:"header_map" json:"header_map,omitempty"`
EventTimeout int64 `bson:"event_timeout" json:"event_timeout,omitempty"`
}
WebhookSpec defines the desired state of Webhook
func (*WebhookSpec) DeepCopy ¶
func (in *WebhookSpec) DeepCopy() *WebhookSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookSpec.
func (*WebhookSpec) DeepCopyInto ¶
func (in *WebhookSpec) DeepCopyInto(out *WebhookSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WebhookStatus ¶
type WebhookStatus struct {
WebhookID string `json:"webhook_id"`
}
WebhookStatus defines the observed state of Webhook
func (*WebhookStatus) DeepCopy ¶
func (in *WebhookStatus) DeepCopy() *WebhookStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookStatus.
func (*WebhookStatus) DeepCopyInto ¶
func (in *WebhookStatus) DeepCopyInto(out *WebhookStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.