v2

package
v2.0.2-ea Latest Latest
Warning

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

Go to latest
Published: Aug 23, 2021 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package v2 contains API Schema definitions for the getambassador.io v2 API group

Index

Constants

View Source
const (
	HostState_Initial = HostState(iota)
	HostState_Pending
	HostState_Ready
	HostState_Error
)
View Source
const (
	HostPhase_NA = HostPhase(iota)
	HostPhase_DefaultsFilled
	HostPhase_ACMEUserPrivateKeyCreated
	HostPhase_ACMEUserRegistered
	HostPhase_ACMECertificateChallenge
)
View Source
const (
	HostTLSCertificateSource_Unknown = "Unknown"
	HostTLSCertificateSource_None    = "None"
	HostTLSCertificateSource_Other   = "Other"
	HostTLSCertificateSource_ACME    = "ACME"
)
View Source
const (
	PreviewURLType_Path = "Path"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "getambassador.io", Version: "v2"}

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

type ACMEProviderSpec struct {
	// Specifies who to talk ACME with to get certs. Defaults to Let's
	// Encrypt; if "none" (case-insensitive), do not try to do ACME for
	// this Host.
	Authority string `json:"authority,omitempty"`
	Email     string `json:"email,omitempty"`

	// Specifies the Kubernetes Secret to use to store the private key of the ACME
	// account (essentially, where to store the auto-generated password for the
	// auto-created ACME account).  You should not normally need to set this--the
	// default value is based on a combination of the ACME authority being registered
	// wit and the email address associated with the account.
	//
	// Note that this is a native-Kubernetes-style core.v1.LocalObjectReference, not
	// an Ambassador-style `{name}.{namespace}` string.  Because we're opinionated, it
	// does not support referencing a Secret in another namespace (because most native
	// Kubernetes resources don't support that), but if we ever abandon that opinion
	// and decide to support non-local references it, it would be by adding a
	// `namespace:` field by changing it from a core.v1.LocalObjectReference to a
	// core.v1.SecretReference, not by adopting the `{name}.{namespace}` notation.
	PrivateKeySecret *corev1.LocalObjectReference `json:"privateKeySecret,omitempty"`

	// This is normally set automatically
	Registration string `json:"registration,omitempty"`
}

func (*ACMEProviderSpec) DeepCopy

func (in *ACMEProviderSpec) DeepCopy() *ACMEProviderSpec

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

func (*ACMEProviderSpec) DeepCopyInto

func (in *ACMEProviderSpec) DeepCopyInto(out *ACMEProviderSpec)

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

type AddedHeader

type AddedHeader struct {
	String *string      `json:"-"`
	Bool   *bool        `json:"-"`
	Object *UntypedDict `json:"-"`
}

+kubebuilder:validation:Type="d6e-union:string,boolean,object"

func (*AddedHeader) DeepCopy

func (in *AddedHeader) DeepCopy() *AddedHeader

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

func (*AddedHeader) DeepCopyInto

func (in *AddedHeader) DeepCopyInto(out *AddedHeader)

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

func (AddedHeader) MarshalJSON

func (o AddedHeader) MarshalJSON() ([]byte, error)

MarshalJSON is important both so that we generate the proper output, and to trigger controller-gen to not try to generate jsonschema for our sub-fields: https://github.com/kubernetes-sigs/controller-tools/pull/427

func (*AddedHeader) UnmarshalJSON

func (o *AddedHeader) UnmarshalJSON(data []byte) error

type AdditionalLogHeaders

type AdditionalLogHeaders struct {
	HeaderName     string `json:"header_name,omitempty"`
	DuringRequest  *bool  `json:"during_request,omitempty"`
	DuringResponse *bool  `json:"during_response,omitempty"`
	DuringTrailer  *bool  `json:"during_trailer,omitempty"`
}

func (*AdditionalLogHeaders) DeepCopy

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

func (*AdditionalLogHeaders) DeepCopyInto

func (in *AdditionalLogHeaders) DeepCopyInto(out *AdditionalLogHeaders)

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

type AmbassadorConfigSpec

type AmbassadorConfigSpec struct {
	// Common to all Ambassador objects (and optional).
	AmbassadorID AmbassadorID `json:"ambassador_id,omitempty"`

	// admin_port is the port where Ambassador's Envoy will listen for
	// low-level admin requests. You should almost never need to change
	// this.
	AdminPort int `json:"admin_port,omitempty"`

	// diag_port is the port where Ambassador will listen for requests
	// to the diagnostic service.
	DiagPort int `json:"diag_port,omitempty"`

	// By default Envoy sets server_name response header to 'envoy'
	// Override it with this variable
	ServerName string `json:"server_name,omitempty"`

	// If present, service_port will be the port Ambassador listens
	// on for microservice access. If not present, Ambassador will
	// use 8443 if TLS is configured, 8080 otherwise.
	ServicePort int `json:"service_port,omitempty"`

	Features *Features `json:"features,omitempty"`

	// run a custom lua script on every request. see below for more details.
	LuaScripts string `json:"lua_scripts,omitempty"`

	// +kubebuilder:validation:Enum={"text", "json"}
	EnvoyLogType string `json:"envoy_log_type,omitempty"`

	// envoy_log_path defines the path of log envoy will use. By default this is standard output
	EnvoyLogPath string `json:"envoy_log_path,omitempty"`

	LoadBalancer *LoadBalancer `json:"load_balancer,omitempty"`

	CircuitBreakers *CircuitBreaker `json:"circuit_breakers,omitempty"`

	// List of HTTP error response overrides.
	// +kubebuilder:validation:MinItems=1
	ErrorResponseOverrides []ErrorResponseOverride `json:"error_response_overrides,omitempty"`

	// List of headers whose names should be rewritten to the case-sensitive value
	// present in the list. Applies to both upstream and downstream headers.
	// +kubebuilder:validation:MinItems=1
	HeaderCaseOverrides []string `json:"header_case_overrides,omitempty"`

	RetryPolicy *RetryPolicy `json:"retry_policy,omitempty"`

	Cors *CORS `json:"cors,omitempty"`

	// Set the default upstream-connection request timeout. If not set (the default), upstream
	// requests will be subject to a 3000 millisecond timeout.
	ClusterRequestTimeoutMS int `json:"cluster_request_timeout_ms,omitempty"`

	// Set the default upstream-connection idle timeout. If not set (the default), upstream
	// connections will never be closed due to idling.
	ClusterIdleTimeoutMS int `json:"cluster_idle_timeout_ms,omitempty"`

	// Set the default upstream-connection max connection lifetime. If not set (the default), upstream
	// connections may never close.
	ClusterMaxConnectionLifetimeMS int `json:"cluster_max_connection_lifetime_ms,omitempty"`

	// +kubebuilder:validation:Enum={"safe", "unsafe"}
	RegexType string `json:"regex_type,omitempty"`

	// This field controls the RE2 “program size” which is a rough estimate of how complex a compiled regex is to
	// evaluate.  A regex that has a program size greater than the configured value will fail to compile.
	RegexMaxSize int `json:"regex_max_size,omitempty"`
}

AmbassadorConfigSpec defines the desired state of AmbassadorConfig

func (*AmbassadorConfigSpec) DeepCopy

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

func (*AmbassadorConfigSpec) DeepCopyInto

func (in *AmbassadorConfigSpec) DeepCopyInto(out *AmbassadorConfigSpec)

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

type AmbassadorConfigStatus

type AmbassadorConfigStatus struct {
}

AmbassadorConfigStatus defines the observed state of AmbassadorConfig

func (*AmbassadorConfigStatus) DeepCopy

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

func (*AmbassadorConfigStatus) DeepCopyInto

func (in *AmbassadorConfigStatus) DeepCopyInto(out *AmbassadorConfigStatus)

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

type AmbassadorID

type AmbassadorID []string

AmbassadorID declares which Ambassador instances should pay attention to this resource. If no value is provided, the default is:

ambassador_id:
- "default"

+kubebuilder:validation:Type="d6e-union:string,array"

func (AmbassadorID) DeepCopy

func (in AmbassadorID) DeepCopy() AmbassadorID

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

func (AmbassadorID) DeepCopyInto

func (in AmbassadorID) DeepCopyInto(out *AmbassadorID)

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

func (*AmbassadorID) UnmarshalJSON

func (aid *AmbassadorID) UnmarshalJSON(data []byte) error

type AuthService

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

	Spec AuthServiceSpec `json:"spec,omitempty"`
}

AuthService is the Schema for the authservices API

+kubebuilder:object:root=true

func (*AuthService) DeepCopy

func (in *AuthService) DeepCopy() *AuthService

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

func (*AuthService) DeepCopyInto

func (in *AuthService) DeepCopyInto(out *AuthService)

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

func (*AuthService) DeepCopyObject

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

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

type AuthServiceIncludeBody

type AuthServiceIncludeBody struct {
	// These aren't pointer types because they are required.
	// +kubebuilder:validation:Required
	MaxBytes int `json:"max_bytes,omitempty"`

	// +kubebuilder:validation:Required
	AllowPartial bool `json:"allow_partial,omitempty"`
}

func (*AuthServiceIncludeBody) DeepCopy

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

func (*AuthServiceIncludeBody) DeepCopyInto

func (in *AuthServiceIncludeBody) DeepCopyInto(out *AuthServiceIncludeBody)

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

type AuthServiceList

type AuthServiceList struct {
	metav1.TypeMeta `json:""`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []AuthService `json:"items"`
}

AuthServiceList contains a list of AuthServices.

+kubebuilder:object:root=true

func (*AuthServiceList) DeepCopy

func (in *AuthServiceList) DeepCopy() *AuthServiceList

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

func (*AuthServiceList) DeepCopyInto

func (in *AuthServiceList) DeepCopyInto(out *AuthServiceList)

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

func (*AuthServiceList) DeepCopyObject

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

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

type AuthServiceSpec

type AuthServiceSpec struct {
	AmbassadorID AmbassadorID `json:"ambassador_id,omitempty"`

	// +kubebuilder:validation:Required
	AuthService string        `json:"auth_service,omitempty"`
	PathPrefix  string        `json:"path_prefix,omitempty"`
	TLS         *BoolOrString `json:"tls,omitempty"`
	// +kubebuilder:validation:Enum={"http","grpc"}
	Proto                       string                    `json:"proto,omitempty"`
	TimeoutMs                   *int                      `json:"timeout_ms,omitempty"`
	AllowedRequestHeaders       []string                  `json:"allowed_request_headers,omitempty"`
	AllowedAuthorizationHeaders []string                  `json:"allowed_authorization_headers,omitempty"`
	AddAuthHeaders              map[string]BoolOrString   `json:"add_auth_headers,omitempty"`
	AllowRequestBody            *bool                     `json:"allow_request_body,omitempty"`
	AddLinkerdHeaders           *bool                     `json:"add_linkerd_headers,omitempty"`
	FailureModeAllow            *bool                     `json:"failure_mode_allow,omitempty"`
	IncludeBody                 *AuthServiceIncludeBody   `json:"include_body,omitempty"`
	StatusOnError               *AuthServiceStatusOnError `json:"status_on_error,omitempty"`
	// +kubebuilder:validation:Enum={"v2","v3"}
	ProtocolVersion string `json:"protocol_version,omitempty"`
	StatsName       string `json:"stats_name,omitempty"`
}

AuthServiceSpec defines the desired state of AuthService

func (*AuthServiceSpec) DeepCopy

func (in *AuthServiceSpec) DeepCopy() *AuthServiceSpec

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

func (*AuthServiceSpec) DeepCopyInto

func (in *AuthServiceSpec) DeepCopyInto(out *AuthServiceSpec)

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

type AuthServiceStatusOnError

type AuthServiceStatusOnError struct {
	Code *int `json:"code,omitempty"`
}

Why isn't this just an int??

func (*AuthServiceStatusOnError) DeepCopy

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

func (*AuthServiceStatusOnError) DeepCopyInto

func (in *AuthServiceStatusOnError) DeepCopyInto(out *AuthServiceStatusOnError)

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

type BoolOrString

type BoolOrString struct {
	String *string `json:"-"`
	Bool   *bool   `json:"-"`
}

BoolOrString is a type that can hold a Boolean or a string.

+kubebuilder:validation:Type="d6e-union:string,boolean"

func (*BoolOrString) DeepCopy

func (in *BoolOrString) DeepCopy() *BoolOrString

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

func (*BoolOrString) DeepCopyInto

func (in *BoolOrString) DeepCopyInto(out *BoolOrString)

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

func (BoolOrString) MarshalJSON

func (o BoolOrString) MarshalJSON() ([]byte, error)

MarshalJSON is important both so that we generate the proper output, and to trigger controller-gen to not try to generate jsonschema for our sub-fields: https://github.com/kubernetes-sigs/controller-tools/pull/427

func (*BoolOrString) UnmarshalJSON

func (o *BoolOrString) UnmarshalJSON(data []byte) error

type CORS

type CORS struct {
	Origins        StringOrStringList `json:"origins,omitempty"`
	Methods        StringOrStringList `json:"methods,omitempty"`
	Headers        StringOrStringList `json:"headers,omitempty"`
	Credentials    *bool              `json:"credentials,omitempty"`
	ExposedHeaders StringOrStringList `json:"exposed_headers,omitempty"`
	MaxAge         string             `json:"max_age,omitempty"`
}

func (*CORS) DeepCopy

func (in *CORS) DeepCopy() *CORS

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

func (*CORS) DeepCopyInto

func (in *CORS) DeepCopyInto(out *CORS)

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

type CircuitBreaker

type CircuitBreaker struct {
	// +kubebuilder:validation:Enum={"default", "high"}
	Priority           string `json:"priority,omitempty"`
	MaxConnections     *int   `json:"max_connections,omitempty"`
	MaxPendingRequests *int   `json:"max_pending_requests,omitempty"`
	MaxRequests        *int   `json:"max_requests,omitempty"`
	MaxRetries         *int   `json:"max_retries,omitempty"`
}

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 ConsulResolver

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

	Spec ConsulResolverSpec `json:"spec,omitempty"`
}

ConsulResolver is the Schema for the ConsulResolver API

+kubebuilder:object:root=true

func (*ConsulResolver) DeepCopy

func (in *ConsulResolver) DeepCopy() *ConsulResolver

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

func (*ConsulResolver) DeepCopyInto

func (in *ConsulResolver) DeepCopyInto(out *ConsulResolver)

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

func (*ConsulResolver) DeepCopyObject

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

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

type ConsulResolverList

type ConsulResolverList struct {
	metav1.TypeMeta `json:""`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ConsulResolver `json:"items"`
}

ConsulResolverList contains a list of ConsulResolvers.

+kubebuilder:object:root=true

func (*ConsulResolverList) DeepCopy

func (in *ConsulResolverList) DeepCopy() *ConsulResolverList

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

func (*ConsulResolverList) DeepCopyInto

func (in *ConsulResolverList) DeepCopyInto(out *ConsulResolverList)

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

func (*ConsulResolverList) DeepCopyObject

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

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

type ConsulResolverSpec

type ConsulResolverSpec struct {
	AmbassadorID AmbassadorID `json:"ambassador_id,omitempty"`

	Address    string `json:"address,omitempty"`
	Datacenter string `json:"datacenter,omitempty"`
}

ConsulResolver tells Ambassador to use Consul to resolve services. In addition to the AmbassadorID, it needs information about which Consul server and DC to use.

func (*ConsulResolverSpec) DeepCopy

func (in *ConsulResolverSpec) DeepCopy() *ConsulResolverSpec

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

func (*ConsulResolverSpec) DeepCopyInto

func (in *ConsulResolverSpec) DeepCopyInto(out *ConsulResolverSpec)

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

type DevPortal

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

	Spec DevPortalSpec `json:"spec,omitempty"`
}

DevPortal is the Schema for the DevPortals API

DevPortal resources specify the `what` and `how` is shown in a DevPortal:

* `what` is in a DevPortal can be controlled with

  • a `selector`, that can be used for filtering `Mappings`.
  • a `docs` listing of (services, url)
  • `how` is a pointer to some `contents` (a checkout of a Git repository with go-templates/markdown/css).

Multiple `DevPortal`s can exist in the cluster, and the Dev Portal server will show them at different endpoints. A `DevPortal` resource with a special name, `ambassador`, will be used for configuring the default Dev Portal (served at `/docs/` by default).

+kubebuilder:object:root=true +kubebuilder:resource:path=devportals,scope=Namespaced

func (*DevPortal) DeepCopy

func (in *DevPortal) DeepCopy() *DevPortal

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

func (*DevPortal) DeepCopyInto

func (in *DevPortal) DeepCopyInto(out *DevPortal)

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

func (*DevPortal) DeepCopyObject

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

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

type DevPortalContentSpec

type DevPortalContentSpec struct {
	URL    string `json:"url,omitempty"`
	Branch string `json:"branch,omitempty"`
	Dir    string `json:"dir,omitempty"`
}

DevPortalContentSpec defines the content origin

func (*DevPortalContentSpec) DeepCopy

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

func (*DevPortalContentSpec) DeepCopyInto

func (in *DevPortalContentSpec) DeepCopyInto(out *DevPortalContentSpec)

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

type DevPortalDocsSpec

type DevPortalDocsSpec struct {
	// Service is the service being documented
	Service string `json:"service,omitempty"`

	// URL is the URL used for obtaining docs
	URL string `json:"url,omitempty"`
}

DevPortalDocsSpec is a static documentation definition: instead of using a Selector for finding documentation for services, users can provide a static list of <service>:<URL> tuples. These services will be shown in the Dev Portal with the documentation obtained from this URL.

func (*DevPortalDocsSpec) DeepCopy

func (in *DevPortalDocsSpec) DeepCopy() *DevPortalDocsSpec

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

func (*DevPortalDocsSpec) DeepCopyInto

func (in *DevPortalDocsSpec) DeepCopyInto(out *DevPortalDocsSpec)

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

type DevPortalList

type DevPortalList struct {
	metav1.TypeMeta `json:""`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []DevPortal `json:"items"`
}

DevPortalList contains a list of DevPortals.

+kubebuilder:object:root=true

func (*DevPortalList) DeepCopy

func (in *DevPortalList) DeepCopy() *DevPortalList

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

func (*DevPortalList) DeepCopyInto

func (in *DevPortalList) DeepCopyInto(out *DevPortalList)

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

func (*DevPortalList) DeepCopyObject

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

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

type DevPortalSearchSpec

type DevPortalSearchSpec struct {
	Enabled *bool `json:"enabled,omitempty"`

	// Type of search.
	// "title-only" does a fuzzy search over openapi and page titles
	// "all-content" will fuzzy search over all openapi and page content.
	// "title-only" is the default.
	// warning:  using all-content may incur a larger memory footprint
	// +kubebuilder:validation:Enum={"title-only", "all-content"}
	Type string `json:"type,omitempty"`
}

DevPortalSearchSpec allows configuration over search functionality for the DevPortal

func (*DevPortalSearchSpec) DeepCopy

func (in *DevPortalSearchSpec) DeepCopy() *DevPortalSearchSpec

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

func (*DevPortalSearchSpec) DeepCopyInto

func (in *DevPortalSearchSpec) DeepCopyInto(out *DevPortalSearchSpec)

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

type DevPortalSelectorSpec

type DevPortalSelectorSpec struct {
	// MatchNamespaces is a list of namespaces that will be included in
	// this DevPortal.
	MatchNamespaces []string `json:"matchNamespaces,omitempty"`

	// MatchLabels specifies the list of labels that must be present
	// in Mappings for being present in this DevPortal.
	MatchLabels map[string]string `json:"matchLabels,omitempty"`
}

DevPortalSelectorSpec is the selector for filtering mappings that are used in this DevPortal. They can be filtered by things like namespace, labels, etc...

func (*DevPortalSelectorSpec) DeepCopy

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

func (*DevPortalSelectorSpec) DeepCopyInto

func (in *DevPortalSelectorSpec) DeepCopyInto(out *DevPortalSelectorSpec)

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

type DevPortalSpec

type DevPortalSpec struct {
	AmbassadorID AmbassadorID `json:"ambassador_id,omitempty"`

	// Default must be true when this is the default DevPortal
	Default *bool `json:"default,omitempty"`

	// Content specifies where the content shown in the DevPortal come from
	Content *DevPortalContentSpec `json:"content,omitempty"`

	// Docs is a static docs definition
	Docs []*DevPortalDocsSpec `json:"docs,omitempty"`

	// Selector is used for choosing what is shown in the DevPortal
	Selector *DevPortalSelectorSpec `json:"selector,omitempty"`

	// Describes how to display "services" in the DevPortal. Default namespace.name
	// +kubebuilder:validation:Enum={"namespace.name", "name.prefix"}
	NamingScheme string `json:"naming_scheme,omitempty"`

	Search *DevPortalSearchSpec `json:"search,omitempty"`
}

DevPortalSpec defines the desired state of DevPortal

func (*DevPortalSpec) DeepCopy

func (in *DevPortalSpec) DeepCopy() *DevPortalSpec

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

func (*DevPortalSpec) DeepCopyInto

func (in *DevPortalSpec) DeepCopyInto(out *DevPortalSpec)

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

type DocsInfo

type DocsInfo struct {
	Path        string `json:"path,omitempty"`
	URL         string `json:"url,omitempty"`
	Ignored     *bool  `json:"ignored,omitempty"`
	DisplayName string `json:"display_name,omitempty"`
}

DocsInfo provides some extra information about the docs for the Mapping (used by the Dev Portal)

func (*DocsInfo) DeepCopy

func (in *DocsInfo) DeepCopy() *DocsInfo

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

func (*DocsInfo) DeepCopyInto

func (in *DocsInfo) DeepCopyInto(out *DocsInfo)

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

type DomainMap

type DomainMap map[string]MappingLabelGroupsArray

A DomainMap is the overall Mapping.spec.Labels type. It maps domains (kind of like namespaces for Mapping labels) to arrays of label groups.

func (DomainMap) DeepCopy

func (in DomainMap) DeepCopy() DomainMap

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

func (DomainMap) DeepCopyInto

func (in DomainMap) DeepCopyInto(out *DomainMap)

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

type DriverConfig

type DriverConfig struct {
	AdditionalLogHeaders []*AdditionalLogHeaders `json:"additional_log_headers,omitempty"`
}

func (*DriverConfig) DeepCopy

func (in *DriverConfig) DeepCopy() *DriverConfig

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

func (*DriverConfig) DeepCopyInto

func (in *DriverConfig) DeepCopyInto(out *DriverConfig)

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

type ErrorResponseOverride

type ErrorResponseOverride struct {
	// The status code to match on -- not a pointer because it's required.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Minimum=400
	// +kubebuilder:validation:Maximum=599
	OnStatusCode int `json:"on_status_code,omitempty"`

	// The new response body
	// +kubebuilder:validation:Required
	Body ErrorResponseOverrideBody `json:"body,omitempty"`
}

A response rewrite for an HTTP error response

func (*ErrorResponseOverride) DeepCopy

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

func (*ErrorResponseOverride) DeepCopyInto

func (in *ErrorResponseOverride) DeepCopyInto(out *ErrorResponseOverride)

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

type ErrorResponseOverrideBody

type ErrorResponseOverrideBody struct {
	// A format string representing a text response body.
	// Content-Type can be set using the `content_type` field below.
	ErrorResponseTextFormat string `json:"text_format,omitempty"`

	// A JSON response with content-type: application/json. The values can
	// contain format text like in text_format.
	ErrorResponseJsonFormat map[string]string `json:"json_format,omitempty"`

	// A format string sourced from a file on the Ambassador container.
	// Useful for larger response bodies that should not be placed inline
	// in configuration.
	ErrorResponseTextFormatSource *ErrorResponseTextFormatSource `json:"text_format_source,omitempty"`

	// The content type to set on the error response body when
	// using text_format or text_format_source. Defaults to 'text/plain'.
	ContentType string `json:"content_type,omitempty"`
}

ErorrResponseOverrideBody specifies the body of an error response

func (*ErrorResponseOverrideBody) DeepCopy

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

func (*ErrorResponseOverrideBody) DeepCopyInto

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

type ErrorResponseTextFormatSource

type ErrorResponseTextFormatSource struct {
	// The name of a file on the Ambassador pod that contains a format text string.
	Filename string `json:"filename"`
}

ErrorResponseTextFormatSource specifies a source for an error response body

func (*ErrorResponseTextFormatSource) DeepCopy

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

func (*ErrorResponseTextFormatSource) DeepCopyInto

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

type Features

type Features struct {
	// The diagnostic service (at /ambassador/v0/diag/) defaults on, but
	// you can disable the api route. It will remain accessible on
	// diag_port.
	Diagnostics bool `json:"diagnostics,omitempty"`

	// Should we automatically add Linkerd `l5d-dst-override` headers?
	LinkerdHeaders bool `json:"linkerd_headers,omitempty"`

	// Should we enable the gRPC-http11 bridge?
	GrpcHttp11Bridge bool `json:"grpc_http11_bridge,omitempty"`

	// Should we enable the grpc-Web protocol?
	GrpcWeb bool `json:"grpc_web,omitempty"`

	// Should we enable http/1.0 protocol?
	Http10 bool `json:"http10,omitempty"`

	// Should we do IPv4 DNS lookups when contacting services? Defaults to true,
	// but can be overridden in a [`Mapping`](/reference/mappings).
	Ipv4Dns bool `json:"ipv4_dns,omitempty"`

	// Should we do IPv6 DNS lookups when contacting services? Defaults to false,
	// but can be overridden in a [`Mapping`](/reference/mappings).
	Ipv6Dns bool `json:"ipv6_dns,omitempty"`

	// liveness_probe defaults on, but you can disable the api route.
	// It will remain accessible on diag_port.
	LivenessProbe bool `json:"liveness_probe,omitempty"`

	// readiness_probe defaults on, but you can disable the api route.
	// It will remain accessible on diag_port.
	ReadinessProbe bool `json:"readiness_probe,omitempty"`

	// xff_num_trusted_hops controls the how Envoy sets the trusted
	// client IP address of a request. If you have a proxy in front
	// of Ambassador, Envoy will set the trusted client IP to the
	// address of that proxy. To preserve the orginal client IP address,
	// setting x_num_trusted_hops: 1 will tell Envoy to use the client IP
	// address in X-Forwarded-For. Please see the envoy documentation for
	// more information: https://www.envoyproxy.io/docs/envoy/latest/configuration/http_conn_man/headers#x-forwarded-for
	XffNumTrustedHops int `json:"xff_num_trusted_hops,omitempty"`

	// proxy_proto controls whether Envoy will honor the PROXY
	// protocol on incoming requests.
	ProxyProto bool `json:"proxy_proto,omitempty"`

	// remote_address controls whether Envoy will trust the remote
	// address of incoming connections or rely exclusively on the
	// X-Forwarded_For header.
	RemoteAddress bool `json:"remote_address,omitempty"`

	// Ambassador lets through only the HTTP requests with
	// `X-FORWARDED-PROTO: https` header set, and redirects all the other
	// requests to HTTPS if this field is set to true. Note that `use_remote_address`
	// must be set to false for this feature to work as expected.
	XForwardedProtoRedirect bool `json:"x_forwarded_proto_redirect,omitempty"`
}

func (*Features) DeepCopy

func (in *Features) DeepCopy() *Features

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

func (*Features) DeepCopyInto

func (in *Features) DeepCopyInto(out *Features)

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

type Host

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

	Spec   *HostSpec  `json:"spec,omitempty"`
	Status HostStatus `json:"status,omitempty"`
}

Host is the Schema for the hosts API

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Hostname",type=string,JSONPath=`.spec.hostname` +kubebuilder:printcolumn:name="State",type=string,JSONPath=`.status.state` +kubebuilder:printcolumn:name="Phase Completed",type=string,JSONPath=`.status.phaseCompleted` +kubebuilder:printcolumn:name="Phase Pending",type=string,JSONPath=`.status.phasePending` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`

func (*Host) DeepCopy

func (in *Host) DeepCopy() *Host

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

func (*Host) DeepCopyInto

func (in *Host) DeepCopyInto(out *Host)

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

func (*Host) DeepCopyObject

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

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

type HostList

type HostList struct {
	metav1.TypeMeta `json:""`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Host `json:"items"`
}

HostList contains a list of Hosts.

+kubebuilder:object:root=true

func (*HostList) DeepCopy

func (in *HostList) DeepCopy() *HostList

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

func (*HostList) DeepCopyInto

func (in *HostList) DeepCopyInto(out *HostList)

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

func (*HostList) DeepCopyObject

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

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

type HostPhase

type HostPhase int

+kubebuilder:validation:Type=string +kubebuilder:validation:Enum={"NA","DefaultsFilled","ACMEUserPrivateKeyCreated","ACMEUserRegistered","ACMECertificateChallenge"}

func (HostPhase) MarshalJSON

func (o HostPhase) MarshalJSON() ([]byte, error)

func (HostPhase) String

func (o HostPhase) String() string

func (*HostPhase) UnmarshalJSON

func (o *HostPhase) UnmarshalJSON(data []byte) error

type HostSpec

type HostSpec struct {
	// Common to all Ambassador objects (and optional).
	AmbassadorID AmbassadorID `json:"ambassador_id,omitempty"`
	// A compatibility alias for "ambassador_id"; because Host
	// used to be specified with protobuf, and jsonpb allowed
	// either "ambassador_id" or "ambassadorId", and even though
	// we didn't tell people about "ambassadorId" it's what the
	// web policy console generated because of jsonpb.  So Hosts
	// with 'ambassadorId' exist in the wild.
	DeprecatedAmbassadorID AmbassadorID `json:"ambassadorId,omitempty"`

	// Hostname by which the Ambassador can be reached.
	Hostname string `json:"hostname,omitempty"`

	// Selector by which we can find further configuration.
	Selector *metav1.LabelSelector `json:"selector,omitempty"`

	// Specifies whether/who to talk ACME with to automatically manage the $tlsSecret.
	AcmeProvider *ACMEProviderSpec `json:"acmeProvider,omitempty"`

	// Name of the Kubernetes secret into which to save generated
	// certificates.  If ACME is enabled (see $acmeProvider), then the
	// default is $hostname; otherwise the default is "".  If the value
	// is "", then we do not do TLS for this Host.
	//
	// Note that this is a native-Kubernetes-style core.v1.LocalObjectReference, not
	// an Ambassador-style `{name}.{namespace}` string.  Because we're opinionated, it
	// does not support referencing a Secret in another namespace (because most native
	// Kubernetes resources don't support that), but if we ever abandon that opinion
	// and decide to support non-local references it, it would be by adding a
	// `namespace:` field by changing it from a core.v1.LocalObjectReference to a
	// core.v1.SecretReference, not by adopting the `{name}.{namespace}` notation.
	TLSSecret *corev1.LocalObjectReference `json:"tlsSecret,omitempty"`

	// Request policy definition.
	RequestPolicy *RequestPolicy `json:"requestPolicy,omitempty"`

	// Configuration for the Preview URL feature of Service Preview. Defaults to preview URLs not enabled.
	PreviewUrl *PreviewURLSpec `json:"previewUrl,omitempty"`

	// Name of the TLSContext the Host resource is linked with.
	// It is not valid to specify both `tlsContext` and `tls`.
	//
	// Note that this is a native-Kubernetes-style core.v1.LocalObjectReference, not
	// an Ambassador-style `{name}.{namespace}` string.  Because we're opinionated, it
	// does not support referencing a Secret in another namespace (because most native
	// Kubernetes resources don't support that), but if we ever abandon that opinion
	// and decide to support non-local references it, it would be by adding a
	// `namespace:` field by changing it from a core.v1.LocalObjectReference to a
	// core.v1.SecretReference, not by adopting the `{name}.{namespace}` notation.
	TLSContext *corev1.LocalObjectReference `json:"tlsContext,omitempty"`

	// TLS configuration.  It is not valid to specify both
	// `tlsContext` and `tls`.
	TLS *TLSConfig `json:"tls,omitempty"`
}

HostSpec defines the desired state of Host

func (*HostSpec) DeepCopy

func (in *HostSpec) DeepCopy() *HostSpec

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

func (*HostSpec) DeepCopyInto

func (in *HostSpec) DeepCopyInto(out *HostSpec)

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

type HostState

type HostState int

The first value listed in the Enum marker becomes the "zero" value, and it would be great if "Pending" could be the default value; but it's Important that the "zero" value be able to be shown as empty/omitted from display, and we really do want `kubectl get hosts` to say "Pending" in the "STATE" column, and not leave the column empty.

+kubebuilder:validation:Type=string +kubebuilder:validation:Enum={"Initial","Pending","Ready","Error"}

func (HostState) MarshalJSON

func (o HostState) MarshalJSON() ([]byte, error)

func (HostState) String

func (o HostState) String() string

func (*HostState) UnmarshalJSON

func (o *HostState) UnmarshalJSON(data []byte) error

type HostStatus

type HostStatus struct {
	TLSCertificateSource HostTLSCertificateSource `json:"tlsCertificateSource,omitempty"`

	State HostState `json:"state,omitempty"`

	// phaseCompleted and phasePending are valid when state==Pending or
	// state==Error.
	PhaseCompleted HostPhase `json:"phaseCompleted,omitempty"`
	// phaseCompleted and phasePending are valid when state==Pending or
	// state==Error.
	PhasePending HostPhase `json:"phasePending,omitempty"`

	// errorReason, errorTimestamp, and errorBackoff are valid when state==Error.
	ErrorReason    string           `json:"errorReason,omitempty"`
	ErrorTimestamp *metav1.Time     `json:"errorTimestamp,omitempty"`
	ErrorBackoff   *metav1.Duration `json:"errorBackoff,omitempty"`
}

HostStatus defines the observed state of Host

func (*HostStatus) DeepCopy

func (in *HostStatus) DeepCopy() *HostStatus

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

func (*HostStatus) DeepCopyInto

func (in *HostStatus) DeepCopyInto(out *HostStatus)

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

type HostTLSCertificateSource

type HostTLSCertificateSource string

+kubebuilder:validation:Enum={"Unknown","None","Other","ACME"}

type InsecureRequestPolicy

type InsecureRequestPolicy struct {
	// +kubebuilder:validation:Enum={"Redirect","Reject","Route"}
	Action         string `json:"action,omitempty"`
	AdditionalPort *int   `json:"additionalPort,omitempty"`
}

func (*InsecureRequestPolicy) DeepCopy

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

func (*InsecureRequestPolicy) DeepCopyInto

func (in *InsecureRequestPolicy) DeepCopyInto(out *InsecureRequestPolicy)

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

type KeepAlive

type KeepAlive struct {
	Probes   *int `json:"probes,omitempty"`
	IdleTime *int `json:"idle_time,omitempty"`
	Interval *int `json:"interval,omitempty"`
}

func (*KeepAlive) DeepCopy

func (in *KeepAlive) DeepCopy() *KeepAlive

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

func (*KeepAlive) DeepCopyInto

func (in *KeepAlive) DeepCopyInto(out *KeepAlive)

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

type KubernetesEndpointResolver

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

	Spec KubernetesEndpointResolverSpec `json:"spec,omitempty"`
}

KubernetesEndpointResolver is the Schema for the kubernetesendpointresolver API

+kubebuilder:object:root=true

func (*KubernetesEndpointResolver) DeepCopy

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

func (*KubernetesEndpointResolver) DeepCopyInto

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

func (*KubernetesEndpointResolver) DeepCopyObject

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

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

type KubernetesEndpointResolverList

type KubernetesEndpointResolverList struct {
	metav1.TypeMeta `json:""`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []KubernetesEndpointResolver `json:"items"`
}

KubernetesEndpointResolverList contains a list of KubernetesEndpointResolvers.

+kubebuilder:object:root=true

func (*KubernetesEndpointResolverList) DeepCopy

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

func (*KubernetesEndpointResolverList) DeepCopyInto

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

func (*KubernetesEndpointResolverList) DeepCopyObject

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

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

type KubernetesEndpointResolverSpec

type KubernetesEndpointResolverSpec struct {
	AmbassadorID AmbassadorID `json:"ambassador_id,omitempty"`
}

KubernetesEndpointResolver tells Ambassador to use Kubernetes Endpoints resources to resolve services. It actually has no spec other than the AmbassadorID.

func (*KubernetesEndpointResolverSpec) DeepCopy

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

func (*KubernetesEndpointResolverSpec) DeepCopyInto

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

type KubernetesServiceResolver

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

	Spec KubernetesServiceResolverSpec `json:"spec,omitempty"`
}

KubernetesServiceResolver is the Schema for the kubernetesserviceresolver API

+kubebuilder:object:root=true

func (*KubernetesServiceResolver) DeepCopy

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

func (*KubernetesServiceResolver) DeepCopyInto

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

func (*KubernetesServiceResolver) DeepCopyObject

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

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

type KubernetesServiceResolverList

type KubernetesServiceResolverList struct {
	metav1.TypeMeta `json:""`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []KubernetesServiceResolver `json:"items"`
}

KubernetesServiceResolverList contains a list of KubernetesServiceResolvers.

+kubebuilder:object:root=true

func (*KubernetesServiceResolverList) DeepCopy

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

func (*KubernetesServiceResolverList) DeepCopyInto

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

func (*KubernetesServiceResolverList) DeepCopyObject

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

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

type KubernetesServiceResolverSpec

type KubernetesServiceResolverSpec struct {
	AmbassadorID AmbassadorID `json:"ambassador_id,omitempty"`
}

KubernetesServiceResolver tells Ambassador to use Kubernetes Service resources to resolve services. It actually has no spec other than the AmbassadorID.

func (*KubernetesServiceResolverSpec) DeepCopy

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

func (*KubernetesServiceResolverSpec) DeepCopyInto

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

type LoadBalancer

type LoadBalancer struct {
	// +kubebuilder:validation:Enum={"round_robin","ring_hash","maglev","least_request"}
	// +kubebuilder:validation:Required
	Policy   string              `json:"policy,omitempty"`
	Cookie   *LoadBalancerCookie `json:"cookie,omitempty"`
	Header   string              `json:"header,omitempty"`
	SourceIp *bool               `json:"source_ip,omitempty"`
}

func (*LoadBalancer) DeepCopy

func (in *LoadBalancer) DeepCopy() *LoadBalancer

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

func (*LoadBalancer) DeepCopyInto

func (in *LoadBalancer) DeepCopyInto(out *LoadBalancer)

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

type LoadBalancerCookie

type LoadBalancerCookie struct {
	// +kubebuilder:validation:Required
	Name string `json:"name,omitempty"`
	Path string `json:"path,omitempty"`
	Ttl  string `json:"ttl,omitempty"`
}

func (*LoadBalancerCookie) DeepCopy

func (in *LoadBalancerCookie) DeepCopy() *LoadBalancerCookie

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

func (*LoadBalancerCookie) DeepCopyInto

func (in *LoadBalancerCookie) DeepCopyInto(out *LoadBalancerCookie)

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

type LogService

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

	Spec LogServiceSpec `json:"spec,omitempty"`
}

LogService is the Schema for the logservices API

+kubebuilder:object:root=true

func (*LogService) DeepCopy

func (in *LogService) DeepCopy() *LogService

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

func (*LogService) DeepCopyInto

func (in *LogService) DeepCopyInto(out *LogService)

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

func (*LogService) DeepCopyObject

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

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

type LogServiceList

type LogServiceList struct {
	metav1.TypeMeta `json:""`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []LogService `json:"items"`
}

LogServiceList contains a list of LogServices.

+kubebuilder:object:root=true

func (*LogServiceList) DeepCopy

func (in *LogServiceList) DeepCopy() *LogServiceList

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

func (*LogServiceList) DeepCopyInto

func (in *LogServiceList) DeepCopyInto(out *LogServiceList)

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

func (*LogServiceList) DeepCopyObject

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

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

type LogServiceSpec

type LogServiceSpec struct {
	AmbassadorID AmbassadorID `json:"ambassador_id,omitempty"`

	Service string `json:"service,omitempty"`
	// +kubebuilder:validation:Enum={"tcp","http"}
	Driver                string        `json:"driver,omitempty"`
	DriverConfig          *DriverConfig `json:"driver_config,omitempty"`
	FlushIntervalTime     *int          `json:"flush_interval_time,omitempty"`
	FlushIntervalByteSize *int          `json:"flush_interval_byte_size,omitempty"`
	GRPC                  *bool         `json:"grpc,omitempty"`
	StatsName             string        `json:"stats_name,omitempty"`
}

LogServiceSpec defines the desired state of LogService

func (*LogServiceSpec) DeepCopy

func (in *LogServiceSpec) DeepCopy() *LogServiceSpec

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

func (*LogServiceSpec) DeepCopyInto

func (in *LogServiceSpec) DeepCopyInto(out *LogServiceSpec)

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

type Mapping

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

	Spec   MappingSpec    `json:"spec,omitempty"`
	Status *MappingStatus `json:"status,omitempty"`
}

Mapping is the Schema for the mappings API

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Source Host",type=string,JSONPath=`.spec.host` +kubebuilder:printcolumn:name="Source Prefix",type=string,JSONPath=`.spec.prefix` +kubebuilder:printcolumn:name="Dest Service",type=string,JSONPath=`.spec.service` +kubebuilder:printcolumn:name="State",type=string,JSONPath=`.status.state` +kubebuilder:printcolumn:name="Reason",type=string,JSONPath=`.status.reason`

func (*Mapping) DeepCopy

func (in *Mapping) DeepCopy() *Mapping

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

func (*Mapping) DeepCopyInto

func (in *Mapping) DeepCopyInto(out *Mapping)

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

func (*Mapping) DeepCopyObject

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

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

type MappingLabelGroup

type MappingLabelGroup map[string]MappingLabelsArray

A MappingLabelGroup is a single element of a MappingLabelGroupsArray: a second map, where the key is a human-readable name that identifies the group.

func (MappingLabelGroup) DeepCopy

func (in MappingLabelGroup) DeepCopy() MappingLabelGroup

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

func (MappingLabelGroup) DeepCopyInto

func (in MappingLabelGroup) DeepCopyInto(out *MappingLabelGroup)

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

type MappingLabelGroupsArray

type MappingLabelGroupsArray []MappingLabelGroup

A MappingLabelGroupsArray is an array of MappingLabelGroups. I know, complex.

func (MappingLabelGroupsArray) DeepCopy

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

func (MappingLabelGroupsArray) DeepCopyInto

func (in MappingLabelGroupsArray) DeepCopyInto(out *MappingLabelGroupsArray)

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

type MappingLabelSpecGeneric

type MappingLabelSpecGeneric struct {
	GenericKey string `json:"generic_key"`
}

A MappingLabelSpecGeneric is a longhand generic key: it states a string which will be included literally in the label.

func (*MappingLabelSpecGeneric) DeepCopy

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

func (*MappingLabelSpecGeneric) DeepCopyInto

func (in *MappingLabelSpecGeneric) DeepCopyInto(out *MappingLabelSpecGeneric)

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

type MappingLabelSpecHeader

type MappingLabelSpecHeader map[string]MappingLabelSpecHeaderStruct

A MappingLabelSpecHeader is just the aggregate map of MappingLabelSpecHeaderStruct, above. The key in the map is the label key that it will set to that header value; there must be exactly one key in the map.

func (MappingLabelSpecHeader) DeepCopy

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

func (MappingLabelSpecHeader) DeepCopyInto

func (in MappingLabelSpecHeader) DeepCopyInto(out *MappingLabelSpecHeader)

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

type MappingLabelSpecHeaderStruct

type MappingLabelSpecHeaderStruct struct {
	Header string `json:"header,omitifempty"`
	// XXX This is bool rather than *bool because it breaks zz_generated_deepcopy. ???!
	OmitIfNotPresent *bool `json:"omit_if_not_present,omitempty"`
}

A MappingLabelSpecHeaderStruct is the value struct for MappingLabelSpecifier.Header: the form of MappingLabelSpecifier to use when you want to take the label value from an HTTP header. (If we make this an anonymous struct like the others, it breaks the generation of its deepcopy routine. Sigh.)

func (*MappingLabelSpecHeaderStruct) DeepCopy

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

func (*MappingLabelSpecHeaderStruct) DeepCopyInto

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

type MappingLabelSpecifier

type MappingLabelSpecifier struct {
	String  *string                  `json:"-"` // source-cluster, destination-cluster, remote-address, or shorthand generic
	Header  MappingLabelSpecHeader   `json:"-"` // header (NB: no need to make this a pointer because MappingLabelSpecHeader is already nil-able)
	Generic *MappingLabelSpecGeneric `json:"-"` // longhand generic
}

A MappingLabelSpecifier (finally!) defines a single label. There are multiple kinds of label, so this is more complex than we'd like it to be. See the remarks about schema on custom types in `./common.go`.

+kubebuilder:validation:Type=""

func (*MappingLabelSpecifier) DeepCopy

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

func (*MappingLabelSpecifier) DeepCopyInto

func (in *MappingLabelSpecifier) DeepCopyInto(out *MappingLabelSpecifier)

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

func (MappingLabelSpecifier) MarshalJSON

func (o MappingLabelSpecifier) MarshalJSON() ([]byte, error)

MarshalJSON is important both so that we generate the proper output, and to trigger controller-gen to not try to generate jsonschema for our sub-fields: https://github.com/kubernetes-sigs/controller-tools/pull/427

func (*MappingLabelSpecifier) UnmarshalJSON

func (o *MappingLabelSpecifier) UnmarshalJSON(data []byte) error

UnmarshalJSON is MarshalJSON's other half.

type MappingLabelsArray

type MappingLabelsArray []MappingLabelSpecifier

A MappingLabelsArray is the value in the MappingLabelGroup: an array of label specifiers.

func (MappingLabelsArray) DeepCopy

func (in MappingLabelsArray) DeepCopy() MappingLabelsArray

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

func (MappingLabelsArray) DeepCopyInto

func (in MappingLabelsArray) DeepCopyInto(out *MappingLabelsArray)

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

type MappingList

type MappingList struct {
	metav1.TypeMeta `json:""`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Mapping `json:"items"`
}

MappingList contains a list of Mappings.

+kubebuilder:object:root=true

func (*MappingList) DeepCopy

func (in *MappingList) DeepCopy() *MappingList

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

func (*MappingList) DeepCopyInto

func (in *MappingList) DeepCopyInto(out *MappingList)

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

func (*MappingList) DeepCopyObject

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

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

type MappingSpec

type MappingSpec struct {
	AmbassadorID AmbassadorID `json:"ambassador_id,omitempty"`

	// +kubebuilder:validation:Required
	Prefix      string `json:"prefix,omitempty"`
	PrefixRegex *bool  `json:"prefix_regex,omitempty"`
	PrefixExact *bool  `json:"prefix_exact,omitempty"`
	// +kubebuilder:validation:Required
	Service            string                 `json:"service,omitempty"`
	AddRequestHeaders  map[string]AddedHeader `json:"add_request_headers,omitempty"`
	AddResponseHeaders map[string]AddedHeader `json:"add_response_headers,omitempty"`
	AddLinkerdHeaders  *bool                  `json:"add_linkerd_headers,omitempty"`
	AutoHostRewrite    *bool                  `json:"auto_host_rewrite,omitempty"`
	CaseSensitive      *bool                  `json:"case_sensitive,omitempty"`
	Docs               *DocsInfo              `json:"docs,omitempty"`
	EnableIPv4         *bool                  `json:"enable_ipv4,omitempty"`
	EnableIPv6         *bool                  `json:"enable_ipv6,omitempty"`
	CircuitBreakers    []*CircuitBreaker      `json:"circuit_breakers,omitempty"`
	KeepAlive          *KeepAlive             `json:"keepalive,omitempty"`
	CORS               *CORS                  `json:"cors,omitempty"`
	RetryPolicy        *RetryPolicy           `json:"retry_policy,omitempty"`
	GRPC               *bool                  `json:"grpc,omitempty"`
	HostRedirect       *bool                  `json:"host_redirect,omitempty"`
	HostRewrite        string                 `json:"host_rewrite,omitempty"`
	Method             string                 `json:"method,omitempty"`
	MethodRegex        *bool                  `json:"method_regex,omitempty"`
	OutlierDetection   string                 `json:"outlier_detection,omitempty"`
	// Path replacement to use when generating an HTTP redirect. Used with `host_redirect`.
	PathRedirect string `json:"path_redirect,omitempty"`
	// Prefix rewrite to use when generating an HTTP redirect. Used with `host_redirect`.
	PrefixRedirect string `json:"prefix_redirect,omitempty"`
	// Prefix regex rewrite to use when generating an HTTP redirect. Used with `host_redirect`.
	RegexRedirect map[string]BoolOrString `json:"regex_redirect,omitempty"`
	// The response code to use when generating an HTTP redirect. Defaults to 301. Used with
	// `host_redirect`.
	// +kubebuilder:validation:Enum={301,302,303,307,308}
	RedirectResponseCode           *int                    `json:"redirect_response_code,omitempty"`
	Priority                       string                  `json:"priority,omitempty"`
	Precedence                     *int                    `json:"precedence,omitempty"`
	ClusterTag                     string                  `json:"cluster_tag,omitempty"`
	RemoveRequestHeaders           StringOrStringList      `json:"remove_request_headers,omitempty"`
	RemoveResponseHeaders          StringOrStringList      `json:"remove_response_headers,omitempty"`
	Resolver                       string                  `json:"resolver,omitempty"`
	Rewrite                        *string                 `json:"rewrite,omitempty"`
	RegexRewrite                   map[string]BoolOrString `json:"regex_rewrite,omitempty"`
	Shadow                         *bool                   `json:"shadow,omitempty"`
	ConnectTimeoutMs               *int                    `json:"connect_timeout_ms,omitempty"`
	ClusterIdleTimeoutMs           *int                    `json:"cluster_idle_timeout_ms,omitempty"`
	ClusterMaxConnectionLifetimeMs int                     `json:"cluster_max_connection_lifetime_ms,omitempty"`
	// The timeout for requests that use this Mapping. Overrides `cluster_request_timeout_ms` set on the Ambassador Module, if it exists.
	TimeoutMs     *int          `json:"timeout_ms,omitempty"`
	IdleTimeoutMs *int          `json:"idle_timeout_ms,omitempty"`
	TLS           *BoolOrString `json:"tls,omitempty"`

	// use_websocket is deprecated, and is equivlaent to setting
	// `allow_upgrade: ["websocket"]`
	UseWebsocket *bool `json:"use_websocket,omitempty"`

	// A case-insensitive list of the non-HTTP protocols to allow
	// "upgrading" to from HTTP via the "Connection: upgrade"
	// mechanism[1].  After the upgrade, Ambassador does not
	// interpret the traffic, and behaves similarly to how it does
	// for TCPMappings.
	//
	// [1]: https://tools.ietf.org/html/rfc7230#section-6.7
	//
	// For example, if your upstream service supports WebSockets,
	// you would write
	//
	//    allow_upgrade:
	//    - websocket
	//
	// Or if your upstream service supports upgrading from HTTP to
	// SPDY (as the Kubernetes apiserver does for `kubectl exec`
	// functionality), you would write
	//
	//    allow_upgrade:
	//    - spdy/3.1
	AllowUpgrade []string `json:"allow_upgrade,omitempty"`

	Weight                *int              `json:"weight,omitempty"`
	BypassAuth            *bool             `json:"bypass_auth,omitempty"`
	AuthContextExtensions map[string]string `json:"auth_context_extensions,omitempty"`
	// If true, bypasses any `error_response_overrides` set on the Ambassador module.
	BypassErrorResponseOverrides *bool `json:"bypass_error_response_overrides,omitempty"`
	// Error response overrides for this Mapping. Replaces all of the `error_response_overrides`
	// set on the Ambassador module, if any.
	// +kubebuilder:validation:MinItems=1
	ErrorResponseOverrides []ErrorResponseOverride `json:"error_response_overrides,omitempty"`
	Modules                []UntypedDict           `json:"modules,omitempty"`
	// Exact match for the hostname of a request if HostRegex is false; regex match for the
	// hostname if HostRegex is true.
	//
	// Host specifies both a match for the ':authority' header of a request, as well as a match
	// criterion for Host CRDs: a Mapping that specifies Host will not associate with a Host that
	// doesn't have a matching Hostname.
	//
	// If both Host and Hostname are set, an error is logged, Host is ignored, and Hostname is
	// used.
	Host      string `json:"host,omitempty"`
	HostRegex *bool  `json:"host_regex,omitempty"`
	// Glob match for the hostname of a request. Ignores HostRegex.
	//
	// Hostname specifies both a match for the ':authority' header of a request, as well as a
	// match criterion for Host CRDs: a Mapping that specifies Hostname will not associate with
	// a Host that doesn't have a matching Hostname.
	//
	// If both Host and Hostname are set, an error is logged, Host is ignored, and Hostname is
	// used.
	Hostname             string                  `json:"hostname,omitempty"`
	Headers              map[string]BoolOrString `json:"headers,omitempty"`
	RegexHeaders         map[string]BoolOrString `json:"regex_headers,omitempty"`
	Labels               DomainMap               `json:"labels,omitempty"`
	EnvoyOverride        *UntypedDict            `json:"envoy_override,omitempty"`
	LoadBalancer         *LoadBalancer           `json:"load_balancer,omitempty"`
	QueryParameters      map[string]BoolOrString `json:"query_parameters,omitempty"`
	RegexQueryParameters map[string]BoolOrString `json:"regex_query_parameters,omitempty"`
	StatsName            string                  `json:"stats_name,omitempty"`
}

MappingSpec defines the desired state of Mapping

func (*MappingSpec) DeepCopy

func (in *MappingSpec) DeepCopy() *MappingSpec

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

func (*MappingSpec) DeepCopyInto

func (in *MappingSpec) DeepCopyInto(out *MappingSpec)

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

type MappingStatus

type MappingStatus struct {
	// +kubebuilder:validation:Enum={"","Inactive","Running"}
	State string `json:"state,omitempty"`

	Reason string `json:"reason,omitempty"`
}

MappingStatus defines the observed state of Mapping

func (*MappingStatus) DeepCopy

func (in *MappingStatus) DeepCopy() *MappingStatus

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

func (*MappingStatus) DeepCopyInto

func (in *MappingStatus) DeepCopyInto(out *MappingStatus)

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

type Module

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

	Spec ModuleSpec `json:"spec,omitempty"`
}

A Module defines system-wide configuration. The type of module is controlled by the .metadata.name; valid names are "ambassador" or "tls".

https://www.getambassador.io/docs/edge-stack/latest/topics/running/ambassador/#the-ambassador-module https://www.getambassador.io/docs/edge-stack/latest/topics/running/tls/#tls-module-deprecated

+kubebuilder:object:root=true

func (*Module) DeepCopy

func (in *Module) DeepCopy() *Module

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

func (*Module) DeepCopyInto

func (in *Module) DeepCopyInto(out *Module)

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

func (*Module) DeepCopyObject

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

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

type ModuleList

type ModuleList struct {
	metav1.TypeMeta `json:""`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Module `json:"items"`
}

ModuleList contains a list of Modules.

+kubebuilder:object:root=true

func (*ModuleList) DeepCopy

func (in *ModuleList) DeepCopy() *ModuleList

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

func (*ModuleList) DeepCopyInto

func (in *ModuleList) DeepCopyInto(out *ModuleList)

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

func (*ModuleList) DeepCopyObject

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

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

type ModuleSpec

type ModuleSpec struct {
	AmbassadorID AmbassadorID `json:"ambassador_id,omitempty"`

	Config UntypedDict `json:"config,omitempty"`
}

func (*ModuleSpec) DeepCopy

func (in *ModuleSpec) DeepCopy() *ModuleSpec

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

func (*ModuleSpec) DeepCopyInto

func (in *ModuleSpec) DeepCopyInto(out *ModuleSpec)

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

type PreviewURLSpec

type PreviewURLSpec struct {
	// Is the Preview URL feature enabled?
	Enabled *bool `json:"enabled,omitempty"`

	// What type of Preview URL is allowed?
	Type PreviewURLType `json:"type,omitempty"`
}

func (*PreviewURLSpec) DeepCopy

func (in *PreviewURLSpec) DeepCopy() *PreviewURLSpec

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

func (*PreviewURLSpec) DeepCopyInto

func (in *PreviewURLSpec) DeepCopyInto(out *PreviewURLSpec)

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

type PreviewURLType

type PreviewURLType string

What type of Preview URL is allowed?

  • path
  • wildcard
  • datawire // FIXME rename this before release

+kubebuilder:validation:Enum={"Path"}

type RateLimitService

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

	Spec RateLimitServiceSpec `json:"spec,omitempty"`
}

RateLimitService is the Schema for the ratelimitservices API

+kubebuilder:object:root=true

func (*RateLimitService) DeepCopy

func (in *RateLimitService) DeepCopy() *RateLimitService

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

func (*RateLimitService) DeepCopyInto

func (in *RateLimitService) DeepCopyInto(out *RateLimitService)

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

func (*RateLimitService) DeepCopyObject

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

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

type RateLimitServiceList

type RateLimitServiceList struct {
	metav1.TypeMeta `json:""`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []RateLimitService `json:"items"`
}

RateLimitServiceList contains a list of RateLimitServices.

+kubebuilder:object:root=true

func (*RateLimitServiceList) DeepCopy

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

func (*RateLimitServiceList) DeepCopyInto

func (in *RateLimitServiceList) DeepCopyInto(out *RateLimitServiceList)

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

func (*RateLimitServiceList) DeepCopyObject

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

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

type RateLimitServiceSpec

type RateLimitServiceSpec struct {
	// Common to all Ambassador objects.
	AmbassadorID AmbassadorID `json:"ambassador_id,omitempty"`

	// +kubebuilder:validation:Required
	Service   string        `json:"service,omitempty"`
	TimeoutMs *int          `json:"timeout_ms,omitempty"`
	Domain    string        `json:"domain,omitempty"`
	TLS       *BoolOrString `json:"tls,omitempty"`
	// +kubebuilder:validation:Enum={"v2","v3"}
	ProtocolVersion string `json:"protocol_version,omitempty"`
	StatsName       string `json:"stats_name,omitempty"`
}

RateLimitServiceSpec defines the desired state of RateLimitService

func (*RateLimitServiceSpec) DeepCopy

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

func (*RateLimitServiceSpec) DeepCopyInto

func (in *RateLimitServiceSpec) DeepCopyInto(out *RateLimitServiceSpec)

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

type RequestPolicy

type RequestPolicy struct {
	Insecure InsecureRequestPolicy `json:"insecure,omitempty"`
}

func (*RequestPolicy) DeepCopy

func (in *RequestPolicy) DeepCopy() *RequestPolicy

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

func (*RequestPolicy) DeepCopyInto

func (in *RequestPolicy) DeepCopyInto(out *RequestPolicy)

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

type RetryPolicy

type RetryPolicy struct {
	// +kubebuilder:validation:Enum={"5xx","gateway-error","connect-failure","retriable-4xx","refused-stream","retriable-status-codes"}
	RetryOn       string `json:"retry_on,omitempty"`
	NumRetries    *int   `json:"num_retries,omitempty"`
	PerTryTimeout string `json:"per_try_timeout,omitempty"`
}

func (*RetryPolicy) DeepCopy

func (in *RetryPolicy) DeepCopy() *RetryPolicy

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

func (*RetryPolicy) DeepCopyInto

func (in *RetryPolicy) DeepCopyInto(out *RetryPolicy)

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

type StringOrStringList

type StringOrStringList []string

StringOrStringList is just what it says on the tin, but note that it will always marshal as a list of strings right now. +kubebuilder:validation:Type="d6e-union:string,array"

func (StringOrStringList) DeepCopy

func (in StringOrStringList) DeepCopy() StringOrStringList

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

func (StringOrStringList) DeepCopyInto

func (in StringOrStringList) DeepCopyInto(out *StringOrStringList)

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

func (*StringOrStringList) UnmarshalJSON

func (sl *StringOrStringList) UnmarshalJSON(data []byte) error

type TCPMapping

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

	Spec TCPMappingSpec `json:"spec,omitempty"`
}

TCPMapping is the Schema for the tcpmappings API

+kubebuilder:object:root=true

func (*TCPMapping) DeepCopy

func (in *TCPMapping) DeepCopy() *TCPMapping

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

func (*TCPMapping) DeepCopyInto

func (in *TCPMapping) DeepCopyInto(out *TCPMapping)

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

func (*TCPMapping) DeepCopyObject

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

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

type TCPMappingList

type TCPMappingList struct {
	metav1.TypeMeta `json:""`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []TCPMapping `json:"items"`
}

TCPMappingList contains a list of TCPMappings.

+kubebuilder:object:root=true

func (*TCPMappingList) DeepCopy

func (in *TCPMappingList) DeepCopy() *TCPMappingList

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

func (*TCPMappingList) DeepCopyInto

func (in *TCPMappingList) DeepCopyInto(out *TCPMappingList)

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

func (*TCPMappingList) DeepCopyObject

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

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

type TCPMappingSpec

type TCPMappingSpec struct {
	AmbassadorID AmbassadorID `json:"ambassador_id,omitempty"`

	// Port isn't a pointer because it's required.
	// +kubebuilder:validation:Required
	Port    int    `json:"port,omitempty"`
	Host    string `json:"host,omitempty"`
	Address string `json:"address,omitempty"`
	// +kubebuilder:validation:Required
	Service         string           `json:"service,omitempty"`
	EnableIPv4      *bool            `json:"enable_ipv4,omitempty"`
	EnableIPv6      *bool            `json:"enable_ipv6,omitempty"`
	CircuitBreakers []CircuitBreaker `json:"circuit_breakers,omitempty"`

	// FIXME(lukeshu): Surely this should be an 'int'?
	IdleTimeoutMs string `json:"idle_timeout_ms,omitempty"`

	Resolver   string        `json:"resolver,omitempty"`
	TLS        *BoolOrString `json:"tls,omitempty"`
	Weight     *int          `json:"weight,omitempty"`
	ClusterTag string        `json:"cluster_tag,omitempty"`
	StatsName  string        `json:"stats_name,omitempty"`
}

TCPMappingSpec defines the desired state of TCPMapping

func (*TCPMappingSpec) DeepCopy

func (in *TCPMappingSpec) DeepCopy() *TCPMappingSpec

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

func (*TCPMappingSpec) DeepCopyInto

func (in *TCPMappingSpec) DeepCopyInto(out *TCPMappingSpec)

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

type TLSConfig

type TLSConfig struct {
	CertChainFile         string   `json:"cert_chain_file,omitempty"`
	PrivateKeyFile        string   `json:"private_key_file,omitempty"`
	CASecret              string   `json:"ca_secret,omitempty"`
	CAcertChainFile       string   `json:"cacert_chain_file,omitempty"`
	AlpnProtocols         string   `json:"alpn_protocols,omitempty"`
	CertRequired          *bool    `json:"cert_required,omitempty"`
	MinTLSVersion         string   `json:"min_tls_version,omitempty"`
	MaxTLSVersion         string   `json:"max_tls_version,omitempty"`
	CipherSuites          []string `json:"cipher_suites,omitempty"`
	ECDHCurves            []string `json:"ecdh_curves,omitempty"`
	RedirectCleartextFrom *int     `json:"redirect_cleartext_from,omitempty"`
	SNI                   string   `json:"sni,omitempty"`
}

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 TLSContext

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

	Spec TLSContextSpec `json:"spec,omitempty"`
}

TLSContext is the Schema for the tlscontexts API

+kubebuilder:object:root=true

func (*TLSContext) DeepCopy

func (in *TLSContext) DeepCopy() *TLSContext

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

func (*TLSContext) DeepCopyInto

func (in *TLSContext) DeepCopyInto(out *TLSContext)

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

func (*TLSContext) DeepCopyObject

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

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

type TLSContextList

type TLSContextList struct {
	metav1.TypeMeta `json:""`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []TLSContext `json:"items"`
}

TLSContextList contains a list of TLSContexts.

+kubebuilder:object:root=true

func (*TLSContextList) DeepCopy

func (in *TLSContextList) DeepCopy() *TLSContextList

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

func (*TLSContextList) DeepCopyInto

func (in *TLSContextList) DeepCopyInto(out *TLSContextList)

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

func (*TLSContextList) DeepCopyObject

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

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

type TLSContextSpec

type TLSContextSpec struct {
	AmbassadorID AmbassadorID `json:"ambassador_id,omitempty"`

	Hosts           []string `json:"hosts,omitempty"`
	Secret          string   `json:"secret,omitempty"`
	CertChainFile   string   `json:"cert_chain_file,omitempty"`
	PrivateKeyFile  string   `json:"private_key_file,omitempty"`
	CASecret        string   `json:"ca_secret,omitempty"`
	CACertChainFile string   `json:"cacert_chain_file,omitempty"`
	ALPNProtocols   string   `json:"alpn_protocols,omitempty"`
	CertRequired    *bool    `json:"cert_required,omitempty"`
	// +kubebuilder:validation:Enum={"v1.0", "v1.1", "v1.2", "v1.3"}
	MinTLSVersion string `json:"min_tls_version,omitempty"`
	// +kubebuilder:validation:Enum={"v1.0", "v1.1", "v1.2", "v1.3"}
	MaxTLSVersion         string   `json:"max_tls_version,omitempty"`
	CipherSuites          []string `json:"cipher_suites,omitempty"`
	ECDHCurves            []string `json:"ecdh_curves,omitempty"`
	SecretNamespacing     *bool    `json:"secret_namespacing,omitempty"`
	RedirectCleartextFrom *int     `json:"redirect_cleartext_from,omitempty"`
	SNI                   string   `json:"sni,omitempty"`
}

TLSContextSpec defines the desired state of TLSContext

func (*TLSContextSpec) DeepCopy

func (in *TLSContextSpec) DeepCopy() *TLSContextSpec

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

func (*TLSContextSpec) DeepCopyInto

func (in *TLSContextSpec) DeepCopyInto(out *TLSContextSpec)

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

type TraceConfig

type TraceConfig struct {
	AccessTokenFile   string `json:"access_token_file,omitempty"`
	CollectorCluster  string `json:"collector_cluster,omitempty"`
	CollectorEndpoint string `json:"collector_endpoint,omitempty"`
	// +kubebuilder:validation:Enum=HTTP_JSON_V1;HTTP_JSON;HTTP_PROTO
	CollectorEndpointVersion string `json:"collector_endpoint_version,omitempty"`
	CollectorHostname        string `json:"collector_hostname,omitempty"`
	TraceID128Bit            *bool  `json:"trace_id_128bit,omitempty"`
	SharedSpanContext        *bool  `json:"shared_span_context,omitempty"`
	ServiceName              string `json:"service_name,omitempty"`
}

func (*TraceConfig) DeepCopy

func (in *TraceConfig) DeepCopy() *TraceConfig

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

func (*TraceConfig) DeepCopyInto

func (in *TraceConfig) DeepCopyInto(out *TraceConfig)

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

type TraceSampling

type TraceSampling struct {
	Client  *int `json:"client,omitempty"`
	Random  *int `json:"random,omitempty"`
	Overall *int `json:"overall,omitempty"`
}

func (*TraceSampling) DeepCopy

func (in *TraceSampling) DeepCopy() *TraceSampling

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

func (*TraceSampling) DeepCopyInto

func (in *TraceSampling) DeepCopyInto(out *TraceSampling)

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

type TracingService

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

	Spec TracingServiceSpec `json:"spec,omitempty"`
}

TracingService is the Schema for the tracingservices API

+kubebuilder:object:root=true

func (*TracingService) DeepCopy

func (in *TracingService) DeepCopy() *TracingService

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

func (*TracingService) DeepCopyInto

func (in *TracingService) DeepCopyInto(out *TracingService)

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

func (*TracingService) DeepCopyObject

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

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

type TracingServiceList

type TracingServiceList struct {
	metav1.TypeMeta `json:""`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []TracingService `json:"items"`
}

TracingServiceList contains a list of TracingServices.

+kubebuilder:object:root=true

func (*TracingServiceList) DeepCopy

func (in *TracingServiceList) DeepCopy() *TracingServiceList

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

func (*TracingServiceList) DeepCopyInto

func (in *TracingServiceList) DeepCopyInto(out *TracingServiceList)

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

func (*TracingServiceList) DeepCopyObject

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

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

type TracingServiceSpec

type TracingServiceSpec struct {
	AmbassadorID AmbassadorID `json:"ambassador_id,omitempty"`

	// +kubebuilder:validation:Enum={"lightstep","zipkin","datadog"}
	// +kubebuilder:validation:Required
	Driver string `json:"driver,omitempty"`
	// +kubebuilder:validation:Required
	Service    string         `json:"service,omitempty"`
	Sampling   *TraceSampling `json:"sampling,omitempty"`
	TagHeaders []string       `json:"tag_headers,omitempty"`
	Config     *TraceConfig   `json:"config,omitempty"`
	StatsName  string         `json:"stats_name,omitempty"`
}

TracingServiceSpec defines the desired state of TracingService

func (*TracingServiceSpec) DeepCopy

func (in *TracingServiceSpec) DeepCopy() *TracingServiceSpec

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

func (*TracingServiceSpec) DeepCopyInto

func (in *TracingServiceSpec) DeepCopyInto(out *TracingServiceSpec)

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

type UntypedDict

type UntypedDict struct {
	Values map[string]UntypedValue `json:"-"`
}

UntypedDict is relatively opaque as a Go type, but it preserves its contents in a roundtrippable way. +kubebuilder:validation:Type="object"

func (*UntypedDict) DeepCopy

func (in *UntypedDict) DeepCopy() *UntypedDict

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

func (*UntypedDict) DeepCopyInto

func (in *UntypedDict) DeepCopyInto(out *UntypedDict)

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

func (UntypedDict) MarshalJSON

func (u UntypedDict) MarshalJSON() ([]byte, error)

func (*UntypedDict) UnmarshalJSON

func (u *UntypedDict) UnmarshalJSON(data []byte) error

type UntypedValue

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

func (*UntypedValue) DeepCopy

func (in *UntypedValue) DeepCopy() *UntypedValue

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

func (*UntypedValue) DeepCopyInto

func (in *UntypedValue) DeepCopyInto(out *UntypedValue)

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

func (UntypedValue) MarshalJSON

func (u UntypedValue) MarshalJSON() ([]byte, error)

func (*UntypedValue) UnmarshalJSON

func (u *UntypedValue) UnmarshalJSON(data []byte) error

Jump to

Keyboard shortcuts

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