v2

package
v1.12.3-rc.4 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2021 License: Apache-2.0 Imports: 7 Imported by: 6

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 added in v1.6.0

func (in *ACMEProviderSpec) DeepCopy() *ACMEProviderSpec

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

func (*ACMEProviderSpec) DeepCopyInto added in v1.6.0

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 added in v1.6.0

type AddedHeader struct {
	String *string
	Bool   *bool
	Object *UntypedDict
}

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

func (*AddedHeader) DeepCopy added in v1.6.0

func (in *AddedHeader) DeepCopy() *AddedHeader

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

func (*AddedHeader) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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 added in v1.6.0

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

type AdditionalLogHeaders added in v1.6.0

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 added in v1.6.0

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

func (*AdditionalLogHeaders) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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 added in v1.6.0

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

func (*AmbassadorConfigSpec) DeepCopyInto added in v1.6.0

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 added in v1.6.0

type AmbassadorConfigStatus struct {
}

AmbassadorConfigStatus defines the observed state of AmbassadorConfig

func (*AmbassadorConfigStatus) DeepCopy added in v1.6.0

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

func (*AmbassadorConfigStatus) DeepCopyInto added in v1.6.0

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 added in v1.6.0

type AmbassadorID []string

AmbassadorID declares which Ambassador instances should pay attention to this resource. May either be a string or a list of strings. If no value is provided, the default is:

ambassador_id:
- "default"

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

func (AmbassadorID) DeepCopy added in v1.6.0

func (in AmbassadorID) DeepCopy() AmbassadorID

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

func (AmbassadorID) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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

type AuthService added in v1.6.0

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 added in v1.6.0

func (in *AuthService) DeepCopy() *AuthService

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

func (*AuthService) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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

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

type AuthServiceIncludeBody added in v1.6.0

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 added in v1.6.0

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

func (*AuthServiceIncludeBody) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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 added in v1.6.0

func (in *AuthServiceList) DeepCopy() *AuthServiceList

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

func (*AuthServiceList) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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

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

type AuthServiceSpec added in v1.6.0

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","v2alpha"}
	ProtocolVersion string `json:"protocol_version,omitempty"`
}

AuthServiceSpec defines the desired state of AuthService

func (*AuthServiceSpec) DeepCopy added in v1.6.0

func (in *AuthServiceSpec) DeepCopy() *AuthServiceSpec

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

func (*AuthServiceSpec) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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

Why isn't this just an int??

func (*AuthServiceStatusOnError) DeepCopy added in v1.6.0

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

func (*AuthServiceStatusOnError) DeepCopyInto added in v1.6.0

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 added in v1.6.0

type BoolOrString struct {
	String *string
	Bool   *bool
}

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

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

func (*BoolOrString) DeepCopy added in v1.6.0

func (in *BoolOrString) DeepCopy() *BoolOrString

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

func (*BoolOrString) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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 added in v1.6.0

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

type CORS added in v1.6.0

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 added in v1.6.0

func (in *CORS) DeepCopy() *CORS

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

func (*CORS) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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 added in v1.6.0

func (in *CircuitBreaker) DeepCopy() *CircuitBreaker

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

func (*CircuitBreaker) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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 added in v1.6.0

func (in *ConsulResolver) DeepCopy() *ConsulResolver

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

func (*ConsulResolver) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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

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

type ConsulResolverList added in v1.6.0

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 added in v1.6.0

func (in *ConsulResolverList) DeepCopy() *ConsulResolverList

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

func (*ConsulResolverList) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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

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

type ConsulResolverSpec added in v1.6.0

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 added in v1.6.0

func (in *ConsulResolverSpec) DeepCopy() *ConsulResolverSpec

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

func (*ConsulResolverSpec) DeepCopyInto added in v1.6.0

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 added in v1.9.0

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 added in v1.9.0

func (in *DevPortal) DeepCopy() *DevPortal

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

func (*DevPortal) DeepCopyInto added in v1.9.0

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 added in v1.9.0

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

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

type DevPortalContentSpec added in v1.9.0

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 added in v1.9.0

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

func (*DevPortalContentSpec) DeepCopyInto added in v1.9.0

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 added in v1.9.0

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 added in v1.9.0

func (in *DevPortalDocsSpec) DeepCopy() *DevPortalDocsSpec

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

func (*DevPortalDocsSpec) DeepCopyInto added in v1.9.0

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 added in v1.9.0

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 added in v1.9.0

func (in *DevPortalList) DeepCopy() *DevPortalList

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

func (*DevPortalList) DeepCopyInto added in v1.9.0

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 added in v1.9.0

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

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

type DevPortalSelectorSpec added in v1.9.0

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 added in v1.9.0

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

func (*DevPortalSelectorSpec) DeepCopyInto added in v1.9.0

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 added in v1.9.0

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"`
}

DevPortalSpec defines the desired state of DevPortal

func (*DevPortalSpec) DeepCopy added in v1.9.0

func (in *DevPortalSpec) DeepCopy() *DevPortalSpec

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

func (*DevPortalSpec) DeepCopyInto added in v1.9.0

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 added in v1.9.0

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

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

func (*DocsInfo) DeepCopy added in v1.9.0

func (in *DocsInfo) DeepCopy() *DocsInfo

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

func (*DocsInfo) DeepCopyInto added in v1.9.0

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 added in v1.7.0

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 added in v1.7.0

func (in DomainMap) DeepCopy() DomainMap

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

func (DomainMap) DeepCopyInto added in v1.7.0

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 added in v1.6.0

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

func (*DriverConfig) DeepCopy added in v1.6.0

func (in *DriverConfig) DeepCopy() *DriverConfig

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

func (*DriverConfig) DeepCopyInto added in v1.6.0

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 added in v1.9.0

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 added in v1.9.0

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

func (*ErrorResponseOverride) DeepCopyInto added in v1.9.0

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 added in v1.9.0

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 added in v1.9.0

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

func (*ErrorResponseOverrideBody) DeepCopyInto added in v1.9.0

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

type ErrorResponseTextFormatSource added in v1.9.0

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 added in v1.9.0

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

func (*ErrorResponseTextFormatSource) DeepCopyInto added in v1.9.0

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

type Features added in v1.6.0

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 added in v1.6.0

func (in *Features) DeepCopy() *Features

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

func (*Features) DeepCopyInto added in v1.6.0

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 added in v1.6.0

func (in *Host) DeepCopy() *Host

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

func (*Host) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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

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

type HostList added in v1.6.0

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 added in v1.6.0

func (in *HostList) DeepCopy() *HostList

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

func (*HostList) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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 added in v1.6.0

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

func (HostPhase) String

func (o HostPhase) String() string

func (*HostPhase) UnmarshalJSON added in v1.6.0

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. Defaults to hostname=$hostname
	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 added in v1.6.0

func (in *HostSpec) DeepCopy() *HostSpec

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

func (*HostSpec) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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

func (HostState) String

func (o HostState) String() string

func (*HostState) UnmarshalJSON added in v1.6.0

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 added in v1.6.0

func (in *HostStatus) DeepCopy() *HostStatus

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

func (*HostStatus) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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

func (*InsecureRequestPolicy) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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

func (*KeepAlive) DeepCopy added in v1.6.0

func (in *KeepAlive) DeepCopy() *KeepAlive

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

func (*KeepAlive) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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 added in v1.6.0

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

func (*KubernetesEndpointResolver) DeepCopyInto added in v1.6.0

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

func (*KubernetesEndpointResolver) DeepCopyObject added in v1.6.0

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

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

type KubernetesEndpointResolverList added in v1.6.0

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 added in v1.6.0

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

func (*KubernetesEndpointResolverList) DeepCopyInto added in v1.6.0

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

func (*KubernetesEndpointResolverList) DeepCopyObject added in v1.6.0

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

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

type KubernetesEndpointResolverSpec added in v1.6.0

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 added in v1.6.0

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

func (*KubernetesEndpointResolverSpec) DeepCopyInto added in v1.6.0

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

type KubernetesServiceResolver added in v1.6.0

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 added in v1.6.0

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

func (*KubernetesServiceResolver) DeepCopyInto added in v1.6.0

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

func (*KubernetesServiceResolver) DeepCopyObject added in v1.6.0

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

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

type KubernetesServiceResolverList added in v1.6.0

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 added in v1.6.0

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

func (*KubernetesServiceResolverList) DeepCopyInto added in v1.6.0

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

func (*KubernetesServiceResolverList) DeepCopyObject added in v1.6.0

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

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

type KubernetesServiceResolverSpec added in v1.6.0

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 added in v1.6.0

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

func (*KubernetesServiceResolverSpec) DeepCopyInto added in v1.6.0

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

type LoadBalancer added in v1.6.0

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 added in v1.6.0

func (in *LoadBalancer) DeepCopy() *LoadBalancer

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

func (*LoadBalancer) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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

func (*LoadBalancerCookie) DeepCopy added in v1.6.0

func (in *LoadBalancerCookie) DeepCopy() *LoadBalancerCookie

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

func (*LoadBalancerCookie) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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 added in v1.6.0

func (in *LogService) DeepCopy() *LogService

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

func (*LogService) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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

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

type LogServiceList added in v1.6.0

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 added in v1.6.0

func (in *LogServiceList) DeepCopy() *LogServiceList

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

func (*LogServiceList) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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

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

type LogServiceSpec added in v1.6.0

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"`
}

LogServiceSpec defines the desired state of LogService

func (*LogServiceSpec) DeepCopy added in v1.6.0

func (in *LogServiceSpec) DeepCopy() *LogServiceSpec

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

func (*LogServiceSpec) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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="Prefix",type=string,JSONPath=`.spec.prefix` +kubebuilder:printcolumn:name="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 added in v1.6.0

func (in *Mapping) DeepCopy() *Mapping

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

func (*Mapping) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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

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

type MappingLabelGroup added in v1.11.0

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 added in v1.11.0

func (in MappingLabelGroup) DeepCopy() MappingLabelGroup

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

func (MappingLabelGroup) DeepCopyInto added in v1.11.0

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 added in v1.11.0

type MappingLabelGroupsArray []MappingLabelGroup

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

func (MappingLabelGroupsArray) DeepCopy added in v1.11.0

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

func (MappingLabelGroupsArray) DeepCopyInto added in v1.11.0

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 added in v1.11.0

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 added in v1.11.0

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

func (*MappingLabelSpecGeneric) DeepCopyInto added in v1.11.0

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 added in v1.11.0

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 added in v1.11.0

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

func (MappingLabelSpecHeader) DeepCopyInto added in v1.11.0

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 added in v1.11.2

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 added in v1.11.2

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

func (*MappingLabelSpecHeaderStruct) DeepCopyInto added in v1.11.2

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

type MappingLabelSpecifier added in v1.11.0

type MappingLabelSpecifier struct {
	String  *string                  // source-cluster, destination-cluster, remote-address, or shorthand generic
	Header  MappingLabelSpecHeader   // header (NB: no need to make this a pointer because MappingLabelSpecHeader is already nil-able)
	Generic *MappingLabelSpecGeneric // 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 added in v1.11.0

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

func (*MappingLabelSpecifier) DeepCopyInto added in v1.11.0

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 added in v1.11.0

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 added in v1.11.0

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

UnmarshalJSON is MarshalJSON's other half.

type MappingLabelsArray added in v1.7.0

type MappingLabelsArray []MappingLabelSpecifier

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

func (MappingLabelsArray) DeepCopy added in v1.7.0

func (in MappingLabelsArray) DeepCopy() MappingLabelsArray

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

func (MappingLabelsArray) DeepCopyInto added in v1.7.0

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 added in v1.6.0

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 added in v1.6.0

func (in *MappingList) DeepCopy() *MappingList

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

func (*MappingList) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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

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

type MappingSpec added in v1.6.0

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"`
	// 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"`
	Host                   string                  `json:"host,omitempty"`
	HostRegex              *bool                   `json:"host_regex,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"`
}

MappingSpec defines the desired state of Mapping

func (*MappingSpec) DeepCopy added in v1.6.0

func (in *MappingSpec) DeepCopy() *MappingSpec

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

func (*MappingSpec) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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 added in v1.6.0

func (in *MappingStatus) DeepCopy() *MappingStatus

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

func (*MappingStatus) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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/latest/topics/running/ambassador/#the-ambassador-module https://www.getambassador.io/docs/latest/topics/running/tls/#tls-module-deprecated

+kubebuilder:object:root=true

func (*Module) DeepCopy added in v1.6.0

func (in *Module) DeepCopy() *Module

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

func (*Module) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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

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

type ModuleList added in v1.6.0

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 added in v1.6.0

func (in *ModuleList) DeepCopy() *ModuleList

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

func (*ModuleList) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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

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

type ModuleSpec added in v1.6.0

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

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

func (*ModuleSpec) DeepCopy added in v1.6.0

func (in *ModuleSpec) DeepCopy() *ModuleSpec

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

func (*ModuleSpec) DeepCopyInto added in v1.6.0

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 added in v1.5.0

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 added in v1.6.0

func (in *PreviewURLSpec) DeepCopy() *PreviewURLSpec

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

func (*PreviewURLSpec) DeepCopyInto added in v1.6.0

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 added in v1.5.0

type PreviewURLType string

What type of Preview URL is allowed?

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

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

type RateLimitService added in v1.6.0

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 added in v1.6.0

func (in *RateLimitService) DeepCopy() *RateLimitService

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

func (*RateLimitService) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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

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

type RateLimitServiceList added in v1.6.0

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 added in v1.6.0

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

func (*RateLimitServiceList) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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

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

type RateLimitServiceSpec added in v1.6.0

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","v2alpha"}
	ProtocolVersion string `json:"protocol_version,omitempty"`
}

RateLimitServiceSpec defines the desired state of RateLimitService

func (*RateLimitServiceSpec) DeepCopy added in v1.6.0

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

func (*RateLimitServiceSpec) DeepCopyInto added in v1.6.0

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 added in v1.6.0

func (in *RequestPolicy) DeepCopy() *RequestPolicy

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

func (*RequestPolicy) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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 added in v1.6.0

func (in *RetryPolicy) DeepCopy() *RetryPolicy

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

func (*RetryPolicy) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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 added in v1.6.0

func (in StringOrStringList) DeepCopy() StringOrStringList

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

func (StringOrStringList) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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

type TCPMapping added in v1.6.0

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 added in v1.6.0

func (in *TCPMapping) DeepCopy() *TCPMapping

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

func (*TCPMapping) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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

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

type TCPMappingList added in v1.6.0

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 added in v1.6.0

func (in *TCPMappingList) DeepCopy() *TCPMappingList

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

func (*TCPMappingList) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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

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

type TCPMappingSpec added in v1.6.0

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"`
}

TCPMappingSpec defines the desired state of TCPMapping

func (*TCPMappingSpec) DeepCopy added in v1.6.0

func (in *TCPMappingSpec) DeepCopy() *TCPMappingSpec

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

func (*TCPMappingSpec) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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 added in v1.6.0

func (in *TLSConfig) DeepCopy() *TLSConfig

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

func (*TLSConfig) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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 added in v1.6.0

func (in *TLSContext) DeepCopy() *TLSContext

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

func (*TLSContext) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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

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

type TLSContextList added in v1.6.0

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 added in v1.6.0

func (in *TLSContextList) DeepCopy() *TLSContextList

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

func (*TLSContextList) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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

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

type TLSContextSpec added in v1.6.0

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 added in v1.6.0

func (in *TLSContextSpec) DeepCopy() *TLSContextSpec

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

func (*TLSContextSpec) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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 added in v1.6.0

func (in *TraceConfig) DeepCopy() *TraceConfig

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

func (*TraceConfig) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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

func (*TraceSampling) DeepCopy added in v1.6.0

func (in *TraceSampling) DeepCopy() *TraceSampling

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

func (*TraceSampling) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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 added in v1.6.0

func (in *TracingService) DeepCopy() *TracingService

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

func (*TracingService) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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

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

type TracingServiceList added in v1.6.0

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 added in v1.6.0

func (in *TracingServiceList) DeepCopy() *TracingServiceList

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

func (*TracingServiceList) DeepCopyInto added in v1.6.0

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 added in v1.6.0

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

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

type TracingServiceSpec added in v1.6.0

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"`
}

TracingServiceSpec defines the desired state of TracingService

func (*TracingServiceSpec) DeepCopy added in v1.6.0

func (in *TracingServiceSpec) DeepCopy() *TracingServiceSpec

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

func (*TracingServiceSpec) DeepCopyInto added in v1.6.0

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 added in v1.6.0

type UntypedDict struct {
	Values map[string]UntypedValue
}

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

func (*UntypedDict) DeepCopy added in v1.6.0

func (in *UntypedDict) DeepCopy() *UntypedDict

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

func (*UntypedDict) DeepCopyInto added in v1.6.0

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 added in v1.7.0

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

func (*UntypedDict) UnmarshalJSON added in v1.7.0

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

type UntypedValue added in v1.7.0

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

func (*UntypedValue) DeepCopy added in v1.7.0

func (in *UntypedValue) DeepCopy() *UntypedValue

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

func (*UntypedValue) DeepCopyInto added in v1.7.0

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 added in v1.7.0

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

func (*UntypedValue) UnmarshalJSON added in v1.7.0

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