Documentation ¶
Overview ¶
Package v3alpha1 is the v3alpha1 version of the API.
Index ¶
- Constants
- Variables
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type ACMEProviderSpec
- type AddedHeader
- type AmbassadorID
- type CORS
- type CircuitBreaker
- type ConsulResolver
- type ConsulResolverList
- type ConsulResolverSpec
- type DocsInfo
- type DomainMap
- type ErrorResponseOverride
- type ErrorResponseOverrideBody
- type ErrorResponseTextFormatSource
- type GRPCHealthCheck
- type HTTPHealthCheck
- type HealthCheck
- type HealthCheckLocation
- type Host
- type HostBindingType
- type HostList
- type HostPhase
- type HostSpec
- type HostState
- type HostStatus
- type HostTLSCertificateSource
- type InsecureRequestPolicy
- type KeepAlive
- type KubernetesEndpointResolver
- type KubernetesEndpointResolverList
- type KubernetesEndpointResolverSpec
- type KubernetesServiceResolver
- type KubernetesServiceResolverList
- type KubernetesServiceResolverSpec
- type Listener
- type ListenerList
- type ListenerSpec
- type LoadBalancer
- type LoadBalancerCookie
- type Mapping
- type MappingLabelGroup
- type MappingLabelGroupsArray
- type MappingLabelSpecifier
- type MappingLabelSpecifier_DestinationCluster
- type MappingLabelSpecifier_GenericKey
- type MappingLabelSpecifier_RemoteAddress
- type MappingLabelSpecifier_RequestHeaders
- type MappingLabelSpecifier_SourceCluster
- type MappingLabelsArray
- type MappingList
- type MappingSpec
- type MappingStatus
- type MillisecondDuration
- type NamespaceBindingType
- type NamespaceFromType
- type PreviewURLSpec
- type PreviewURLType
- type ProtocolStackElement
- type ProtocolType
- type RegexMap
- type RequestPolicy
- type RetryPolicy
- type SecondDuration
- type SecurityModelType
- type StatusRange
- type TCPMapping
- type TCPMappingList
- type TCPMappingSpec
- type TLSConfig
- type TLSContext
- type TLSContextList
- type TLSContextSpec
- type UntypedDict
- type V2ExplicitTLS
Constants ¶
const ( HostState_Initial = HostState(iota) HostState_Pending HostState_Ready HostState_Error )
const ( HostPhase_NA = HostPhase(iota) HostPhase_DefaultsFilled HostPhase_ACMEUserPrivateKeyCreated HostPhase_ACMEUserRegistered HostPhase_ACMECertificateChallenge )
const ( HostTLSCertificateSource_Unknown = "Unknown" HostTLSCertificateSource_None = "None" HostTLSCertificateSource_Other = "Other" HostTLSCertificateSource_ACME = "ACME" )
const (
PreviewURLType_Path = "Path"
)
Variables ¶
var ( // SchemeBuilder initializes a scheme builder. SchemeBuilder runtime.SchemeBuilder // AddToScheme is a global function that registers this API group & version to a scheme AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{
Group: "getambassador.io",
Version: "v3alpha1",
}
SchemeGroupVersion is group version used to register these objects. Define your schema name and the version.
Functions ¶
func Kind ¶
Kind takes an unqualified kind and returns back a Group qualified GroupKind TBD - What is this?
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource TBD - What is this?
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 { Value string `json:"value,omitempty"` Append *bool `json:"append,omitempty"` // +kubebuilder:validation:Enum={"","string","null"} V2Representation string `json:"v2Representation,omitempty"` }
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.
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"
TODO(lukeshu): In v3alpha2, consider renaming all of the `ambassador_id` (singular) fields to `ambassador_ids` (plural).
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) Matches ¶
func (aid AmbassadorID) Matches(envVar string) bool
type CORS ¶
type CORS struct { // +k8s:conversion-gen=false Origins []string `json:"origins,omitempty"` Methods []string `json:"methods,omitempty"` Headers []string `json:"headers,omitempty"` Credentials *bool `json:"credentials,omitempty"` ExposedHeaders []string `json:"exposed_headers,omitempty"` MaxAge string `json:"max_age,omitempty"` V2CommaSeparatedOrigins bool `json:"v2CommaSeparatedOrigins,omitempty"` }
func (*CORS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CORS.
func (*CORS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type 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.
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.
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 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"` Timeout *MillisecondDuration `json:"timeout_ms,omitempty"` }
DocsInfo provides some extra information about the docs for the Mapping. Docs is used by both the agent and the DevPortal.
func (*DocsInfo) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DocsInfo.
func (*DocsInfo) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainMap.
func (DomainMap) DeepCopyInto ¶
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 ¶
func (in *ErrorResponseOverride) DeepCopy() *ErrorResponseOverride
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 ¶
func (in *ErrorResponseOverrideBody) DeepCopy() *ErrorResponseOverrideBody
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ErrorResponseOverrideBody.
func (*ErrorResponseOverrideBody) DeepCopyInto ¶
func (in *ErrorResponseOverrideBody) DeepCopyInto(out *ErrorResponseOverrideBody)
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 ¶
func (in *ErrorResponseTextFormatSource) DeepCopy() *ErrorResponseTextFormatSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ErrorResponseTextFormatSource.
func (*ErrorResponseTextFormatSource) DeepCopyInto ¶
func (in *ErrorResponseTextFormatSource) DeepCopyInto(out *ErrorResponseTextFormatSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GRPCHealthCheck ¶
type GRPCHealthCheck struct { // The upstream name parameter which will be sent to gRPC service in the health check message // +kubebuilder:validation:Required UpstreamName string `json:"upstream_name,omitempty"` // The value of the :authority header in the gRPC health check request. If left empty the upstream name will be used. Authority string `json:"authority,omitempty"` }
HealthCheck for gRPC upstreams. Only one of grpc_health_check or http_health_check may be specified
func (*GRPCHealthCheck) DeepCopy ¶
func (in *GRPCHealthCheck) DeepCopy() *GRPCHealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCHealthCheck.
func (*GRPCHealthCheck) DeepCopyInto ¶
func (in *GRPCHealthCheck) DeepCopyInto(out *GRPCHealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPHealthCheck ¶
type HTTPHealthCheck struct { // +kubebuilder:validation:Required Path string `json:"path,omitempty"` Host string `json:"hostname,omitempty"` AddRequestHeaders map[string]AddedHeader `json:"add_request_headers,omitempty"` RemoveRequestHeaders []string `json:"remove_request_headers,omitempty"` ExpectedStatuses []StatusRange `json:"expected_statuses,omitempty"` }
HealthCheck for HTTP upstreams. Only one of http_health_check or grpc_health_check may be specified
func (*HTTPHealthCheck) DeepCopy ¶
func (in *HTTPHealthCheck) DeepCopy() *HTTPHealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPHealthCheck.
func (*HTTPHealthCheck) DeepCopyInto ¶
func (in *HTTPHealthCheck) DeepCopyInto(out *HTTPHealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthCheck ¶
type HealthCheck struct { // Timeout for connecting to the health checking endpoint. Defaults to 3 seconds. Timeout *metav1.Duration `json:"timeout,omitempty"` // Interval between health checks. Defaults to every 5 seconds. Interval *metav1.Duration `json:"interval,omitempty"` // Number of non-expected responses for the upstream to be considered unhealthy. A single 503 will mark the upstream as unhealthy regardless of the threshold. Defaults to 2. UnhealthyThreshold *int `json:"unhealthy_threshold,omitempty"` // Number of expected responses for the upstream to be considered healthy. Defaults to 1. HealthyThreshold *int `json:"healthy_threshold,omitempty"` // Configuration for where the healthcheck request should be made to // +kubebuilder:validation:Required HealthCheckLocation HealthCheckLocation `json:"health_check,omitempty"` }
HealthCheck specifies settings for performing active health checking on upstreams
func (*HealthCheck) DeepCopy ¶
func (in *HealthCheck) DeepCopy() *HealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheck.
func (*HealthCheck) DeepCopyInto ¶
func (in *HealthCheck) DeepCopyInto(out *HealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthCheckLocation ¶
type HealthCheckLocation struct { HTTPHealthCheck *HTTPHealthCheck `json:"http,omitempty"` GRPCHealthCheck *GRPCHealthCheck `json:"grpc,omitempty"` }
+kubebuilder:validation:MinProperties=1 +kubebuilder:validation:MaxProperties=1
func (*HealthCheckLocation) DeepCopy ¶
func (in *HealthCheckLocation) DeepCopy() *HealthCheckLocation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckLocation.
func (*HealthCheckLocation) DeepCopyInto ¶
func (in *HealthCheckLocation) DeepCopyInto(out *HealthCheckLocation)
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Host.
func (*Host) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Host) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HostBindingType ¶
type HostBindingType struct { Namespace NamespaceBindingType `json:"namespace"` Selector *metav1.LabelSelector `json:"selector,omitempty"` }
HostBindingType defines how we specify Hosts to bind to this Listener.
func (*HostBindingType) DeepCopy ¶
func (in *HostBindingType) DeepCopy() *HostBindingType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostBindingType.
func (*HostBindingType) DeepCopyInto ¶
func (in *HostBindingType) DeepCopyInto(out *HostBindingType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostList.
func (*HostList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HostList) DeepCopyObject ¶
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 (*HostPhase) UnmarshalJSON ¶
type HostSpec ¶
type HostSpec struct { // Common to all Ambassador objects (and optional). AmbassadorID AmbassadorID `json:"ambassador_id,omitempty"` // Hostname by which the Ambassador can be reached. Hostname string `json:"hostname,omitempty"` // DEPRECATED: Selector by which we can find further configuration. Use MappingSelector instead. // // TODO(lukeshu): In v3alpha2, figure out how to get rid of HostSpec.DeprecatedSelector. DeprecatedSelector *metav1.LabelSelector `json:"selector,omitempty"` // Selector for Mappings we'll associate with this Host. At the moment, Selector and // MappingSelector are synonyms, but that will change soon. MappingSelector *metav1.LabelSelector `json:"mappingSelector,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. TLSSecret *corev1.SecretReference `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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostSpec.
func (*HostSpec) DeepCopyInto ¶
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 (*HostState) UnmarshalJSON ¶
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 ¶
func (in *InsecureRequestPolicy) DeepCopy() *InsecureRequestPolicy
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeepAlive.
func (*KeepAlive) DeepCopyInto ¶
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 ¶
func (in *KubernetesEndpointResolver) DeepCopy() *KubernetesEndpointResolver
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesEndpointResolver.
func (*KubernetesEndpointResolver) DeepCopyInto ¶
func (in *KubernetesEndpointResolver) DeepCopyInto(out *KubernetesEndpointResolver)
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 ¶
func (in *KubernetesEndpointResolverList) DeepCopy() *KubernetesEndpointResolverList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesEndpointResolverList.
func (*KubernetesEndpointResolverList) DeepCopyInto ¶
func (in *KubernetesEndpointResolverList) DeepCopyInto(out *KubernetesEndpointResolverList)
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 ¶
func (in *KubernetesEndpointResolverSpec) DeepCopy() *KubernetesEndpointResolverSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesEndpointResolverSpec.
func (*KubernetesEndpointResolverSpec) DeepCopyInto ¶
func (in *KubernetesEndpointResolverSpec) DeepCopyInto(out *KubernetesEndpointResolverSpec)
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 ¶
func (in *KubernetesServiceResolver) DeepCopy() *KubernetesServiceResolver
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesServiceResolver.
func (*KubernetesServiceResolver) DeepCopyInto ¶
func (in *KubernetesServiceResolver) DeepCopyInto(out *KubernetesServiceResolver)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ¶
func (in *KubernetesServiceResolverList) DeepCopy() *KubernetesServiceResolverList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesServiceResolverList.
func (*KubernetesServiceResolverList) DeepCopyInto ¶
func (in *KubernetesServiceResolverList) DeepCopyInto(out *KubernetesServiceResolverList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ¶
func (in *KubernetesServiceResolverSpec) DeepCopy() *KubernetesServiceResolverSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesServiceResolverSpec.
func (*KubernetesServiceResolverSpec) DeepCopyInto ¶
func (in *KubernetesServiceResolverSpec) DeepCopyInto(out *KubernetesServiceResolverSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Listener ¶
type Listener struct { metav1.TypeMeta `json:""` metav1.ObjectMeta `json:"metadata,omitempty"` Spec *ListenerSpec `json:"spec,omitempty"` }
Listener is the Schema for the hosts API
+kubebuilder:object:root=true +kubebuilder:printcolumn:name="Port",type=string,JSONPath=`.spec.port` +kubebuilder:printcolumn:name="Protocol",type=string,JSONPath=`.spec.protocol` +kubebuilder:printcolumn:name="Stack",type=string,JSONPath=`.spec.protocolStack` +kubebuilder:printcolumn:name="StatsPrefix",type=string,JSONPath=`.spec.statsPrefix` +kubebuilder:printcolumn:name="Security",type=string,JSONPath=`.spec.securityModel` +kubebuilder:printcolumn:name="L7Depth",type=string,JSONPath=`.spec.l7Depth` +kubebuilder:storageversion
func (*Listener) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Listener.
func (*Listener) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Listener) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ListenerList ¶
type ListenerList struct { metav1.TypeMeta `json:""` metav1.ListMeta `json:"metadata,omitempty"` Items []Listener `json:"items"` }
ListenerList contains a list of Listener.
+kubebuilder:object:root=true
func (*ListenerList) DeepCopy ¶
func (in *ListenerList) DeepCopy() *ListenerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerList.
func (*ListenerList) DeepCopyInto ¶
func (in *ListenerList) DeepCopyInto(out *ListenerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ListenerList) DeepCopyObject ¶
func (in *ListenerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ListenerSpec ¶
type ListenerSpec struct { AmbassadorID AmbassadorID `json:"ambassador_id,omitempty"` // Port is the network port. Only one Listener can use a given port. // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 // +kubebuilder:validation:Required Port int32 `json:"port"` // Protocol is a shorthand for certain predefined stacks. Exactly one of Protocol // or ProtocolStack must be supplied. Protocol ProtocolType `json:"protocol,omitempty"` // ProtocolStack explicitly specifies the protocol stack to set up. Exactly one of Protocol // or ProtocolStack must be supplied. ProtocolStack []ProtocolStackElement `json:"protocolStack,omitempty"` // SecurityModel specifies how to determine whether connections to this port are secure // or insecure. // +kubebuilder:validation:Required SecurityModel SecurityModelType `json:"securityModel"` // StatsPrefix specifies the prefix for statistics sent by Envoy about this // Listener. The default depends on the protocol: "ingress-http", // "ingress-https", "ingress-tls-$port", or "ingress-$port". StatsPrefix string `json:"statsPrefix,omitempty"` // L7Depth specifies how many layer 7 load balancers are between us and the edge of // the network. L7Depth int32 `json:"l7Depth,omitempty"` // HostBinding allows restricting which Hosts will be used for this Listener. // +kubebuilder:validation:Required HostBinding HostBindingType `json:"hostBinding"` }
ListenerSpec defines the desired state of this Port
func (*ListenerSpec) DeepCopy ¶
func (in *ListenerSpec) DeepCopy() *ListenerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerSpec.
func (*ListenerSpec) DeepCopyInto ¶
func (in *ListenerSpec) DeepCopyInto(out *ListenerSpec)
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 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Mapping.
func (*Mapping) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Mapping) DeepCopyObject ¶
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.
+kubebuilder:validation:MinProperties=1 +kubebuilder:validation:MaxProperties=1
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 ¶
func (in MappingLabelGroupsArray) DeepCopy() MappingLabelGroupsArray
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 MappingLabelSpecifier ¶
type MappingLabelSpecifier struct { // Sets the label "source_cluster=«Envoy source cluster name»". SourceCluster *MappingLabelSpecifier_SourceCluster `json:"source_cluster,omitempty"` // Sets the label "destination_cluster=«Envoy destination cluster name»". DestinationCluster *MappingLabelSpecifier_DestinationCluster `json:"destination_cluster,omitempty"` // If the «header_name» header is set, then set the label "«key»=«Value of the // «header_name» header»"; otherwise skip applying this label group. RequestHeaders *MappingLabelSpecifier_RequestHeaders `json:"request_headers,omitempty"` // Sets the label "remote_address=«IP address of the client»". RemoteAddress *MappingLabelSpecifier_RemoteAddress `json:"remote_address,omitempty"` // Sets the label "«key»=«value»" (where by default «key» // is "generic_key"). GenericKey *MappingLabelSpecifier_GenericKey `json:"generic_key,omitempty"` }
A MappingLabelSpecifier (finally!) defines a single label.
This mimics envoy/config/route/v3/route_components.proto:RateLimit:Action:action_specifier.
+kubebuilder:validation:MinProperties=1 +kubebuilder:validation:MaxProperties=1
func (*MappingLabelSpecifier) DeepCopy ¶
func (in *MappingLabelSpecifier) DeepCopy() *MappingLabelSpecifier
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.
type MappingLabelSpecifier_DestinationCluster ¶
type MappingLabelSpecifier_DestinationCluster struct { // +kubebuilder:validation:Enum={"destination_cluster"} // +kubebuilder:validation:Required Key string `json:"key"` }
func (*MappingLabelSpecifier_DestinationCluster) DeepCopy ¶
func (in *MappingLabelSpecifier_DestinationCluster) DeepCopy() *MappingLabelSpecifier_DestinationCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MappingLabelSpecifier_DestinationCluster.
func (*MappingLabelSpecifier_DestinationCluster) DeepCopyInto ¶
func (in *MappingLabelSpecifier_DestinationCluster) DeepCopyInto(out *MappingLabelSpecifier_DestinationCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MappingLabelSpecifier_GenericKey ¶
type MappingLabelSpecifier_GenericKey struct { // The default is "generic_key". Key string `json:"key,omitempty"` // +kubebuilder:validation:Required Value string `json:"value"` V2Shorthand bool `json:"v2Shorthand,omitempty"` }
func (*MappingLabelSpecifier_GenericKey) DeepCopy ¶
func (in *MappingLabelSpecifier_GenericKey) DeepCopy() *MappingLabelSpecifier_GenericKey
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MappingLabelSpecifier_GenericKey.
func (*MappingLabelSpecifier_GenericKey) DeepCopyInto ¶
func (in *MappingLabelSpecifier_GenericKey) DeepCopyInto(out *MappingLabelSpecifier_GenericKey)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MappingLabelSpecifier_RemoteAddress ¶
type MappingLabelSpecifier_RemoteAddress struct { // +kubebuilder:validation:Enum={"remote_address"} // +kubebuilder:validation:Required Key string `json:"key"` }
func (*MappingLabelSpecifier_RemoteAddress) DeepCopy ¶
func (in *MappingLabelSpecifier_RemoteAddress) DeepCopy() *MappingLabelSpecifier_RemoteAddress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MappingLabelSpecifier_RemoteAddress.
func (*MappingLabelSpecifier_RemoteAddress) DeepCopyInto ¶
func (in *MappingLabelSpecifier_RemoteAddress) DeepCopyInto(out *MappingLabelSpecifier_RemoteAddress)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MappingLabelSpecifier_RequestHeaders ¶
type MappingLabelSpecifier_RequestHeaders struct { // +kubebuilder:validation:Required Key string `json:"key"` // +kubebuilder:validation:Required HeaderName string `json:"header_name"` OmitIfNotPresent *bool `json:"omit_if_not_present,omitempty"` }
func (*MappingLabelSpecifier_RequestHeaders) DeepCopy ¶
func (in *MappingLabelSpecifier_RequestHeaders) DeepCopy() *MappingLabelSpecifier_RequestHeaders
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MappingLabelSpecifier_RequestHeaders.
func (*MappingLabelSpecifier_RequestHeaders) DeepCopyInto ¶
func (in *MappingLabelSpecifier_RequestHeaders) DeepCopyInto(out *MappingLabelSpecifier_RequestHeaders)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MappingLabelSpecifier_SourceCluster ¶
type MappingLabelSpecifier_SourceCluster struct { // +kubebuilder:validation:Enum={"source_cluster"} // +kubebuilder:validation:Required Key string `json:"key"` }
func (*MappingLabelSpecifier_SourceCluster) DeepCopy ¶
func (in *MappingLabelSpecifier_SourceCluster) DeepCopy() *MappingLabelSpecifier_SourceCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MappingLabelSpecifier_SourceCluster.
func (*MappingLabelSpecifier_SourceCluster) DeepCopyInto ¶
func (in *MappingLabelSpecifier_SourceCluster) DeepCopyInto(out *MappingLabelSpecifier_SourceCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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"` DNSType string `json:"dns_type,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"` RespectDNSTTL *bool `json:"respect_dns_ttl,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 *RegexMap `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 *[]string `json:"remove_request_headers,omitempty"` RemoveResponseHeaders *[]string `json:"remove_response_headers,omitempty"` Resolver string `json:"resolver,omitempty"` Rewrite *string `json:"rewrite,omitempty"` RegexRewrite *RegexMap `json:"regex_rewrite,omitempty"` Shadow *bool `json:"shadow,omitempty"` ConnectTimeout *MillisecondDuration `json:"connect_timeout_ms,omitempty"` ClusterIdleTimeout *MillisecondDuration `json:"cluster_idle_timeout_ms,omitempty"` ClusterMaxConnectionLifetime *MillisecondDuration `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. Timeout *MillisecondDuration `json:"timeout_ms,omitempty"` IdleTimeout *MillisecondDuration `json:"idle_timeout_ms,omitempty"` TLS string `json:"tls,omitempty"` // +kubebuilder:validation:MinItems=1 HealthChecks []HealthCheck `json:"health_checks,omitempty"` // use_websocket is deprecated, and is equivlaent to setting // `allow_upgrade: ["websocket"]` // // TODO(lukeshu): In v3alpha2, get rid of MappingSpec.DeprecatedUseWebsocket. DeprecatedUseWebsocket *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. // // DEPRECATED: Host is either an exact match or a regex, depending on HostRegex. Use HostName instead. // // TODO(lukeshu): In v3alpha2, get rid of MappingSpec.host and MappingSpec.host_regex in // favor of a MappingSpec.deprecated_hostname_regex. DeprecatedHost string `json:"host,omitempty"` // DEPRECATED: Host is either an exact match or a regex, depending on HostRegex. Use HostName instead. // // TODO(lukeshu): In v3alpha2, get rid of MappingSpec.host and MappingSpec.host_regex in // favor of a MappingSpec.deprecated_hostname_regex. DeprecatedHostRegex *bool `json:"host_regex,omitempty"` // Hostname is a DNS glob specifying the hosts to which this Mapping applies. // // 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]string `json:"headers,omitempty"` RegexHeaders map[string]string `json:"regex_headers,omitempty"` Labels DomainMap `json:"labels,omitempty"` EnvoyOverride *UntypedDict `json:"envoy_override,omitempty"` LoadBalancer *LoadBalancer `json:"load_balancer,omitempty"` QueryParameters map[string]string `json:"query_parameters,omitempty"` RegexQueryParameters map[string]string `json:"regex_query_parameters,omitempty"` StatsName string `json:"stats_name,omitempty"` V2ExplicitTLS *V2ExplicitTLS `json:"v2ExplicitTLS,omitempty"` V2BoolHeaders []string `json:"v2BoolHeaders,omitempty"` V2BoolQueryParameters []string `json:"v2BoolQueryParameters,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 MillisecondDuration ¶
TODO(lukeshu): In v3alpha2, change all of the `{foo}_ms`/`MillisecondDuration` fields to `{foo}`/`metav1.Duration`.
+kubebuilder:validation:Type="integer"
func (*MillisecondDuration) DeepCopy ¶
func (in *MillisecondDuration) DeepCopy() *MillisecondDuration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MillisecondDuration.
func (*MillisecondDuration) DeepCopyInto ¶
func (in *MillisecondDuration) DeepCopyInto(out *MillisecondDuration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (MillisecondDuration) MarshalJSON ¶
func (d MillisecondDuration) MarshalJSON() ([]byte, error)
func (*MillisecondDuration) UnmarshalJSON ¶
func (d *MillisecondDuration) UnmarshalJSON(data []byte) error
type NamespaceBindingType ¶
type NamespaceBindingType struct {
From NamespaceFromType `json:"from,omitempty"`
}
NamespaceBindingType defines we we specify which namespaces to look for Hosts in.
func (*NamespaceBindingType) DeepCopy ¶
func (in *NamespaceBindingType) DeepCopy() *NamespaceBindingType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespaceBindingType.
func (*NamespaceBindingType) DeepCopyInto ¶
func (in *NamespaceBindingType) DeepCopyInto(out *NamespaceBindingType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NamespaceFromType ¶
type NamespaceFromType string
NamespaceFromType defines how we evaluate a NamespaceBindingType. +kubebuilder:validation:Enum=SELF;ALL;SELECTOR
const ( // SELFNamespaceFromType specifies that an Listener should consider Hosts only in the // Listener's namespaces. SELFNamespaceFromType NamespaceFromType = "SELF" // ALLNamespaceFromType specifies that an Listener should consider Hosts in ALL // namespaces. This is the simplest way to build an Listener that matches all Hosts. ALLNamespaceFromType NamespaceFromType = "ALL" )
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 ProtocolStackElement ¶
type ProtocolStackElement string
ProtocolStackElement defines specific layers that may be combined in a protocol stack for processing connections to a port. +kubebuilder:validation:Enum=HTTP;PROXY;TLS;TCP;UDP
const ( // HTTPProtocolStackElement represents the HTTP protocol. HTTPProtocolStackElement ProtocolStackElement = "HTTP" // PROXYProtocolStackElement represents the HAProxy PROXY protocol. PROXYProtocolStackElement ProtocolStackElement = "PROXY" // TLSProtocolStackElement represents the TLS protocol. TLSProtocolStackElement ProtocolStackElement = "TLS" // TCPProtocolStackElement represents raw TCP sessions. TCPProtocolStackElement ProtocolStackElement = "TCP" // UDPProtocolStackElement represents UDP packets. UDPProtocolStackElement ProtocolStackElement = "UDP" )
type ProtocolType ¶
type ProtocolType string
ProtocolType defines shorthands for well-known protocol stacks. +kubebuilder:validation:Enum=HTTP;HTTPS;HTTPPROXY;HTTPSPROXY;TCP;TLS;UDP
const ( // HTTPProtocolType accepts cleartext HTTP/1.1 sessions over TCP. // HTTP;TCP HTTPProtocolType ProtocolType = "HTTP" // HTTPSProtocolType accepts encrypted HTTP/1.1 or HTTP/2 sessions using TLS over TCP. // TLS;HTTP;TCP HTTPSProtocolType ProtocolType = "HTTPS" // HTTPPROXYProtocolType accepts cleartext HTTP/1.1 sessions using the HAProxy PROXY protocol over TCP. // PROXY;HTTP;TCP HTTPPROXYProtocolType ProtocolType = "HTTPPROXY" // HTTPSPROXYProtocolType accepts encrypted HTTP/1.1 or HTTP/2 sessions using the HAProxy PROXY protocol over TLS over TCP. // TLS;PROXY;HTTP;TCP HTTPSPROXYProtocolType ProtocolType = "HTTPSPROXY" // RAWTCPProtocolType accepts raw TCP sessions. // TCP RAWTCPProtocolType ProtocolType = "TCP" // TLSProtocolType accepts TLS over TCP. // TLS;TCP TLSProtocolType ProtocolType = "TLS" // UDPProtocolType accepts UDP packets. // UDP UDPProtocolType ProtocolType = "UDP" )
type RegexMap ¶
type RegexMap struct { Pattern string `json:"pattern,omitempty"` Substitution string `json:"substitution,omitempty"` }
func (*RegexMap) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegexMap.
func (*RegexMap) DeepCopyInto ¶
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 SecondDuration ¶
TODO(lukeshu): In v3alpha2, change all of the `{foo}s`/`SecondDuration` fields to `{foo}`/`metav1.Duration`.
+kubebuilder:validation:Type="integer"
func (*SecondDuration) DeepCopy ¶
func (in *SecondDuration) DeepCopy() *SecondDuration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecondDuration.
func (*SecondDuration) DeepCopyInto ¶
func (in *SecondDuration) DeepCopyInto(out *SecondDuration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (SecondDuration) MarshalJSON ¶
func (d SecondDuration) MarshalJSON() ([]byte, error)
func (*SecondDuration) UnmarshalJSON ¶
func (d *SecondDuration) UnmarshalJSON(data []byte) error
type SecurityModelType ¶
type SecurityModelType string
SecurityModelType defines the mechanisms we can use to determine whether connections to a port are secure or insecure. +kubebuilder:validation:Enum=XFP;SECURE;INSECURE
const ( // XFPSecurityModelType specifies that connections on this port use X-Forwarded-Proto to // determine security: if the protocol is HTTPS, the connection is secure; otherwise // it is insecure. XFPSecurityModelType SecurityModelType = "XFP" // SECURESecurityModelType specifies that connections on this port are always secure SECURESecurityModelType SecurityModelType = "SECURE" // INSECURESecurityModelType specifies that connections on this port are never secure INSECURESecurityModelType SecurityModelType = "INSECURE" )
type StatusRange ¶
type StatusRange struct { // Start of the statuses to include. Must be between 100 and 599 (inclusive) // +kubebuilder:validation:Required // +kubebuilder:validation:Minimum=100 // +kubebuilder:validation:Maximum=599 Min int `json:"min,omitempty"` // End of the statuses to include. Must be between 100 and 599 (inclusive) // +kubebuilder:validation:Required // +kubebuilder:validation:Minimum=100 // +kubebuilder:validation:Maximum=599 Max int `json:"max,omitempty"` }
A range of response statuses from Start to End inclusive
func (*StatusRange) DeepCopy ¶
func (in *StatusRange) DeepCopy() *StatusRange
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusRange.
func (*StatusRange) DeepCopyInto ¶
func (in *StatusRange) DeepCopyInto(out *StatusRange)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 string `json:"tls,omitempty"` Weight *int `json:"weight,omitempty"` ClusterTag string `json:"cluster_tag,omitempty"` StatsName string `json:"stats_name,omitempty"` V2ExplicitTLS *V2ExplicitTLS `json:"v2ExplicitTLS,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"` CRLSecret string `json:"crl_secret,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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSConfig.
func (*TLSConfig) DeepCopyInto ¶
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"` CRLSecret string `json:"crl_secret,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 UntypedDict ¶
type UntypedDict struct { // We have to hide this from controller-gen inside of a struct // (instead of just `type UntypedDict map[string]json.RawMessage`) // so that controller-gen doesn't generate an `items` field in the // schema. Values map[string]json.RawMessage `json:"-"` }
UntypedDict is relatively opaque as a Go type, but it preserves its contents in a roundtrippable way.
+kubebuilder:validation:Type="object" +kubebuilder:pruning:PreserveUnknownFields
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 V2ExplicitTLS ¶
type V2ExplicitTLS struct { // TLS controls whether and how to represent the "tls" field when // its value could be implied by the "service" field. In v2, there // were a lot of different ways to spell an "empty" value, and this // field specifies which way to spell it (and will therefore only // be used if the value will indeed be empty). // // | Value | Representation | Meaning of representation | // |--------------+---------------------------------------+------------------------------------| // | "" | omit the field | defer to service (no TLSContext) | // | "null" | store an explicit "null" in the field | defer to service (no TLSContext) | // | "string" | store an empty string in the field | defer to service (no TLSContext) | // | "bool:false" | store a Boolean "false" in the field | defer to service (no TLSContext) | // | "bool:true" | store a Boolean "true" in the field | originate TLS (no TLSContext) | // // If the meaning of the representation contradicts anything else // (if a TLSContext is to be used, or in the case of "bool:true" if // TLS is not to be originated), then this field is ignored. // // +kubebuilder:validation:Enum={"","null","bool:true","bool:false","string"} TLS string `json:"tls,omitempty"` // ServiceScheme specifies how to spell and capitalize the scheme-part of the // service URL. // // Acceptable values are "http://" (case-insensitive), "https://" // (case-insensitive), or "". The value is used if it agrees with // whether or not this resource enables TLS origination, or if // something else in the resource overrides the scheme. // // +kubebuilder:validation:Pattern="^([hH][tT][tT][pP][sS]?://)?$" ServiceScheme *string `json:"serviceScheme,omitempty"` }
V2ExplicitTLS controls some vanity/stylistic elements when converting from v3alpha1 to v2. The values in an V2ExplicitTLS should not in any way affect the runtime operation of Emissary; except that it may affect internal names in the Envoy config, which may in turn affect stats names. But it should not affect any end-user observable behavior.
func (*V2ExplicitTLS) DeepCopy ¶
func (in *V2ExplicitTLS) DeepCopy() *V2ExplicitTLS
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new V2ExplicitTLS.
func (*V2ExplicitTLS) DeepCopyInto ¶
func (in *V2ExplicitTLS) DeepCopyInto(out *V2ExplicitTLS)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.