Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the consul.hashicorp.com v1alpha1 API group +kubebuilder:object:generate=true +groupName=consul.hashicorp.com
Index ¶
- Constants
- Variables
- type Condition
- type ConditionType
- type Conditions
- type CookieConfig
- type Destination
- type Expose
- type ExposePath
- type GatewayTLSConfig
- type HashPolicy
- type IngressGateway
- func (in *IngressGateway) AddFinalizer(name string)
- func (in *IngressGateway) ConsulGlobalResource() bool
- func (in *IngressGateway) ConsulKind() string
- func (in *IngressGateway) ConsulMirroringNS() string
- func (in *IngressGateway) ConsulName() string
- func (in *IngressGateway) DeepCopy() *IngressGateway
- func (in *IngressGateway) DeepCopyInto(out *IngressGateway)
- func (in *IngressGateway) DeepCopyObject() runtime.Object
- func (in *IngressGateway) DefaultNamespaceFields(consulNamespacesEnabled bool, destinationNamespace string, mirroring bool, ...)
- func (in *IngressGateway) Finalizers() []string
- func (in *IngressGateway) GetObjectMeta() metav1.ObjectMeta
- func (in *IngressGateway) KubeKind() string
- func (in *IngressGateway) KubernetesName() string
- func (in *IngressGateway) MatchesConsul(candidate capi.ConfigEntry) bool
- func (in *IngressGateway) RemoveFinalizer(name string)
- func (in *IngressGateway) SetLastSyncedTime(time *metav1.Time)
- func (in *IngressGateway) SetSyncedCondition(status corev1.ConditionStatus, reason, message string)
- func (in *IngressGateway) SyncedCondition() (status corev1.ConditionStatus, reason, message string)
- func (in *IngressGateway) SyncedConditionStatus() corev1.ConditionStatus
- func (in *IngressGateway) ToConsul(datacenter string) capi.ConfigEntry
- func (in *IngressGateway) Validate(namespacesEnabled bool) error
- type IngressGatewayList
- type IngressGatewaySpec
- type IngressGatewayWebhook
- type IngressListener
- type IngressService
- type IntentionAction
- type IntentionHTTPHeaderPermission
- type IntentionHTTPHeaderPermissions
- type IntentionHTTPPermission
- type IntentionPermission
- type IntentionPermissions
- type LeastRequestConfig
- type LinkedService
- type LoadBalancer
- type Mesh
- func (in *Mesh) AddFinalizer(name string)
- func (in *Mesh) ConsulGlobalResource() bool
- func (in *Mesh) ConsulKind() string
- func (in *Mesh) ConsulMirroringNS() string
- func (in *Mesh) ConsulName() string
- func (in *Mesh) DeepCopy() *Mesh
- func (in *Mesh) DeepCopyInto(out *Mesh)
- func (in *Mesh) DeepCopyObject() runtime.Object
- func (in *Mesh) DefaultNamespaceFields(_ bool, _ string, _ bool, _ string)
- func (in *Mesh) Finalizers() []string
- func (in *Mesh) GetObjectMeta() metav1.ObjectMeta
- func (in *Mesh) KubeKind() string
- func (in *Mesh) KubernetesName() string
- func (in *Mesh) MatchesConsul(candidate capi.ConfigEntry) bool
- func (in *Mesh) RemoveFinalizer(name string)
- func (in *Mesh) SetLastSyncedTime(time *metav1.Time)
- func (in *Mesh) SetSyncedCondition(status corev1.ConditionStatus, reason string, message string)
- func (in *Mesh) SyncedCondition() (status corev1.ConditionStatus, reason, message string)
- func (in *Mesh) SyncedConditionStatus() corev1.ConditionStatus
- func (in *Mesh) ToConsul(datacenter string) capi.ConfigEntry
- func (in *Mesh) Validate(_ bool) error
- type MeshGateway
- type MeshGatewayMode
- type MeshList
- type MeshSpec
- type MeshWebhook
- type PassiveHealthCheck
- type ProxyDefaults
- func (in *ProxyDefaults) AddFinalizer(name string)
- func (in *ProxyDefaults) ConsulGlobalResource() bool
- func (in *ProxyDefaults) ConsulKind() string
- func (in *ProxyDefaults) ConsulMirroringNS() string
- func (in *ProxyDefaults) ConsulName() string
- func (in *ProxyDefaults) DeepCopy() *ProxyDefaults
- func (in *ProxyDefaults) DeepCopyInto(out *ProxyDefaults)
- func (in *ProxyDefaults) DeepCopyObject() runtime.Object
- func (in *ProxyDefaults) DefaultNamespaceFields(_ bool, _ string, _ bool, _ string)
- func (in *ProxyDefaults) Finalizers() []string
- func (in *ProxyDefaults) GetObjectMeta() metav1.ObjectMeta
- func (in *ProxyDefaults) KubeKind() string
- func (in *ProxyDefaults) KubernetesName() string
- func (in *ProxyDefaults) MatchesConsul(candidate api.ConfigEntry) bool
- func (in *ProxyDefaults) RemoveFinalizer(name string)
- func (in *ProxyDefaults) SetLastSyncedTime(time *metav1.Time)
- func (in *ProxyDefaults) SetSyncedCondition(status corev1.ConditionStatus, reason string, message string)
- func (in *ProxyDefaults) SyncedCondition() (status corev1.ConditionStatus, reason, message string)
- func (in *ProxyDefaults) SyncedConditionStatus() corev1.ConditionStatus
- func (in *ProxyDefaults) ToConsul(datacenter string) capi.ConfigEntry
- func (in *ProxyDefaults) Validate(namespacesEnabled bool) error
- type ProxyDefaultsList
- type ProxyDefaultsSpec
- type ProxyDefaultsWebhook
- type ProxyMode
- type RingHashConfig
- type ServiceDefaults
- func (in *ServiceDefaults) AddFinalizer(name string)
- func (in *ServiceDefaults) ConsulGlobalResource() bool
- func (in *ServiceDefaults) ConsulKind() string
- func (in *ServiceDefaults) ConsulMirroringNS() string
- func (in *ServiceDefaults) ConsulName() string
- func (in *ServiceDefaults) DeepCopy() *ServiceDefaults
- func (in *ServiceDefaults) DeepCopyInto(out *ServiceDefaults)
- func (in *ServiceDefaults) DeepCopyObject() runtime.Object
- func (in *ServiceDefaults) DefaultNamespaceFields(_ bool, _ string, _ bool, _ string)
- func (in *ServiceDefaults) Finalizers() []string
- func (in *ServiceDefaults) GetObjectMeta() metav1.ObjectMeta
- func (in *ServiceDefaults) KubeKind() string
- func (in *ServiceDefaults) KubernetesName() string
- func (in *ServiceDefaults) MatchesConsul(candidate capi.ConfigEntry) bool
- func (in *ServiceDefaults) RemoveFinalizer(name string)
- func (in *ServiceDefaults) SetLastSyncedTime(time *metav1.Time)
- func (in *ServiceDefaults) SetSyncedCondition(status corev1.ConditionStatus, reason string, message string)
- func (in *ServiceDefaults) SyncedCondition() (status corev1.ConditionStatus, reason string, message string)
- func (in *ServiceDefaults) SyncedConditionStatus() corev1.ConditionStatus
- func (in *ServiceDefaults) ToConsul(datacenter string) capi.ConfigEntry
- func (in *ServiceDefaults) Validate(namespacesEnabled bool) error
- type ServiceDefaultsList
- type ServiceDefaultsSpec
- type ServiceDefaultsWebhook
- type ServiceIntentions
- func (in *ServiceIntentions) AddFinalizer(f string)
- func (in *ServiceIntentions) ConsulGlobalResource() bool
- func (in *ServiceIntentions) ConsulKind() string
- func (in *ServiceIntentions) ConsulMirroringNS() string
- func (in *ServiceIntentions) ConsulName() string
- func (in *ServiceIntentions) DeepCopy() *ServiceIntentions
- func (in *ServiceIntentions) DeepCopyInto(out *ServiceIntentions)
- func (in *ServiceIntentions) DeepCopyObject() runtime.Object
- func (in *ServiceIntentions) DefaultNamespaceFields(consulNamespacesEnabled bool, destinationNamespace string, mirroring bool, ...)
- func (in *ServiceIntentions) Finalizers() []string
- func (in *ServiceIntentions) GetObjectMeta() metav1.ObjectMeta
- func (in *ServiceIntentions) KubeKind() string
- func (in *ServiceIntentions) KubernetesName() string
- func (in *ServiceIntentions) MatchesConsul(candidate api.ConfigEntry) bool
- func (in *ServiceIntentions) RemoveFinalizer(f string)
- func (in *ServiceIntentions) SetLastSyncedTime(time *metav1.Time)
- func (in *ServiceIntentions) SetSyncedCondition(status corev1.ConditionStatus, reason, message string)
- func (in *ServiceIntentions) SyncedCondition() (status corev1.ConditionStatus, reason, message string)
- func (in *ServiceIntentions) SyncedConditionStatus() corev1.ConditionStatus
- func (in *ServiceIntentions) ToConsul(datacenter string) api.ConfigEntry
- func (in *ServiceIntentions) Validate(namespacesEnabled bool) error
- type ServiceIntentionsList
- type ServiceIntentionsSpec
- type ServiceIntentionsWebhook
- type ServiceResolver
- func (in *ServiceResolver) AddFinalizer(f string)
- func (in *ServiceResolver) ConsulGlobalResource() bool
- func (in *ServiceResolver) ConsulKind() string
- func (in *ServiceResolver) ConsulMirroringNS() string
- func (in *ServiceResolver) ConsulName() string
- func (in *ServiceResolver) DeepCopy() *ServiceResolver
- func (in *ServiceResolver) DeepCopyInto(out *ServiceResolver)
- func (in *ServiceResolver) DeepCopyObject() runtime.Object
- func (in *ServiceResolver) DefaultNamespaceFields(_ bool, _ string, _ bool, _ string)
- func (in *ServiceResolver) Finalizers() []string
- func (in *ServiceResolver) GetObjectMeta() metav1.ObjectMeta
- func (in *ServiceResolver) KubeKind() string
- func (in *ServiceResolver) KubernetesName() string
- func (in *ServiceResolver) MatchesConsul(candidate capi.ConfigEntry) bool
- func (in *ServiceResolver) RemoveFinalizer(f string)
- func (in *ServiceResolver) SetLastSyncedTime(time *metav1.Time)
- func (in *ServiceResolver) SetSyncedCondition(status corev1.ConditionStatus, reason string, message string)
- func (in *ServiceResolver) SyncedCondition() (status corev1.ConditionStatus, reason string, message string)
- func (in *ServiceResolver) SyncedConditionStatus() corev1.ConditionStatus
- func (in *ServiceResolver) ToConsul(datacenter string) capi.ConfigEntry
- func (in *ServiceResolver) Validate(namespacesEnabled bool) error
- type ServiceResolverFailover
- type ServiceResolverFailoverMap
- type ServiceResolverList
- type ServiceResolverRedirect
- type ServiceResolverSpec
- type ServiceResolverSubset
- type ServiceResolverSubsetMap
- type ServiceResolverWebhook
- type ServiceRoute
- type ServiceRouteDestination
- type ServiceRouteHTTPMatch
- type ServiceRouteHTTPMatchHeader
- type ServiceRouteHTTPMatchQueryParam
- type ServiceRouteMatch
- type ServiceRouter
- func (in *ServiceRouter) AddFinalizer(name string)
- func (in *ServiceRouter) ConsulGlobalResource() bool
- func (in *ServiceRouter) ConsulKind() string
- func (in *ServiceRouter) ConsulMirroringNS() string
- func (in *ServiceRouter) ConsulName() string
- func (in *ServiceRouter) DeepCopy() *ServiceRouter
- func (in *ServiceRouter) DeepCopyInto(out *ServiceRouter)
- func (in *ServiceRouter) DeepCopyObject() runtime.Object
- func (in *ServiceRouter) DefaultNamespaceFields(consulNamespacesEnabled bool, destinationNamespace string, mirroring bool, ...)
- func (in *ServiceRouter) Finalizers() []string
- func (in *ServiceRouter) GetObjectMeta() metav1.ObjectMeta
- func (in *ServiceRouter) KubeKind() string
- func (in *ServiceRouter) KubernetesName() string
- func (in *ServiceRouter) MatchesConsul(candidate capi.ConfigEntry) bool
- func (in *ServiceRouter) RemoveFinalizer(name string)
- func (in *ServiceRouter) SetLastSyncedTime(time *metav1.Time)
- func (in *ServiceRouter) SetSyncedCondition(status corev1.ConditionStatus, reason, message string)
- func (in *ServiceRouter) SyncedCondition() (status corev1.ConditionStatus, reason, message string)
- func (in *ServiceRouter) SyncedConditionStatus() corev1.ConditionStatus
- func (in *ServiceRouter) ToConsul(datacenter string) capi.ConfigEntry
- func (in *ServiceRouter) Validate(namespacesEnabled bool) error
- type ServiceRouterList
- type ServiceRouterSpec
- type ServiceRouterWebhook
- type ServiceSplit
- type ServiceSplits
- type ServiceSplitter
- func (in *ServiceSplitter) AddFinalizer(name string)
- func (in *ServiceSplitter) ConsulGlobalResource() bool
- func (in *ServiceSplitter) ConsulKind() string
- func (in *ServiceSplitter) ConsulMirroringNS() string
- func (in *ServiceSplitter) ConsulName() string
- func (in *ServiceSplitter) DeepCopy() *ServiceSplitter
- func (in *ServiceSplitter) DeepCopyInto(out *ServiceSplitter)
- func (in *ServiceSplitter) DeepCopyObject() runtime.Object
- func (in *ServiceSplitter) DefaultNamespaceFields(_ bool, _ string, _ bool, _ string)
- func (in *ServiceSplitter) Finalizers() []string
- func (in *ServiceSplitter) GetObjectMeta() metav1.ObjectMeta
- func (in *ServiceSplitter) KubeKind() string
- func (in *ServiceSplitter) KubernetesName() string
- func (in *ServiceSplitter) MatchesConsul(candidate capi.ConfigEntry) bool
- func (in *ServiceSplitter) RemoveFinalizer(name string)
- func (in *ServiceSplitter) SetLastSyncedTime(time *metav1.Time)
- func (in *ServiceSplitter) SetSyncedCondition(status corev1.ConditionStatus, reason, message string)
- func (in *ServiceSplitter) SyncedCondition() (status corev1.ConditionStatus, reason, message string)
- func (in *ServiceSplitter) SyncedConditionStatus() corev1.ConditionStatus
- func (in *ServiceSplitter) ToConsul(datacenter string) capi.ConfigEntry
- func (in *ServiceSplitter) Validate(namespacesEnabled bool) error
- type ServiceSplitterList
- type ServiceSplitterSpec
- type ServiceSplitterWebhook
- type SourceIntention
- type SourceIntentions
- type Status
- type TerminatingGateway
- func (in *TerminatingGateway) AddFinalizer(name string)
- func (in *TerminatingGateway) ConsulGlobalResource() bool
- func (in *TerminatingGateway) ConsulKind() string
- func (in *TerminatingGateway) ConsulMirroringNS() string
- func (in *TerminatingGateway) ConsulName() string
- func (in *TerminatingGateway) DeepCopy() *TerminatingGateway
- func (in *TerminatingGateway) DeepCopyInto(out *TerminatingGateway)
- func (in *TerminatingGateway) DeepCopyObject() runtime.Object
- func (in *TerminatingGateway) DefaultNamespaceFields(consulNamespacesEnabled bool, destinationNamespace string, mirroring bool, ...)
- func (in *TerminatingGateway) Finalizers() []string
- func (in *TerminatingGateway) GetObjectMeta() metav1.ObjectMeta
- func (in *TerminatingGateway) KubeKind() string
- func (in *TerminatingGateway) KubernetesName() string
- func (in *TerminatingGateway) MatchesConsul(candidate capi.ConfigEntry) bool
- func (in *TerminatingGateway) RemoveFinalizer(name string)
- func (in *TerminatingGateway) SetLastSyncedTime(time *metav1.Time)
- func (in *TerminatingGateway) SetSyncedCondition(status corev1.ConditionStatus, reason, message string)
- func (in *TerminatingGateway) SyncedCondition() (status corev1.ConditionStatus, reason, message string)
- func (in *TerminatingGateway) SyncedConditionStatus() corev1.ConditionStatus
- func (in *TerminatingGateway) ToConsul(datacenter string) capi.ConfigEntry
- func (in *TerminatingGateway) Validate(namespacesEnabled bool) error
- type TerminatingGatewayList
- type TerminatingGatewaySpec
- type TerminatingGatewayWebhook
- type TransparentProxy
- type TransparentProxyMeshConfig
- type Upstream
- type UpstreamLimits
- type Upstreams
Constants ¶
const ConsulHashicorpGroup string = "consul.hashicorp.com"
const (
MeshKubeKind = "mesh"
)
const (
ProxyDefaultsKubeKind string = "proxydefaults"
)
const (
ServiceDefaultsKubeKind string = "servicedefaults"
)
const ServiceResolverKubeKind string = "serviceresolver"
const (
ServiceRouterKubeKind string = "servicerouter"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "consul.hashicorp.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type Condition ¶
type Condition struct {
// Type of condition.
// +required
Type ConditionType `json:"type" description:"type of status condition"`
// Status of the condition, one of True, False, Unknown.
// +required
Status corev1.ConditionStatus `json:"status" description:"status of the condition, one of True, False, Unknown"`
// LastTransitionTime is the last time the condition transitioned from one status to another.
// +optional
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" description:"last time the condition transitioned from one status to another"`
// The reason for the condition's last transition.
// +optional
Reason string `json:"reason,omitempty" description:"one-word CamelCase reason for the condition's last transition"`
// A human readable message indicating details about the transition.
// +optional
Message string `json:"message,omitempty" description:"human-readable message indicating details about last transition"`
}
Conditions define a readiness condition for a Consul resource. See: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties +k8s:deepcopy-gen=true +k8s:openapi-gen=true
func (*Condition) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.
func (*Condition) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConditionType ¶
type ConditionType string
ConditionType is a camel-cased condition type.
const ( // ConditionSynced specifies that the resource has been synced with Consul. ConditionSynced ConditionType = "Synced" )
type Conditions ¶
type Conditions []Condition
Conditions is the schema for the conditions portion of the payload
func (Conditions) DeepCopy ¶
func (in Conditions) DeepCopy() Conditions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Conditions.
func (Conditions) DeepCopyInto ¶
func (in Conditions) DeepCopyInto(out *Conditions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CookieConfig ¶
type CookieConfig struct {
// Session determines whether to generate a session cookie with no expiration.
Session bool `json:"session,omitempty"`
// TTL is the ttl for generated cookies. Cannot be specified for session cookies.
TTL metav1.Duration `json:"ttl,omitempty"`
// Path is the path to set for the cookie.
Path string `json:"path,omitempty"`
}
func (*CookieConfig) DeepCopy ¶
func (in *CookieConfig) DeepCopy() *CookieConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CookieConfig.
func (*CookieConfig) DeepCopyInto ¶
func (in *CookieConfig) DeepCopyInto(out *CookieConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Destination ¶
type Destination struct {
// Name is the destination of all intentions defined in this config entry.
// This may be set to the wildcard character (*) to match
// all services that don't otherwise have intentions defined.
Name string `json:"name,omitempty"`
// Namespace specifies the namespace the config entry will apply to.
// This may be set to the wildcard character (*) to match all services
// in all namespaces that don't otherwise have intentions defined.
Namespace string `json:"namespace,omitempty"`
}
func (*Destination) DeepCopy ¶
func (in *Destination) DeepCopy() *Destination
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Destination.
func (*Destination) DeepCopyInto ¶
func (in *Destination) DeepCopyInto(out *Destination)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Expose ¶ added in v0.26.0
type Expose struct {
// Checks defines whether paths associated with Consul checks will be exposed.
// This flag triggers exposing all HTTP and GRPC check paths registered for the service.
Checks bool `json:"checks,omitempty"`
// Paths is the list of paths exposed through the proxy.
Paths []ExposePath `json:"paths,omitempty"`
}
Expose describes HTTP paths to expose through Envoy outside of Connect. Users can expose individual paths and/or all HTTP/GRPC paths for checks.
func (*Expose) DeepCopy ¶ added in v0.26.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Expose.
func (*Expose) DeepCopyInto ¶ added in v0.26.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExposePath ¶
type ExposePath struct {
// ListenerPort defines the port of the proxy's listener for exposed paths.
ListenerPort int `json:"listenerPort,omitempty"`
// Path is the path to expose through the proxy, ie. "/metrics".
Path string `json:"path,omitempty"`
// LocalPathPort is the port that the service is listening on for the given path.
LocalPathPort int `json:"localPathPort,omitempty"`
// Protocol describes the upstream's service protocol.
// Valid values are "http" and "http2", defaults to "http".
Protocol string `json:"protocol,omitempty"`
}
func (*ExposePath) DeepCopy ¶
func (in *ExposePath) DeepCopy() *ExposePath
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExposePath.
func (*ExposePath) DeepCopyInto ¶
func (in *ExposePath) DeepCopyInto(out *ExposePath)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GatewayTLSConfig ¶ added in v0.22.0
type GatewayTLSConfig struct {
// Indicates that TLS should be enabled for this gateway service.
Enabled bool `json:"enabled"`
}
func (*GatewayTLSConfig) DeepCopy ¶ added in v0.22.0
func (in *GatewayTLSConfig) DeepCopy() *GatewayTLSConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayTLSConfig.
func (*GatewayTLSConfig) DeepCopyInto ¶ added in v0.22.0
func (in *GatewayTLSConfig) DeepCopyInto(out *GatewayTLSConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HashPolicy ¶
type HashPolicy struct {
// Field is the attribute type to hash on.
// Must be one of "header", "cookie", or "query_parameter".
// Cannot be specified along with sourceIP.
Field string `json:"field,omitempty"`
// FieldValue is the value to hash.
// ie. header name, cookie name, URL query parameter name
// Cannot be specified along with sourceIP.
FieldValue string `json:"fieldValue,omitempty"`
// CookieConfig contains configuration for the "cookie" hash policy type.
CookieConfig *CookieConfig `json:"cookieConfig,omitempty"`
// SourceIP determines whether the hash should be of the source IP rather than of a field and field value.
// Cannot be specified along with field or fieldValue.
SourceIP bool `json:"sourceIP,omitempty"`
// Terminal will short circuit the computation of the hash when multiple hash policies are present.
// If a hash is computed when a Terminal policy is evaluated,
// then that hash will be used and subsequent hash policies will be ignored.
Terminal bool `json:"terminal,omitempty"`
}
func (*HashPolicy) DeepCopy ¶
func (in *HashPolicy) DeepCopy() *HashPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HashPolicy.
func (*HashPolicy) DeepCopyInto ¶
func (in *HashPolicy) DeepCopyInto(out *HashPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressGateway ¶ added in v0.22.0
type IngressGateway struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec IngressGatewaySpec `json:"spec,omitempty"`
Status `json:"status,omitempty"`
}
IngressGateway is the Schema for the ingressgateways API +kubebuilder:printcolumn:name="Synced",type="string",JSONPath=".status.conditions[?(@.type==\"Synced\")].status",description="The sync status of the resource with Consul" +kubebuilder:printcolumn:name="Last Synced",type="date",JSONPath=".status.lastSyncedTime",description="The last successful synced time of the resource with Consul" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="The age of the resource"
func (*IngressGateway) AddFinalizer ¶ added in v0.22.0
func (in *IngressGateway) AddFinalizer(name string)
func (*IngressGateway) ConsulGlobalResource ¶ added in v0.22.0
func (in *IngressGateway) ConsulGlobalResource() bool
func (*IngressGateway) ConsulKind ¶ added in v0.22.0
func (in *IngressGateway) ConsulKind() string
func (*IngressGateway) ConsulMirroringNS ¶ added in v0.22.0
func (in *IngressGateway) ConsulMirroringNS() string
func (*IngressGateway) ConsulName ¶ added in v0.22.0
func (in *IngressGateway) ConsulName() string
func (*IngressGateway) DeepCopy ¶ added in v0.22.0
func (in *IngressGateway) DeepCopy() *IngressGateway
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressGateway.
func (*IngressGateway) DeepCopyInto ¶ added in v0.22.0
func (in *IngressGateway) DeepCopyInto(out *IngressGateway)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IngressGateway) DeepCopyObject ¶ added in v0.22.0
func (in *IngressGateway) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*IngressGateway) DefaultNamespaceFields ¶ added in v0.23.0
func (in *IngressGateway) DefaultNamespaceFields(consulNamespacesEnabled bool, destinationNamespace string, mirroring bool, prefix string)
DefaultNamespaceFields sets the namespace field on spec.listeners[].services to their default values if namespaces are enabled.
func (*IngressGateway) Finalizers ¶ added in v0.22.0
func (in *IngressGateway) Finalizers() []string
func (*IngressGateway) GetObjectMeta ¶ added in v0.22.0
func (in *IngressGateway) GetObjectMeta() metav1.ObjectMeta
func (*IngressGateway) KubeKind ¶ added in v0.22.0
func (in *IngressGateway) KubeKind() string
func (*IngressGateway) KubernetesName ¶ added in v0.22.0
func (in *IngressGateway) KubernetesName() string
func (*IngressGateway) MatchesConsul ¶ added in v0.22.0
func (in *IngressGateway) MatchesConsul(candidate capi.ConfigEntry) bool
func (*IngressGateway) RemoveFinalizer ¶ added in v0.22.0
func (in *IngressGateway) RemoveFinalizer(name string)
func (*IngressGateway) SetLastSyncedTime ¶ added in v0.25.0
func (in *IngressGateway) SetLastSyncedTime(time *metav1.Time)
func (*IngressGateway) SetSyncedCondition ¶ added in v0.22.0
func (in *IngressGateway) SetSyncedCondition(status corev1.ConditionStatus, reason, message string)
func (*IngressGateway) SyncedCondition ¶ added in v0.22.0
func (in *IngressGateway) SyncedCondition() (status corev1.ConditionStatus, reason, message string)
func (*IngressGateway) SyncedConditionStatus ¶ added in v0.22.0
func (in *IngressGateway) SyncedConditionStatus() corev1.ConditionStatus
func (*IngressGateway) ToConsul ¶ added in v0.22.0
func (in *IngressGateway) ToConsul(datacenter string) capi.ConfigEntry
func (*IngressGateway) Validate ¶ added in v0.22.0
func (in *IngressGateway) Validate(namespacesEnabled bool) error
type IngressGatewayList ¶ added in v0.22.0
type IngressGatewayList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []IngressGateway `json:"items"`
}
IngressGatewayList contains a list of IngressGateway
func (*IngressGatewayList) DeepCopy ¶ added in v0.22.0
func (in *IngressGatewayList) DeepCopy() *IngressGatewayList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressGatewayList.
func (*IngressGatewayList) DeepCopyInto ¶ added in v0.22.0
func (in *IngressGatewayList) DeepCopyInto(out *IngressGatewayList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IngressGatewayList) DeepCopyObject ¶ added in v0.22.0
func (in *IngressGatewayList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IngressGatewaySpec ¶ added in v0.22.0
type IngressGatewaySpec struct {
// TLS holds the TLS configuration for this gateway.
TLS GatewayTLSConfig `json:"tls,omitempty"`
// Listeners declares what ports the ingress gateway should listen on, and
// what services to associated to those ports.
Listeners []IngressListener `json:"listeners,omitempty"`
}
IngressGatewaySpec defines the desired state of IngressGateway
func (*IngressGatewaySpec) DeepCopy ¶ added in v0.22.0
func (in *IngressGatewaySpec) DeepCopy() *IngressGatewaySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressGatewaySpec.
func (*IngressGatewaySpec) DeepCopyInto ¶ added in v0.22.0
func (in *IngressGatewaySpec) DeepCopyInto(out *IngressGatewaySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressGatewayWebhook ¶ added in v0.22.0
type IngressGatewayWebhook struct {
ConsulClient *capi.Client
Logger logr.Logger
// EnableConsulNamespaces indicates that a user is running Consul Enterprise
// with version 1.7+ which supports namespaces.
EnableConsulNamespaces bool
// EnableNSMirroring causes Consul namespaces to be created to match the
// k8s namespace of any config entry custom resource. Config entries will
// be created in the matching Consul namespace.
EnableNSMirroring bool
// ConsulDestinationNamespace is the namespace in Consul that the config entry created
// in k8s will get mapped into. If the Consul namespace does not already exist, it will
// be created.
ConsulDestinationNamespace string
// NSMirroringPrefix works in conjunction with Namespace Mirroring.
// It is the prefix added to the Consul namespace to map to a specific.
// k8s namespace. For example, if `mirroringK8SPrefix` is set to "k8s-", a
// service in the k8s `staging` namespace will be registered into the
// `k8s-staging` Consul namespace.
NSMirroringPrefix string
client.Client
// contains filtered or unexported fields
}
func (*IngressGatewayWebhook) InjectDecoder ¶ added in v0.22.0
func (v *IngressGatewayWebhook) InjectDecoder(d *admission.Decoder) error
func (*IngressGatewayWebhook) List ¶ added in v0.22.0
func (v *IngressGatewayWebhook) List(ctx context.Context) ([]common.ConfigEntryResource, error)
type IngressListener ¶ added in v0.22.0
type IngressListener struct {
// Port declares the port on which the ingress gateway should listen for traffic.
Port int `json:"port,omitempty"`
// Protocol declares what type of traffic this listener is expected to
// receive. Depending on the protocol, a listener might support multiplexing
// services over a single port, or additional discovery chain features. The
// current supported values are: (tcp | http | http2 | grpc).
Protocol string `json:"protocol,omitempty"`
// Services declares the set of services to which the listener forwards
// traffic.
//
// For "tcp" protocol listeners, only a single service is allowed.
// For "http" listeners, multiple services can be declared.
Services []IngressService `json:"services,omitempty"`
}
IngressListener manages the configuration for a listener on a specific port.
func (*IngressListener) DeepCopy ¶ added in v0.22.0
func (in *IngressListener) DeepCopy() *IngressListener
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressListener.
func (*IngressListener) DeepCopyInto ¶ added in v0.22.0
func (in *IngressListener) DeepCopyInto(out *IngressListener)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressService ¶ added in v0.22.0
type IngressService struct {
// Name declares the service to which traffic should be forwarded.
//
// This can either be a specific service, or the wildcard specifier,
// "*". If the wildcard specifier is provided, the listener must be of "http"
// protocol and means that the listener will forward traffic to all services.
//
// A name can be specified on multiple listeners, and will be exposed on both
// of the listeners.
Name string `json:"name,omitempty"`
// Hosts is a list of hostnames which should be associated to this service on
// the defined listener. Only allowed on layer 7 protocols, this will be used
// to route traffic to the service by matching the Host header of the HTTP
// request.
//
// If a host is provided for a service that also has a wildcard specifier
// defined, the host will override the wildcard-specifier-provided
// "<service-name>.*" domain for that listener.
//
// This cannot be specified when using the wildcard specifier, "*", or when
// using a "tcp" listener.
Hosts []string `json:"hosts,omitempty"`
// Namespace is the namespace where the service is located.
// Namespacing is a Consul Enterprise feature.
Namespace string `json:"namespace,omitempty"`
}
IngressService manages configuration for services that are exposed to ingress traffic.
func (*IngressService) DeepCopy ¶ added in v0.22.0
func (in *IngressService) DeepCopy() *IngressService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressService.
func (*IngressService) DeepCopyInto ¶ added in v0.22.0
func (in *IngressService) DeepCopyInto(out *IngressService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IntentionAction ¶
type IntentionAction string
IntentionAction is the action that the intention represents. This can be "allow" or "deny" to allowlist or denylist intentions.
type IntentionHTTPHeaderPermission ¶
type IntentionHTTPHeaderPermission struct {
// Name is the name of the header to match.
Name string `json:"name,omitempty"`
// Present matches if the header with the given name is present with any value.
Present bool `json:"present,omitempty"`
// Exact matches if the header with the given name is this value.
Exact string `json:"exact,omitempty"`
// Prefix matches if the header with the given name has this prefix.
Prefix string `json:"prefix,omitempty"`
// Suffix matches if the header with the given name has this suffix.
Suffix string `json:"suffix,omitempty"`
// Regex matches if the header with the given name matches this pattern.
Regex string `json:"regex,omitempty"`
// Invert inverts the logic of the match.
Invert bool `json:"invert,omitempty"`
}
func (*IntentionHTTPHeaderPermission) DeepCopy ¶
func (in *IntentionHTTPHeaderPermission) DeepCopy() *IntentionHTTPHeaderPermission
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntentionHTTPHeaderPermission.
func (*IntentionHTTPHeaderPermission) DeepCopyInto ¶
func (in *IntentionHTTPHeaderPermission) DeepCopyInto(out *IntentionHTTPHeaderPermission)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IntentionHTTPHeaderPermissions ¶
type IntentionHTTPHeaderPermissions []IntentionHTTPHeaderPermission
func (IntentionHTTPHeaderPermissions) DeepCopy ¶
func (in IntentionHTTPHeaderPermissions) DeepCopy() IntentionHTTPHeaderPermissions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntentionHTTPHeaderPermissions.
func (IntentionHTTPHeaderPermissions) DeepCopyInto ¶
func (in IntentionHTTPHeaderPermissions) DeepCopyInto(out *IntentionHTTPHeaderPermissions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IntentionHTTPPermission ¶
type IntentionHTTPPermission struct {
// PathExact is the exact path to match on the HTTP request path.
PathExact string `json:"pathExact,omitempty"`
// PathPrefix is the path prefix to match on the HTTP request path.
PathPrefix string `json:"pathPrefix,omitempty"`
// PathRegex is the regular expression to match on the HTTP request path.
PathRegex string `json:"pathRegex,omitempty"`
// Header is a set of criteria that can match on HTTP request headers.
// If more than one is configured all must match for the overall match to apply.
Header IntentionHTTPHeaderPermissions `json:"header,omitempty"`
// Methods is a list of HTTP methods for which this match applies. If unspecified
// all HTTP methods are matched. If provided the names must be a valid method.
Methods []string `json:"methods,omitempty"`
}
func (*IntentionHTTPPermission) DeepCopy ¶
func (in *IntentionHTTPPermission) DeepCopy() *IntentionHTTPPermission
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntentionHTTPPermission.
func (*IntentionHTTPPermission) DeepCopyInto ¶
func (in *IntentionHTTPPermission) DeepCopyInto(out *IntentionHTTPPermission)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IntentionPermission ¶
type IntentionPermission struct {
// Action is one of "allow" or "deny" for the action that
// should be taken if this permission matches a request.
Action IntentionAction `json:"action,omitempty"`
// HTTP is a set of HTTP-specific authorization criteria.
HTTP *IntentionHTTPPermission `json:"http,omitempty"`
}
func (*IntentionPermission) DeepCopy ¶
func (in *IntentionPermission) DeepCopy() *IntentionPermission
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntentionPermission.
func (*IntentionPermission) DeepCopyInto ¶
func (in *IntentionPermission) DeepCopyInto(out *IntentionPermission)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IntentionPermissions ¶
type IntentionPermissions []*IntentionPermission
func (IntentionPermissions) DeepCopy ¶
func (in IntentionPermissions) DeepCopy() IntentionPermissions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntentionPermissions.
func (IntentionPermissions) DeepCopyInto ¶
func (in IntentionPermissions) DeepCopyInto(out *IntentionPermissions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LeastRequestConfig ¶
type LeastRequestConfig struct {
// ChoiceCount determines the number of random healthy hosts from which to select the one with the least requests.
ChoiceCount uint32 `json:"choiceCount,omitempty"`
}
func (*LeastRequestConfig) DeepCopy ¶
func (in *LeastRequestConfig) DeepCopy() *LeastRequestConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeastRequestConfig.
func (*LeastRequestConfig) DeepCopyInto ¶
func (in *LeastRequestConfig) DeepCopyInto(out *LeastRequestConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LinkedService ¶ added in v0.22.0
type LinkedService struct {
// The namespace the service is registered in.
Namespace string `json:"namespace,omitempty"`
// Name is the name of the service, as defined in Consul's catalog.
Name string `json:"name,omitempty"`
// CAFile is the optional path to a CA certificate to use for TLS connections
// from the gateway to the linked service.
CAFile string `json:"caFile,omitempty"`
// CertFile is the optional path to a client certificate to use for TLS connections
// from the gateway to the linked service.
CertFile string `json:"certFile,omitempty"`
// KeyFile is the optional path to a private key to use for TLS connections
// from the gateway to the linked service.
KeyFile string `json:"keyFile,omitempty"`
// SNI is the optional name to specify during the TLS handshake with a linked service.
SNI string `json:"sni,omitempty"`
}
A LinkedService is a service represented by a terminating gateway
func (*LinkedService) DeepCopy ¶ added in v0.22.0
func (in *LinkedService) DeepCopy() *LinkedService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinkedService.
func (*LinkedService) DeepCopyInto ¶ added in v0.22.0
func (in *LinkedService) DeepCopyInto(out *LinkedService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancer ¶
type LoadBalancer struct {
// Policy is the load balancing policy used to select a host.
Policy string `json:"policy,omitempty"`
// RingHashConfig contains configuration for the "ringHash" policy type.
RingHashConfig *RingHashConfig `json:"ringHashConfig,omitempty"`
// LeastRequestConfig contains configuration for the "leastRequest" policy type.
LeastRequestConfig *LeastRequestConfig `json:"leastRequestConfig,omitempty"`
// HashPolicies is a list of hash policies to use for hashing load balancing algorithms.
// Hash policies are evaluated individually and combined such that identical lists
// result in the same hash.
// If no hash policies are present, or none are successfully evaluated,
// then a random backend host will be selected.
HashPolicies []HashPolicy `json:"hashPolicies,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 Mesh ¶ added in v0.26.0
type Mesh struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec MeshSpec `json:"spec,omitempty"`
Status `json:"status,omitempty"`
}
Mesh is the Schema for the mesh API +kubebuilder:printcolumn:name="Synced",type="string",JSONPath=".status.conditions[?(@.type==\"Synced\")].status",description="The sync status of the resource with Consul" +kubebuilder:printcolumn:name="Last Synced",type="date",JSONPath=".status.lastSyncedTime",description="The last successful synced time of the resource with Consul" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="The age of the resource"
func (*Mesh) AddFinalizer ¶ added in v0.26.0
func (*Mesh) ConsulGlobalResource ¶ added in v0.26.0
func (*Mesh) ConsulKind ¶ added in v0.26.0
func (*Mesh) ConsulMirroringNS ¶ added in v0.26.0
func (*Mesh) ConsulName ¶ added in v0.26.0
func (*Mesh) DeepCopy ¶ added in v0.26.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Mesh.
func (*Mesh) DeepCopyInto ¶ added in v0.26.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Mesh) DeepCopyObject ¶ added in v0.26.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Mesh) DefaultNamespaceFields ¶ added in v0.26.0
DefaultNamespaceFields has no behaviour here as meshes have no namespace specific fields.
func (*Mesh) Finalizers ¶ added in v0.26.0
func (*Mesh) GetObjectMeta ¶ added in v0.26.0
func (in *Mesh) GetObjectMeta() metav1.ObjectMeta
func (*Mesh) KubernetesName ¶ added in v0.26.0
func (*Mesh) MatchesConsul ¶ added in v0.26.0
func (in *Mesh) MatchesConsul(candidate capi.ConfigEntry) bool
func (*Mesh) RemoveFinalizer ¶ added in v0.26.0
func (*Mesh) SetLastSyncedTime ¶ added in v0.26.0
func (*Mesh) SetSyncedCondition ¶ added in v0.26.0
func (in *Mesh) SetSyncedCondition(status corev1.ConditionStatus, reason string, message string)
func (*Mesh) SyncedCondition ¶ added in v0.26.0
func (in *Mesh) SyncedCondition() (status corev1.ConditionStatus, reason, message string)
func (*Mesh) SyncedConditionStatus ¶ added in v0.26.0
func (in *Mesh) SyncedConditionStatus() corev1.ConditionStatus
type MeshGateway ¶ added in v0.26.0
type MeshGateway struct {
// Mode is the mode that should be used for the upstream connection.
// One of none, local, or remote.
Mode string `json:"mode,omitempty"`
}
MeshGateway controls how Mesh Gateways are used for upstream Connect services
func (*MeshGateway) DeepCopy ¶ added in v0.26.0
func (in *MeshGateway) DeepCopy() *MeshGateway
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MeshGateway.
func (*MeshGateway) DeepCopyInto ¶ added in v0.26.0
func (in *MeshGateway) DeepCopyInto(out *MeshGateway)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MeshGatewayMode ¶
type MeshGatewayMode string
type MeshList ¶ added in v0.26.0
type MeshList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Mesh `json:"items"`
}
MeshList contains a list of Mesh
func (*MeshList) DeepCopy ¶ added in v0.26.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MeshList.
func (*MeshList) DeepCopyInto ¶ added in v0.26.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MeshList) DeepCopyObject ¶ added in v0.26.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MeshSpec ¶ added in v0.26.0
type MeshSpec struct {
TransparentProxy TransparentProxyMeshConfig `json:"transparentProxy,omitempty"`
}
MeshSpec defines the desired state of Mesh
func (*MeshSpec) DeepCopy ¶ added in v0.26.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MeshSpec.
func (*MeshSpec) DeepCopyInto ¶ added in v0.26.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MeshWebhook ¶ added in v0.26.0
type MeshWebhook struct {
client.Client
ConsulClient *capi.Client
Logger logr.Logger
EnableConsulNamespaces bool
EnableNSMirroring bool
// contains filtered or unexported fields
}
func (*MeshWebhook) InjectDecoder ¶ added in v0.26.0
func (v *MeshWebhook) InjectDecoder(d *admission.Decoder) error
type PassiveHealthCheck ¶ added in v0.26.0
type PassiveHealthCheck struct {
// Interval between health check analysis sweeps. Each sweep may remove
// hosts or return hosts to the pool.
Interval metav1.Duration `json:"interval,omitempty"`
// MaxFailures is the count of consecutive failures that results in a host
// being removed from the pool.
MaxFailures uint32 `json:"maxFailures,omitempty"`
}
PassiveHealthCheck configuration determines how upstream proxy instances will be monitored for removal from the load balancing pool.
func (*PassiveHealthCheck) DeepCopy ¶ added in v0.26.0
func (in *PassiveHealthCheck) DeepCopy() *PassiveHealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PassiveHealthCheck.
func (*PassiveHealthCheck) DeepCopyInto ¶ added in v0.26.0
func (in *PassiveHealthCheck) DeepCopyInto(out *PassiveHealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxyDefaults ¶
type ProxyDefaults struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ProxyDefaultsSpec `json:"spec,omitempty"`
Status `json:"status,omitempty"`
}
ProxyDefaults is the Schema for the proxydefaults API +kubebuilder:printcolumn:name="Synced",type="string",JSONPath=".status.conditions[?(@.type==\"Synced\")].status",description="The sync status of the resource with Consul" +kubebuilder:printcolumn:name="Last Synced",type="date",JSONPath=".status.lastSyncedTime",description="The last successful synced time of the resource with Consul" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="The age of the resource"
func (*ProxyDefaults) AddFinalizer ¶
func (in *ProxyDefaults) AddFinalizer(name string)
func (*ProxyDefaults) ConsulGlobalResource ¶
func (in *ProxyDefaults) ConsulGlobalResource() bool
func (*ProxyDefaults) ConsulKind ¶
func (in *ProxyDefaults) ConsulKind() string
func (*ProxyDefaults) ConsulMirroringNS ¶
func (in *ProxyDefaults) ConsulMirroringNS() string
func (*ProxyDefaults) ConsulName ¶
func (in *ProxyDefaults) ConsulName() string
func (*ProxyDefaults) DeepCopy ¶
func (in *ProxyDefaults) DeepCopy() *ProxyDefaults
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyDefaults.
func (*ProxyDefaults) DeepCopyInto ¶
func (in *ProxyDefaults) DeepCopyInto(out *ProxyDefaults)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxyDefaults) DeepCopyObject ¶
func (in *ProxyDefaults) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ProxyDefaults) DefaultNamespaceFields ¶ added in v0.23.0
func (in *ProxyDefaults) DefaultNamespaceFields(_ bool, _ string, _ bool, _ string)
DefaultNamespaceFields has no behaviour here as proxy-defaults have no namespace specific fields.
func (*ProxyDefaults) Finalizers ¶
func (in *ProxyDefaults) Finalizers() []string
func (*ProxyDefaults) GetObjectMeta ¶
func (in *ProxyDefaults) GetObjectMeta() metav1.ObjectMeta
func (*ProxyDefaults) KubeKind ¶
func (in *ProxyDefaults) KubeKind() string
func (*ProxyDefaults) KubernetesName ¶
func (in *ProxyDefaults) KubernetesName() string
func (*ProxyDefaults) MatchesConsul ¶
func (in *ProxyDefaults) MatchesConsul(candidate api.ConfigEntry) bool
func (*ProxyDefaults) RemoveFinalizer ¶
func (in *ProxyDefaults) RemoveFinalizer(name string)
func (*ProxyDefaults) SetLastSyncedTime ¶ added in v0.25.0
func (in *ProxyDefaults) SetLastSyncedTime(time *metav1.Time)
func (*ProxyDefaults) SetSyncedCondition ¶
func (in *ProxyDefaults) SetSyncedCondition(status corev1.ConditionStatus, reason string, message string)
func (*ProxyDefaults) SyncedCondition ¶
func (in *ProxyDefaults) SyncedCondition() (status corev1.ConditionStatus, reason, message string)
func (*ProxyDefaults) SyncedConditionStatus ¶
func (in *ProxyDefaults) SyncedConditionStatus() corev1.ConditionStatus
func (*ProxyDefaults) ToConsul ¶
func (in *ProxyDefaults) ToConsul(datacenter string) capi.ConfigEntry
func (*ProxyDefaults) Validate ¶
func (in *ProxyDefaults) Validate(namespacesEnabled bool) error
type ProxyDefaultsList ¶
type ProxyDefaultsList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ProxyDefaults `json:"items"`
}
ProxyDefaultsList contains a list of ProxyDefaults
func (*ProxyDefaultsList) DeepCopy ¶
func (in *ProxyDefaultsList) DeepCopy() *ProxyDefaultsList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyDefaultsList.
func (*ProxyDefaultsList) DeepCopyInto ¶
func (in *ProxyDefaultsList) DeepCopyInto(out *ProxyDefaultsList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxyDefaultsList) DeepCopyObject ¶
func (in *ProxyDefaultsList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProxyDefaultsSpec ¶
type ProxyDefaultsSpec struct {
// Config is an arbitrary map of configuration values used by Connect proxies.
// Any values that your proxy allows can be configured globally here.
// Supports JSON config values. See https://www.consul.io/docs/connect/proxies/envoy#configuration-formatting
// +kubebuilder:validation:Type=object
// +kubebuilder:validation:Schemaless
// +kubebuilder:pruning:PreserveUnknownFields
Config json.RawMessage `json:"config,omitempty"`
// MeshGateway controls the default mesh gateway configuration for this service.
MeshGateway MeshGateway `json:"meshGateway,omitempty"`
// Expose controls the default expose path configuration for Envoy.
Expose Expose `json:"expose,omitempty"`
// TransparentProxy controls configuration specific to proxies in transparent mode.
// Note: This cannot be set using the CRD and should be set using annotations on the
// services that are part of the mesh.
TransparentProxy *TransparentProxy `json:"transparentProxy,omitempty"`
// Mode can be one of "direct" or "transparent". "transparent" represents that inbound and outbound
// application traffic is being captured and redirected through the proxy. This mode does not
// enable the traffic redirection itself. Instead it signals Consul to configure Envoy as if
// traffic is already being redirected. "direct" represents that the proxy's listeners must be
// dialed directly by the local application and other proxies.
// Note: This cannot be set using the CRD and should be set using annotations on the
// services that are part of the mesh.
Mode *ProxyMode `json:"mode,omitempty"`
}
ProxyDefaultsSpec defines the desired state of ProxyDefaults
func (*ProxyDefaultsSpec) DeepCopy ¶
func (in *ProxyDefaultsSpec) DeepCopy() *ProxyDefaultsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyDefaultsSpec.
func (*ProxyDefaultsSpec) DeepCopyInto ¶
func (in *ProxyDefaultsSpec) DeepCopyInto(out *ProxyDefaultsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxyDefaultsWebhook ¶
type ProxyDefaultsWebhook struct {
client.Client
ConsulClient *capi.Client
Logger logr.Logger
EnableConsulNamespaces bool
EnableNSMirroring bool
// contains filtered or unexported fields
}
func (*ProxyDefaultsWebhook) InjectDecoder ¶
func (v *ProxyDefaultsWebhook) InjectDecoder(d *admission.Decoder) error
type RingHashConfig ¶
type RingHashConfig struct {
// MinimumRingSize determines the minimum number of entries in the hash ring.
MinimumRingSize uint64 `json:"minimumRingSize,omitempty"`
// MaximumRingSize determines the maximum number of entries in the hash ring.
MaximumRingSize uint64 `json:"maximumRingSize,omitempty"`
}
func (*RingHashConfig) DeepCopy ¶
func (in *RingHashConfig) DeepCopy() *RingHashConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RingHashConfig.
func (*RingHashConfig) DeepCopyInto ¶
func (in *RingHashConfig) DeepCopyInto(out *RingHashConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceDefaults ¶
type ServiceDefaults struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ServiceDefaultsSpec `json:"spec,omitempty"`
Status `json:"status,omitempty"`
}
ServiceDefaults is the Schema for the servicedefaults API +kubebuilder:printcolumn:name="Synced",type="string",JSONPath=".status.conditions[?(@.type==\"Synced\")].status",description="The sync status of the resource with Consul" +kubebuilder:printcolumn:name="Last Synced",type="date",JSONPath=".status.lastSyncedTime",description="The last successful synced time of the resource with Consul" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="The age of the resource"
func (*ServiceDefaults) AddFinalizer ¶
func (in *ServiceDefaults) AddFinalizer(name string)
func (*ServiceDefaults) ConsulGlobalResource ¶
func (in *ServiceDefaults) ConsulGlobalResource() bool
func (*ServiceDefaults) ConsulKind ¶
func (in *ServiceDefaults) ConsulKind() string
func (*ServiceDefaults) ConsulMirroringNS ¶
func (in *ServiceDefaults) ConsulMirroringNS() string
func (*ServiceDefaults) ConsulName ¶
func (in *ServiceDefaults) ConsulName() string
func (*ServiceDefaults) DeepCopy ¶
func (in *ServiceDefaults) DeepCopy() *ServiceDefaults
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceDefaults.
func (*ServiceDefaults) DeepCopyInto ¶
func (in *ServiceDefaults) DeepCopyInto(out *ServiceDefaults)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceDefaults) DeepCopyObject ¶
func (in *ServiceDefaults) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ServiceDefaults) DefaultNamespaceFields ¶ added in v0.23.0
func (in *ServiceDefaults) DefaultNamespaceFields(_ bool, _ string, _ bool, _ string)
DefaultNamespaceFields has no behaviour here as service-defaults have no namespace specific fields.
func (*ServiceDefaults) Finalizers ¶
func (in *ServiceDefaults) Finalizers() []string
func (*ServiceDefaults) GetObjectMeta ¶
func (in *ServiceDefaults) GetObjectMeta() metav1.ObjectMeta
func (*ServiceDefaults) KubeKind ¶
func (in *ServiceDefaults) KubeKind() string
func (*ServiceDefaults) KubernetesName ¶
func (in *ServiceDefaults) KubernetesName() string
func (*ServiceDefaults) MatchesConsul ¶
func (in *ServiceDefaults) MatchesConsul(candidate capi.ConfigEntry) bool
MatchesConsul returns true if entry has the same config as this struct.
func (*ServiceDefaults) RemoveFinalizer ¶
func (in *ServiceDefaults) RemoveFinalizer(name string)
func (*ServiceDefaults) SetLastSyncedTime ¶ added in v0.25.0
func (in *ServiceDefaults) SetLastSyncedTime(time *metav1.Time)
func (*ServiceDefaults) SetSyncedCondition ¶
func (in *ServiceDefaults) SetSyncedCondition(status corev1.ConditionStatus, reason string, message string)
func (*ServiceDefaults) SyncedCondition ¶
func (in *ServiceDefaults) SyncedCondition() (status corev1.ConditionStatus, reason string, message string)
func (*ServiceDefaults) SyncedConditionStatus ¶
func (in *ServiceDefaults) SyncedConditionStatus() corev1.ConditionStatus
func (*ServiceDefaults) ToConsul ¶
func (in *ServiceDefaults) ToConsul(datacenter string) capi.ConfigEntry
ToConsul converts the entry into it's Consul equivalent struct.
func (*ServiceDefaults) Validate ¶
func (in *ServiceDefaults) Validate(namespacesEnabled bool) error
Validate validates the fields provided in the spec of the ServiceDefaults and returns an error which lists all invalid fields in the resource spec.
type ServiceDefaultsList ¶
type ServiceDefaultsList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ServiceDefaults `json:"items"`
}
ServiceDefaultsList contains a list of ServiceDefaults
func (*ServiceDefaultsList) DeepCopy ¶
func (in *ServiceDefaultsList) DeepCopy() *ServiceDefaultsList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceDefaultsList.
func (*ServiceDefaultsList) DeepCopyInto ¶
func (in *ServiceDefaultsList) DeepCopyInto(out *ServiceDefaultsList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceDefaultsList) DeepCopyObject ¶
func (in *ServiceDefaultsList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ServiceDefaultsSpec ¶
type ServiceDefaultsSpec struct {
// Protocol sets the protocol of the service. This is used by Connect proxies for
// things like observability features and to unlock usage of the
// service-splitter and service-router config entries for a service.
Protocol string `json:"protocol,omitempty"`
// MeshGateway controls the default mesh gateway configuration for this service.
MeshGateway MeshGateway `json:"meshGateway,omitempty"`
// Expose controls the default expose path configuration for Envoy.
Expose Expose `json:"expose,omitempty"`
// ExternalSNI is an optional setting that allows for the TLS SNI value
// to be changed to a non-connect value when federating with an external system.
ExternalSNI string `json:"externalSNI,omitempty"`
// TransparentProxy controls configuration specific to proxies in transparent mode.
// Note: This cannot be set using the CRD and should be set using annotations on the
// services that are part of the mesh.
TransparentProxy *TransparentProxy `json:"transparentProxy,omitempty"`
// Mode can be one of "direct" or "transparent". "transparent" represents that inbound and outbound
// application traffic is being captured and redirected through the proxy. This mode does not
// enable the traffic redirection itself. Instead it signals Consul to configure Envoy as if
// traffic is already being redirected. "direct" represents that the proxy's listeners must be
// dialed directly by the local application and other proxies.
// Note: This cannot be set using the CRD and should be set using annotations on the
// services that are part of the mesh.
Mode *ProxyMode `json:"mode,omitempty"`
// UpstreamConfig controls default configuration settings that apply across all upstreams,
// and per-upstream configuration overrides. Note that per-upstream configuration applies
// across all federated datacenters to the pairing of source and upstream destination services.
UpstreamConfig *Upstreams `json:"upstreamConfig,omitempty"`
}
ServiceDefaultsSpec defines the desired state of ServiceDefaults
func (*ServiceDefaultsSpec) DeepCopy ¶
func (in *ServiceDefaultsSpec) DeepCopy() *ServiceDefaultsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceDefaultsSpec.
func (*ServiceDefaultsSpec) DeepCopyInto ¶
func (in *ServiceDefaultsSpec) DeepCopyInto(out *ServiceDefaultsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceDefaultsWebhook ¶
type ServiceDefaultsWebhook struct {
ConsulClient *capi.Client
Logger logr.Logger
// EnableConsulNamespaces indicates that a user is running Consul Enterprise
// with version 1.7+ which supports namespaces.
EnableConsulNamespaces bool
// EnableNSMirroring causes Consul namespaces to be created to match the
// k8s namespace of any config entry custom resource. Config entries will
// be created in the matching Consul namespace.
EnableNSMirroring bool
// ConsulDestinationNamespace is the namespace in Consul that the config entry created
// in k8s will get mapped into. If the Consul namespace does not already exist, it will
// be created.
ConsulDestinationNamespace string
// NSMirroringPrefix works in conjunction with Namespace Mirroring.
// It is the prefix added to the Consul namespace to map to a specific.
// k8s namespace. For example, if `mirroringK8SPrefix` is set to "k8s-", a
// service in the k8s `staging` namespace will be registered into the
// `k8s-staging` Consul namespace.
NSMirroringPrefix string
client.Client
// contains filtered or unexported fields
}
func (*ServiceDefaultsWebhook) InjectDecoder ¶
func (v *ServiceDefaultsWebhook) InjectDecoder(d *admission.Decoder) error
func (*ServiceDefaultsWebhook) List ¶
func (v *ServiceDefaultsWebhook) List(ctx context.Context) ([]common.ConfigEntryResource, error)
type ServiceIntentions ¶
type ServiceIntentions struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ServiceIntentionsSpec `json:"spec,omitempty"`
Status `json:"status,omitempty"`
}
ServiceIntentions is the Schema for the serviceintentions API +kubebuilder:printcolumn:name="Synced",type="string",JSONPath=".status.conditions[?(@.type==\"Synced\")].status",description="The sync status of the resource with Consul" +kubebuilder:printcolumn:name="Last Synced",type="date",JSONPath=".status.lastSyncedTime",description="The last successful synced time of the resource with Consul" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="The age of the resource"
func (*ServiceIntentions) AddFinalizer ¶
func (in *ServiceIntentions) AddFinalizer(f string)
func (*ServiceIntentions) ConsulGlobalResource ¶
func (in *ServiceIntentions) ConsulGlobalResource() bool
func (*ServiceIntentions) ConsulKind ¶
func (in *ServiceIntentions) ConsulKind() string
func (*ServiceIntentions) ConsulMirroringNS ¶
func (in *ServiceIntentions) ConsulMirroringNS() string
func (*ServiceIntentions) ConsulName ¶
func (in *ServiceIntentions) ConsulName() string
func (*ServiceIntentions) DeepCopy ¶
func (in *ServiceIntentions) DeepCopy() *ServiceIntentions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIntentions.
func (*ServiceIntentions) DeepCopyInto ¶
func (in *ServiceIntentions) DeepCopyInto(out *ServiceIntentions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceIntentions) DeepCopyObject ¶
func (in *ServiceIntentions) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ServiceIntentions) DefaultNamespaceFields ¶ added in v0.23.0
func (in *ServiceIntentions) DefaultNamespaceFields(consulNamespacesEnabled bool, destinationNamespace string, mirroring bool, prefix string)
DefaultNamespaceFields sets the namespace field on spec.destination to their default values if namespaces are enabled.
func (*ServiceIntentions) Finalizers ¶
func (in *ServiceIntentions) Finalizers() []string
func (*ServiceIntentions) GetObjectMeta ¶
func (in *ServiceIntentions) GetObjectMeta() metav1.ObjectMeta
func (*ServiceIntentions) KubeKind ¶
func (in *ServiceIntentions) KubeKind() string
func (*ServiceIntentions) KubernetesName ¶
func (in *ServiceIntentions) KubernetesName() string
func (*ServiceIntentions) MatchesConsul ¶
func (in *ServiceIntentions) MatchesConsul(candidate api.ConfigEntry) bool
func (*ServiceIntentions) RemoveFinalizer ¶
func (in *ServiceIntentions) RemoveFinalizer(f string)
func (*ServiceIntentions) SetLastSyncedTime ¶ added in v0.25.0
func (in *ServiceIntentions) SetLastSyncedTime(time *metav1.Time)
func (*ServiceIntentions) SetSyncedCondition ¶
func (in *ServiceIntentions) SetSyncedCondition(status corev1.ConditionStatus, reason, message string)
func (*ServiceIntentions) SyncedCondition ¶
func (in *ServiceIntentions) SyncedCondition() (status corev1.ConditionStatus, reason, message string)
func (*ServiceIntentions) SyncedConditionStatus ¶
func (in *ServiceIntentions) SyncedConditionStatus() corev1.ConditionStatus
func (*ServiceIntentions) ToConsul ¶
func (in *ServiceIntentions) ToConsul(datacenter string) api.ConfigEntry
func (*ServiceIntentions) Validate ¶
func (in *ServiceIntentions) Validate(namespacesEnabled bool) error
type ServiceIntentionsList ¶
type ServiceIntentionsList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ServiceIntentions `json:"items"`
}
ServiceIntentionsList contains a list of ServiceIntentions
func (*ServiceIntentionsList) DeepCopy ¶
func (in *ServiceIntentionsList) DeepCopy() *ServiceIntentionsList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIntentionsList.
func (*ServiceIntentionsList) DeepCopyInto ¶
func (in *ServiceIntentionsList) DeepCopyInto(out *ServiceIntentionsList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceIntentionsList) DeepCopyObject ¶
func (in *ServiceIntentionsList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ServiceIntentionsSpec ¶
type ServiceIntentionsSpec struct {
// Destination is the intention destination that will have the authorization granted to.
Destination Destination `json:"destination,omitempty"`
// Sources is the list of all intention sources and the authorization granted to those sources.
// The order of this list does not matter, but out of convenience Consul will always store this
// reverse sorted by intention precedence, as that is the order that they will be evaluated at enforcement time.
Sources SourceIntentions `json:"sources,omitempty"`
}
ServiceIntentionsSpec defines the desired state of ServiceIntentions
func (*ServiceIntentionsSpec) DeepCopy ¶
func (in *ServiceIntentionsSpec) DeepCopy() *ServiceIntentionsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIntentionsSpec.
func (*ServiceIntentionsSpec) DeepCopyInto ¶
func (in *ServiceIntentionsSpec) DeepCopyInto(out *ServiceIntentionsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceIntentionsWebhook ¶
type ServiceIntentionsWebhook struct {
client.Client
ConsulClient *capi.Client
Logger logr.Logger
EnableConsulNamespaces bool
EnableNSMirroring bool
ConsulDestinationNamespace string
NSMirroringPrefix string
// contains filtered or unexported fields
}
func (*ServiceIntentionsWebhook) InjectDecoder ¶
func (v *ServiceIntentionsWebhook) InjectDecoder(d *admission.Decoder) error
type ServiceResolver ¶
type ServiceResolver struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ServiceResolverSpec `json:"spec,omitempty"`
Status `json:"status,omitempty"`
}
ServiceResolver is the Schema for the serviceresolvers API +kubebuilder:printcolumn:name="Synced",type="string",JSONPath=".status.conditions[?(@.type==\"Synced\")].status",description="The sync status of the resource with Consul" +kubebuilder:printcolumn:name="Last Synced",type="date",JSONPath=".status.lastSyncedTime",description="The last successful synced time of the resource with Consul" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="The age of the resource"
func (*ServiceResolver) AddFinalizer ¶
func (in *ServiceResolver) AddFinalizer(f string)
func (*ServiceResolver) ConsulGlobalResource ¶
func (in *ServiceResolver) ConsulGlobalResource() bool
func (*ServiceResolver) ConsulKind ¶
func (in *ServiceResolver) ConsulKind() string
func (*ServiceResolver) ConsulMirroringNS ¶
func (in *ServiceResolver) ConsulMirroringNS() string
func (*ServiceResolver) ConsulName ¶
func (in *ServiceResolver) ConsulName() string
func (*ServiceResolver) DeepCopy ¶
func (in *ServiceResolver) DeepCopy() *ServiceResolver
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceResolver.
func (*ServiceResolver) DeepCopyInto ¶
func (in *ServiceResolver) DeepCopyInto(out *ServiceResolver)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceResolver) DeepCopyObject ¶
func (in *ServiceResolver) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ServiceResolver) DefaultNamespaceFields ¶ added in v0.23.0
func (in *ServiceResolver) DefaultNamespaceFields(_ bool, _ string, _ bool, _ string)
DefaultNamespaceFields has no behaviour here as service-resolver have namespace fields that do not default.
func (*ServiceResolver) Finalizers ¶
func (in *ServiceResolver) Finalizers() []string
func (*ServiceResolver) GetObjectMeta ¶
func (in *ServiceResolver) GetObjectMeta() metav1.ObjectMeta
func (*ServiceResolver) KubeKind ¶
func (in *ServiceResolver) KubeKind() string
func (*ServiceResolver) KubernetesName ¶
func (in *ServiceResolver) KubernetesName() string
func (*ServiceResolver) MatchesConsul ¶
func (in *ServiceResolver) MatchesConsul(candidate capi.ConfigEntry) bool
func (*ServiceResolver) RemoveFinalizer ¶
func (in *ServiceResolver) RemoveFinalizer(f string)
func (*ServiceResolver) SetLastSyncedTime ¶ added in v0.25.0
func (in *ServiceResolver) SetLastSyncedTime(time *metav1.Time)
func (*ServiceResolver) SetSyncedCondition ¶
func (in *ServiceResolver) SetSyncedCondition(status corev1.ConditionStatus, reason string, message string)
func (*ServiceResolver) SyncedCondition ¶
func (in *ServiceResolver) SyncedCondition() (status corev1.ConditionStatus, reason string, message string)
func (*ServiceResolver) SyncedConditionStatus ¶
func (in *ServiceResolver) SyncedConditionStatus() corev1.ConditionStatus
func (*ServiceResolver) ToConsul ¶
func (in *ServiceResolver) ToConsul(datacenter string) capi.ConfigEntry
ToConsul converts the entry into its Consul equivalent struct.
func (*ServiceResolver) Validate ¶
func (in *ServiceResolver) Validate(namespacesEnabled bool) error
type ServiceResolverFailover ¶
type ServiceResolverFailover struct {
// Service is the service to resolve instead of the default as the failover
// group of instances during failover.
Service string `json:"service,omitempty"`
// ServiceSubset is the named subset of the requested service to resolve as
// the failover group of instances. If empty the default subset for the
// requested service is used.
ServiceSubset string `json:"serviceSubset,omitempty"`
// Namespace is the namespace to resolve the requested service from to form
// the failover group of instances. If empty the current namespace is used.
Namespace string `json:"namespace,omitempty"`
// Datacenters is a fixed list of datacenters to try during failover.
Datacenters []string `json:"datacenters,omitempty"`
}
func (*ServiceResolverFailover) DeepCopy ¶
func (in *ServiceResolverFailover) DeepCopy() *ServiceResolverFailover
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceResolverFailover.
func (*ServiceResolverFailover) DeepCopyInto ¶
func (in *ServiceResolverFailover) DeepCopyInto(out *ServiceResolverFailover)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceResolverFailoverMap ¶
type ServiceResolverFailoverMap map[string]ServiceResolverFailover
func (ServiceResolverFailoverMap) DeepCopy ¶
func (in ServiceResolverFailoverMap) DeepCopy() ServiceResolverFailoverMap
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceResolverFailoverMap.
func (ServiceResolverFailoverMap) DeepCopyInto ¶
func (in ServiceResolverFailoverMap) DeepCopyInto(out *ServiceResolverFailoverMap)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceResolverList ¶
type ServiceResolverList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ServiceResolver `json:"items"`
}
ServiceResolverList contains a list of ServiceResolver
func (*ServiceResolverList) DeepCopy ¶
func (in *ServiceResolverList) DeepCopy() *ServiceResolverList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceResolverList.
func (*ServiceResolverList) DeepCopyInto ¶
func (in *ServiceResolverList) DeepCopyInto(out *ServiceResolverList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceResolverList) DeepCopyObject ¶
func (in *ServiceResolverList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ServiceResolverRedirect ¶
type ServiceResolverRedirect struct {
// Service is a service to resolve instead of the current service.
Service string `json:"service,omitempty"`
// ServiceSubset is a named subset of the given service to resolve instead
// of one defined as that service's DefaultSubset If empty the default
// subset is used.
ServiceSubset string `json:"serviceSubset,omitempty"`
// Namespace is the namespace to resolve the service from instead of the
// current one.
Namespace string `json:"namespace,omitempty"`
// Datacenter is the datacenter to resolve the service from instead of the
// current one.
Datacenter string `json:"datacenter,omitempty"`
}
func (*ServiceResolverRedirect) DeepCopy ¶
func (in *ServiceResolverRedirect) DeepCopy() *ServiceResolverRedirect
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceResolverRedirect.
func (*ServiceResolverRedirect) DeepCopyInto ¶
func (in *ServiceResolverRedirect) DeepCopyInto(out *ServiceResolverRedirect)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceResolverSpec ¶
type ServiceResolverSpec struct {
// DefaultSubset is the subset to use when no explicit subset is requested.
// If empty the unnamed subset is used.
DefaultSubset string `json:"defaultSubset,omitempty"`
// Subsets is map of subset name to subset definition for all usable named
// subsets of this service. The map key is the name of the subset and all
// names must be valid DNS subdomain elements.
// This may be empty, in which case only the unnamed default subset will
// be usable.
Subsets ServiceResolverSubsetMap `json:"subsets,omitempty"`
// Redirect when configured, all attempts to resolve the service this
// resolver defines will be substituted for the supplied redirect
// EXCEPT when the redirect has already been applied.
// When substituting the supplied redirect, all other fields besides
// Kind, Name, and Redirect will be ignored.
Redirect *ServiceResolverRedirect `json:"redirect,omitempty"`
// Failover controls when and how to reroute traffic to an alternate pool of
// service instances.
// The map is keyed by the service subset it applies to and the special
// string "*" is a wildcard that applies to any subset not otherwise
// specified here.
Failover ServiceResolverFailoverMap `json:"failover,omitempty"`
// ConnectTimeout is the timeout for establishing new network connections
// to this service.
ConnectTimeout metav1.Duration `json:"connectTimeout,omitempty"`
// LoadBalancer determines the load balancing policy and configuration for services
// issuing requests to this upstream service.
LoadBalancer *LoadBalancer `json:"loadBalancer,omitempty"`
}
ServiceResolverSpec defines the desired state of ServiceResolver
func (*ServiceResolverSpec) DeepCopy ¶
func (in *ServiceResolverSpec) DeepCopy() *ServiceResolverSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceResolverSpec.
func (*ServiceResolverSpec) DeepCopyInto ¶
func (in *ServiceResolverSpec) DeepCopyInto(out *ServiceResolverSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceResolverSubset ¶
type ServiceResolverSubset struct {
// Filter is the filter expression to be used for selecting instances of the
// requested service. If empty all healthy instances are returned. This
// expression can filter on the same selectors as the Health API endpoint.
Filter string `json:"filter,omitempty"`
// OnlyPassing specifies the behavior of the resolver's health check
// interpretation. If this is set to false, instances with checks in the
// passing as well as the warning states will be considered healthy. If this
// is set to true, only instances with checks in the passing state will be
// considered healthy.
OnlyPassing bool `json:"onlyPassing,omitempty"`
}
func (*ServiceResolverSubset) DeepCopy ¶
func (in *ServiceResolverSubset) DeepCopy() *ServiceResolverSubset
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceResolverSubset.
func (*ServiceResolverSubset) DeepCopyInto ¶
func (in *ServiceResolverSubset) DeepCopyInto(out *ServiceResolverSubset)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceResolverSubsetMap ¶
type ServiceResolverSubsetMap map[string]ServiceResolverSubset
func (ServiceResolverSubsetMap) DeepCopy ¶
func (in ServiceResolverSubsetMap) DeepCopy() ServiceResolverSubsetMap
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceResolverSubsetMap.
func (ServiceResolverSubsetMap) DeepCopyInto ¶
func (in ServiceResolverSubsetMap) DeepCopyInto(out *ServiceResolverSubsetMap)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceResolverWebhook ¶
type ServiceResolverWebhook struct {
ConsulClient *capi.Client
Logger logr.Logger
// EnableConsulNamespaces indicates that a user is running Consul Enterprise
// with version 1.7+ which supports namespaces.
EnableConsulNamespaces bool
// EnableNSMirroring causes Consul namespaces to be created to match the
// k8s namespace of any config entry custom resource. Config entries will
// be created in the matching Consul namespace.
EnableNSMirroring bool
// ConsulDestinationNamespace is the namespace in Consul that the config entry created
// in k8s will get mapped into. If the Consul namespace does not already exist, it will
// be created.
ConsulDestinationNamespace string
// NSMirroringPrefix works in conjunction with Namespace Mirroring.
// It is the prefix added to the Consul namespace to map to a specific.
// k8s namespace. For example, if `mirroringK8SPrefix` is set to "k8s-", a
// service in the k8s `staging` namespace will be registered into the
// `k8s-staging` Consul namespace.
NSMirroringPrefix string
client.Client
// contains filtered or unexported fields
}
func (*ServiceResolverWebhook) InjectDecoder ¶
func (v *ServiceResolverWebhook) InjectDecoder(d *admission.Decoder) error
func (*ServiceResolverWebhook) List ¶
func (v *ServiceResolverWebhook) List(ctx context.Context) ([]common.ConfigEntryResource, error)
type ServiceRoute ¶
type ServiceRoute struct {
// Match is a set of criteria that can match incoming L7 requests.
// If empty or omitted it acts as a catch-all.
Match *ServiceRouteMatch `json:"match,omitempty"`
// Destination controls how to proxy the matching request(s) to a service.
Destination *ServiceRouteDestination `json:"destination,omitempty"`
}
func (*ServiceRoute) DeepCopy ¶
func (in *ServiceRoute) DeepCopy() *ServiceRoute
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceRoute.
func (*ServiceRoute) DeepCopyInto ¶
func (in *ServiceRoute) DeepCopyInto(out *ServiceRoute)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceRouteDestination ¶
type ServiceRouteDestination struct {
// Service is the service to resolve instead of the default service.
// If empty then the default service name is used.
Service string `json:"service,omitempty"`
// ServiceSubset is a named subset of the given service to resolve instead
// of the one defined as that service's DefaultSubset.
// If empty, the default subset is used.
ServiceSubset string `json:"serviceSubset,omitempty"`
// Namespace is the Consul namespace to resolve the service from instead of
// the current namespace. If empty the current namespace is assumed.
Namespace string `json:"namespace,omitempty"`
// PrefixRewrite defines how to rewrite the HTTP request path before proxying
// it to its final destination.
// This requires that either match.http.pathPrefix or match.http.pathExact
// be configured on this route.
PrefixRewrite string `json:"prefixRewrite,omitempty"`
// RequestTimeout is the total amount of time permitted for the entire
// downstream request (and retries) to be processed.
RequestTimeout metav1.Duration `json:"requestTimeout,omitempty"`
// NumRetries is the number of times to retry the request when a retryable result occurs
NumRetries uint32 `json:"numRetries,omitempty"`
// RetryOnConnectFailure allows for connection failure errors to trigger a retry.
RetryOnConnectFailure bool `json:"retryOnConnectFailure,omitempty"`
// RetryOnStatusCodes is a flat list of http response status codes that are eligible for retry.
RetryOnStatusCodes []uint32 `json:"retryOnStatusCodes,omitempty"`
}
func (*ServiceRouteDestination) DeepCopy ¶
func (in *ServiceRouteDestination) DeepCopy() *ServiceRouteDestination
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceRouteDestination.
func (*ServiceRouteDestination) DeepCopyInto ¶
func (in *ServiceRouteDestination) DeepCopyInto(out *ServiceRouteDestination)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceRouteHTTPMatch ¶
type ServiceRouteHTTPMatch struct {
// PathExact is an exact path to match on the HTTP request path.
PathExact string `json:"pathExact,omitempty"`
// PathPrefix is a path prefix to match on the HTTP request path.
PathPrefix string `json:"pathPrefix,omitempty"`
// PathRegex is a regular expression to match on the HTTP request path.
PathRegex string `json:"pathRegex,omitempty"`
// Header is a set of criteria that can match on HTTP request headers.
// If more than one is configured all must match for the overall match to apply.
Header []ServiceRouteHTTPMatchHeader `json:"header,omitempty"`
// QueryParam is a set of criteria that can match on HTTP query parameters.
// If more than one is configured all must match for the overall match to apply.
QueryParam []ServiceRouteHTTPMatchQueryParam `json:"queryParam,omitempty"`
// Methods is a list of HTTP methods for which this match applies.
// If unspecified all http methods are matched.
Methods []string `json:"methods,omitempty"`
}
func (*ServiceRouteHTTPMatch) DeepCopy ¶
func (in *ServiceRouteHTTPMatch) DeepCopy() *ServiceRouteHTTPMatch
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceRouteHTTPMatch.
func (*ServiceRouteHTTPMatch) DeepCopyInto ¶
func (in *ServiceRouteHTTPMatch) DeepCopyInto(out *ServiceRouteHTTPMatch)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceRouteHTTPMatchHeader ¶
type ServiceRouteHTTPMatchHeader struct {
// Name is the name of the header to match.
Name string `json:"name"`
// Present will match if the header with the given name is present with any value.
Present bool `json:"present,omitempty"`
// Exact will match if the header with the given name is this value.
Exact string `json:"exact,omitempty"`
// Prefix will match if the header with the given name has this prefix.
Prefix string `json:"prefix,omitempty"`
// Suffix will match if the header with the given name has this suffix.
Suffix string `json:"suffix,omitempty"`
// Regex will match if the header with the given name matches this pattern.
Regex string `json:"regex,omitempty"`
// Invert inverts the logic of the match.
Invert bool `json:"invert,omitempty"`
}
func (*ServiceRouteHTTPMatchHeader) DeepCopy ¶
func (in *ServiceRouteHTTPMatchHeader) DeepCopy() *ServiceRouteHTTPMatchHeader
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceRouteHTTPMatchHeader.
func (*ServiceRouteHTTPMatchHeader) DeepCopyInto ¶
func (in *ServiceRouteHTTPMatchHeader) DeepCopyInto(out *ServiceRouteHTTPMatchHeader)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceRouteHTTPMatchQueryParam ¶
type ServiceRouteHTTPMatchQueryParam struct {
// Name is the name of the query parameter to match on.
Name string `json:"name"`
// Present will match if the query parameter with the given name is present
// with any value.
Present bool `json:"present,omitempty"`
// Exact will match if the query parameter with the given name is this value.
Exact string `json:"exact,omitempty"`
// Regex will match if the query parameter with the given name matches this pattern.
Regex string `json:"regex,omitempty"`
}
func (*ServiceRouteHTTPMatchQueryParam) DeepCopy ¶
func (in *ServiceRouteHTTPMatchQueryParam) DeepCopy() *ServiceRouteHTTPMatchQueryParam
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceRouteHTTPMatchQueryParam.
func (*ServiceRouteHTTPMatchQueryParam) DeepCopyInto ¶
func (in *ServiceRouteHTTPMatchQueryParam) DeepCopyInto(out *ServiceRouteHTTPMatchQueryParam)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceRouteMatch ¶
type ServiceRouteMatch struct {
// HTTP is a set of http-specific match criteria.
HTTP *ServiceRouteHTTPMatch `json:"http,omitempty"`
}
func (*ServiceRouteMatch) DeepCopy ¶
func (in *ServiceRouteMatch) DeepCopy() *ServiceRouteMatch
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceRouteMatch.
func (*ServiceRouteMatch) DeepCopyInto ¶
func (in *ServiceRouteMatch) DeepCopyInto(out *ServiceRouteMatch)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceRouter ¶
type ServiceRouter struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ServiceRouterSpec `json:"spec,omitempty"`
Status `json:"status,omitempty"`
}
ServiceRouter is the Schema for the servicerouters API +kubebuilder:printcolumn:name="Synced",type="string",JSONPath=".status.conditions[?(@.type==\"Synced\")].status",description="The sync status of the resource with Consul" +kubebuilder:printcolumn:name="Last Synced",type="date",JSONPath=".status.lastSyncedTime",description="The last successful synced time of the resource with Consul" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="The age of the resource"
func (*ServiceRouter) AddFinalizer ¶
func (in *ServiceRouter) AddFinalizer(name string)
func (*ServiceRouter) ConsulGlobalResource ¶
func (in *ServiceRouter) ConsulGlobalResource() bool
func (*ServiceRouter) ConsulKind ¶
func (in *ServiceRouter) ConsulKind() string
func (*ServiceRouter) ConsulMirroringNS ¶
func (in *ServiceRouter) ConsulMirroringNS() string
func (*ServiceRouter) ConsulName ¶
func (in *ServiceRouter) ConsulName() string
func (*ServiceRouter) DeepCopy ¶
func (in *ServiceRouter) DeepCopy() *ServiceRouter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceRouter.
func (*ServiceRouter) DeepCopyInto ¶
func (in *ServiceRouter) DeepCopyInto(out *ServiceRouter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceRouter) DeepCopyObject ¶
func (in *ServiceRouter) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ServiceRouter) DefaultNamespaceFields ¶ added in v0.23.0
func (in *ServiceRouter) DefaultNamespaceFields(consulNamespacesEnabled bool, destinationNamespace string, mirroring bool, prefix string)
DefaultNamespaceFields sets the namespace field on spec.routes[].destination to their default values if namespaces are enabled.
func (*ServiceRouter) Finalizers ¶
func (in *ServiceRouter) Finalizers() []string
func (*ServiceRouter) GetObjectMeta ¶
func (in *ServiceRouter) GetObjectMeta() metav1.ObjectMeta
func (*ServiceRouter) KubeKind ¶
func (in *ServiceRouter) KubeKind() string
func (*ServiceRouter) KubernetesName ¶
func (in *ServiceRouter) KubernetesName() string
func (*ServiceRouter) MatchesConsul ¶
func (in *ServiceRouter) MatchesConsul(candidate capi.ConfigEntry) bool
func (*ServiceRouter) RemoveFinalizer ¶
func (in *ServiceRouter) RemoveFinalizer(name string)
func (*ServiceRouter) SetLastSyncedTime ¶ added in v0.25.0
func (in *ServiceRouter) SetLastSyncedTime(time *metav1.Time)
func (*ServiceRouter) SetSyncedCondition ¶
func (in *ServiceRouter) SetSyncedCondition(status corev1.ConditionStatus, reason, message string)
func (*ServiceRouter) SyncedCondition ¶
func (in *ServiceRouter) SyncedCondition() (status corev1.ConditionStatus, reason, message string)
func (*ServiceRouter) SyncedConditionStatus ¶
func (in *ServiceRouter) SyncedConditionStatus() corev1.ConditionStatus
func (*ServiceRouter) ToConsul ¶
func (in *ServiceRouter) ToConsul(datacenter string) capi.ConfigEntry
func (*ServiceRouter) Validate ¶
func (in *ServiceRouter) Validate(namespacesEnabled bool) error
type ServiceRouterList ¶
type ServiceRouterList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ServiceRouter `json:"items"`
}
ServiceRouterList contains a list of ServiceRouter
func (*ServiceRouterList) DeepCopy ¶
func (in *ServiceRouterList) DeepCopy() *ServiceRouterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceRouterList.
func (*ServiceRouterList) DeepCopyInto ¶
func (in *ServiceRouterList) DeepCopyInto(out *ServiceRouterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceRouterList) DeepCopyObject ¶
func (in *ServiceRouterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ServiceRouterSpec ¶
type ServiceRouterSpec struct {
// Routes are the list of routes to consider when processing L7 requests.
// The first route to match in the list is terminal and stops further
// evaluation. Traffic that fails to match any of the provided routes will
// be routed to the default service.
Routes []ServiceRoute `json:"routes,omitempty"`
}
ServiceRouterSpec defines the desired state of ServiceRouter
func (*ServiceRouterSpec) DeepCopy ¶
func (in *ServiceRouterSpec) DeepCopy() *ServiceRouterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceRouterSpec.
func (*ServiceRouterSpec) DeepCopyInto ¶
func (in *ServiceRouterSpec) DeepCopyInto(out *ServiceRouterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceRouterWebhook ¶
type ServiceRouterWebhook struct {
ConsulClient *capi.Client
Logger logr.Logger
// EnableConsulNamespaces indicates that a user is running Consul Enterprise
// with version 1.7+ which supports namespaces.
EnableConsulNamespaces bool
// EnableNSMirroring causes Consul namespaces to be created to match the
// k8s namespace of any config entry custom resource. Config entries will
// be created in the matching Consul namespace.
EnableNSMirroring bool
// ConsulDestinationNamespace is the namespace in Consul that the config entry created
// in k8s will get mapped into. If the Consul namespace does not already exist, it will
// be created.
ConsulDestinationNamespace string
// NSMirroringPrefix works in conjunction with Namespace Mirroring.
// It is the prefix added to the Consul namespace to map to a specific.
// k8s namespace. For example, if `mirroringK8SPrefix` is set to "k8s-", a
// service in the k8s `staging` namespace will be registered into the
// `k8s-staging` Consul namespace.
NSMirroringPrefix string
client.Client
// contains filtered or unexported fields
}
func (*ServiceRouterWebhook) InjectDecoder ¶
func (v *ServiceRouterWebhook) InjectDecoder(d *admission.Decoder) error
func (*ServiceRouterWebhook) List ¶
func (v *ServiceRouterWebhook) List(ctx context.Context) ([]common.ConfigEntryResource, error)
type ServiceSplit ¶
type ServiceSplit struct {
// Weight is a value between 0 and 100 reflecting what portion of traffic should be directed to this split.
// The smallest representable weight is 1/10000 or .01%.
Weight float32 `json:"weight,omitempty"`
// Service is the service to resolve instead of the default.
Service string `json:"service,omitempty"`
// ServiceSubset is a named subset of the given service to resolve instead of one defined
// as that service's DefaultSubset. If empty the default subset is used.
ServiceSubset string `json:"serviceSubset,omitempty"`
// The namespace to resolve the service from instead of the current namespace.
// If empty the current namespace is assumed.
Namespace string `json:"namespace,omitempty"`
}
func (*ServiceSplit) DeepCopy ¶
func (in *ServiceSplit) DeepCopy() *ServiceSplit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceSplit.
func (*ServiceSplit) DeepCopyInto ¶
func (in *ServiceSplit) DeepCopyInto(out *ServiceSplit)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceSplits ¶
type ServiceSplits []ServiceSplit
func (ServiceSplits) DeepCopy ¶
func (in ServiceSplits) DeepCopy() ServiceSplits
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceSplits.
func (ServiceSplits) DeepCopyInto ¶
func (in ServiceSplits) DeepCopyInto(out *ServiceSplits)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceSplitter ¶
type ServiceSplitter struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ServiceSplitterSpec `json:"spec,omitempty"`
Status `json:"status,omitempty"`
}
ServiceSplitter is the Schema for the servicesplitters API +kubebuilder:printcolumn:name="Synced",type="string",JSONPath=".status.conditions[?(@.type==\"Synced\")].status",description="The sync status of the resource with Consul" +kubebuilder:printcolumn:name="Last Synced",type="date",JSONPath=".status.lastSyncedTime",description="The last successful synced time of the resource with Consul" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="The age of the resource"
func (*ServiceSplitter) AddFinalizer ¶
func (in *ServiceSplitter) AddFinalizer(name string)
func (*ServiceSplitter) ConsulGlobalResource ¶
func (in *ServiceSplitter) ConsulGlobalResource() bool
func (*ServiceSplitter) ConsulKind ¶
func (in *ServiceSplitter) ConsulKind() string
func (*ServiceSplitter) ConsulMirroringNS ¶
func (in *ServiceSplitter) ConsulMirroringNS() string
func (*ServiceSplitter) ConsulName ¶
func (in *ServiceSplitter) ConsulName() string
func (*ServiceSplitter) DeepCopy ¶
func (in *ServiceSplitter) DeepCopy() *ServiceSplitter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceSplitter.
func (*ServiceSplitter) DeepCopyInto ¶
func (in *ServiceSplitter) DeepCopyInto(out *ServiceSplitter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceSplitter) DeepCopyObject ¶
func (in *ServiceSplitter) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ServiceSplitter) DefaultNamespaceFields ¶ added in v0.23.0
func (in *ServiceSplitter) DefaultNamespaceFields(_ bool, _ string, _ bool, _ string)
DefaultNamespaceFields has no behaviour here as service-splitter have namespace fields that do not default.
func (*ServiceSplitter) Finalizers ¶
func (in *ServiceSplitter) Finalizers() []string
func (*ServiceSplitter) GetObjectMeta ¶
func (in *ServiceSplitter) GetObjectMeta() metav1.ObjectMeta
func (*ServiceSplitter) KubeKind ¶
func (in *ServiceSplitter) KubeKind() string
func (*ServiceSplitter) KubernetesName ¶
func (in *ServiceSplitter) KubernetesName() string
func (*ServiceSplitter) MatchesConsul ¶
func (in *ServiceSplitter) MatchesConsul(candidate capi.ConfigEntry) bool
func (*ServiceSplitter) RemoveFinalizer ¶
func (in *ServiceSplitter) RemoveFinalizer(name string)
func (*ServiceSplitter) SetLastSyncedTime ¶ added in v0.25.0
func (in *ServiceSplitter) SetLastSyncedTime(time *metav1.Time)
func (*ServiceSplitter) SetSyncedCondition ¶
func (in *ServiceSplitter) SetSyncedCondition(status corev1.ConditionStatus, reason, message string)
func (*ServiceSplitter) SyncedCondition ¶
func (in *ServiceSplitter) SyncedCondition() (status corev1.ConditionStatus, reason, message string)
func (*ServiceSplitter) SyncedConditionStatus ¶
func (in *ServiceSplitter) SyncedConditionStatus() corev1.ConditionStatus
func (*ServiceSplitter) ToConsul ¶
func (in *ServiceSplitter) ToConsul(datacenter string) capi.ConfigEntry
func (*ServiceSplitter) Validate ¶
func (in *ServiceSplitter) Validate(namespacesEnabled bool) error
type ServiceSplitterList ¶
type ServiceSplitterList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ServiceSplitter `json:"items"`
}
ServiceSplitterList contains a list of ServiceSplitter
func (*ServiceSplitterList) DeepCopy ¶
func (in *ServiceSplitterList) DeepCopy() *ServiceSplitterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceSplitterList.
func (*ServiceSplitterList) DeepCopyInto ¶
func (in *ServiceSplitterList) DeepCopyInto(out *ServiceSplitterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceSplitterList) DeepCopyObject ¶
func (in *ServiceSplitterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ServiceSplitterSpec ¶
type ServiceSplitterSpec struct {
// Splits defines how much traffic to send to which set of service instances during a traffic split.
// The sum of weights across all splits must add up to 100.
Splits ServiceSplits `json:"splits,omitempty"`
}
ServiceSplitterSpec defines the desired state of ServiceSplitter
func (*ServiceSplitterSpec) DeepCopy ¶
func (in *ServiceSplitterSpec) DeepCopy() *ServiceSplitterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceSplitterSpec.
func (*ServiceSplitterSpec) DeepCopyInto ¶
func (in *ServiceSplitterSpec) DeepCopyInto(out *ServiceSplitterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceSplitterWebhook ¶
type ServiceSplitterWebhook struct {
ConsulClient *capi.Client
Logger logr.Logger
// EnableConsulNamespaces indicates that a user is running Consul Enterprise
// with version 1.7+ which supports namespaces.
EnableConsulNamespaces bool
// EnableNSMirroring causes Consul namespaces to be created to match the
// k8s namespace of any config entry custom resource. Config entries will
// be created in the matching Consul namespace.
EnableNSMirroring bool
// ConsulDestinationNamespace is the namespace in Consul that the config entry created
// in k8s will get mapped into. If the Consul namespace does not already exist, it will
// be created.
ConsulDestinationNamespace string
// NSMirroringPrefix works in conjunction with Namespace Mirroring.
// It is the prefix added to the Consul namespace to map to a specific.
// k8s namespace. For example, if `mirroringK8SPrefix` is set to "k8s-", a
// service in the k8s `staging` namespace will be registered into the
// `k8s-staging` Consul namespace.
NSMirroringPrefix string
client.Client
// contains filtered or unexported fields
}
func (*ServiceSplitterWebhook) InjectDecoder ¶
func (v *ServiceSplitterWebhook) InjectDecoder(d *admission.Decoder) error
func (*ServiceSplitterWebhook) List ¶
func (v *ServiceSplitterWebhook) List(ctx context.Context) ([]common.ConfigEntryResource, error)
type SourceIntention ¶
type SourceIntention struct {
// Name is the source of the intention. This is the name of a
// Consul service. The service doesn't need to be registered.
Name string `json:"name,omitempty"`
// Namespace is the namespace for the Name parameter.
Namespace string `json:"namespace,omitempty"`
// Action is required for an L4 intention, and should be set to one of
// "allow" or "deny" for the action that should be taken if this intention matches a request.
Action IntentionAction `json:"action,omitempty"`
// Permissions is the list of all additional L7 attributes that extend the intention match criteria.
// Permission precedence is applied top to bottom. For any given request the first permission to match
// in the list is terminal and stops further evaluation. As with L4 intentions, traffic that fails to
// match any of the provided permissions in this intention will be subject to the default intention
// behavior is defined by the default ACL policy. This should be omitted for an L4 intention
// as it is mutually exclusive with the Action field.
Permissions IntentionPermissions `json:"permissions,omitempty"`
// Description for the intention. This is not used by Consul, but is presented in API responses to assist tooling.
Description string `json:"description,omitempty"`
}
func (*SourceIntention) DeepCopy ¶
func (in *SourceIntention) DeepCopy() *SourceIntention
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceIntention.
func (*SourceIntention) DeepCopyInto ¶
func (in *SourceIntention) DeepCopyInto(out *SourceIntention)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SourceIntentions ¶
type SourceIntentions []*SourceIntention
func (SourceIntentions) DeepCopy ¶
func (in SourceIntentions) DeepCopy() SourceIntentions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceIntentions.
func (SourceIntentions) DeepCopyInto ¶
func (in SourceIntentions) DeepCopyInto(out *SourceIntentions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Status ¶
type Status struct {
// Conditions indicate the latest available observations of a resource's current state.
// +optional
// +patchMergeKey=type
// +patchStrategy=merge
Conditions Conditions `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
// LastSyncedTime is the last time the resource successfully synced with Consul.
// +optional
LastSyncedTime *metav1.Time `json:"lastSyncedTime,omitempty" description:"last time the condition transitioned from one status to another"`
}
+k8s:deepcopy-gen=true +k8s:openapi-gen=true
func (*Status) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Status.
func (*Status) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Status) GetCondition ¶
func (s *Status) GetCondition(t ConditionType) *Condition
type TerminatingGateway ¶ added in v0.22.0
type TerminatingGateway struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec TerminatingGatewaySpec `json:"spec,omitempty"`
Status `json:"status,omitempty"`
}
TerminatingGateway is the Schema for the terminatinggateways API +kubebuilder:printcolumn:name="Synced",type="string",JSONPath=".status.conditions[?(@.type==\"Synced\")].status",description="The sync status of the resource with Consul" +kubebuilder:printcolumn:name="Last Synced",type="date",JSONPath=".status.lastSyncedTime",description="The last successful synced time of the resource with Consul" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="The age of the resource"
func (*TerminatingGateway) AddFinalizer ¶ added in v0.22.0
func (in *TerminatingGateway) AddFinalizer(name string)
func (*TerminatingGateway) ConsulGlobalResource ¶ added in v0.22.0
func (in *TerminatingGateway) ConsulGlobalResource() bool
func (*TerminatingGateway) ConsulKind ¶ added in v0.22.0
func (in *TerminatingGateway) ConsulKind() string
func (*TerminatingGateway) ConsulMirroringNS ¶ added in v0.22.0
func (in *TerminatingGateway) ConsulMirroringNS() string
func (*TerminatingGateway) ConsulName ¶ added in v0.22.0
func (in *TerminatingGateway) ConsulName() string
func (*TerminatingGateway) DeepCopy ¶ added in v0.22.0
func (in *TerminatingGateway) DeepCopy() *TerminatingGateway
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerminatingGateway.
func (*TerminatingGateway) DeepCopyInto ¶ added in v0.22.0
func (in *TerminatingGateway) DeepCopyInto(out *TerminatingGateway)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TerminatingGateway) DeepCopyObject ¶ added in v0.22.0
func (in *TerminatingGateway) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*TerminatingGateway) DefaultNamespaceFields ¶ added in v0.23.0
func (in *TerminatingGateway) DefaultNamespaceFields(consulNamespacesEnabled bool, destinationNamespace string, mirroring bool, prefix string)
DefaultNamespaceFields sets the namespace field on spec.services to their default values if namespaces are enabled.
func (*TerminatingGateway) Finalizers ¶ added in v0.22.0
func (in *TerminatingGateway) Finalizers() []string
func (*TerminatingGateway) GetObjectMeta ¶ added in v0.22.0
func (in *TerminatingGateway) GetObjectMeta() metav1.ObjectMeta
func (*TerminatingGateway) KubeKind ¶ added in v0.22.0
func (in *TerminatingGateway) KubeKind() string
func (*TerminatingGateway) KubernetesName ¶ added in v0.22.0
func (in *TerminatingGateway) KubernetesName() string
func (*TerminatingGateway) MatchesConsul ¶ added in v0.22.0
func (in *TerminatingGateway) MatchesConsul(candidate capi.ConfigEntry) bool
func (*TerminatingGateway) RemoveFinalizer ¶ added in v0.22.0
func (in *TerminatingGateway) RemoveFinalizer(name string)
func (*TerminatingGateway) SetLastSyncedTime ¶ added in v0.25.0
func (in *TerminatingGateway) SetLastSyncedTime(time *metav1.Time)
func (*TerminatingGateway) SetSyncedCondition ¶ added in v0.22.0
func (in *TerminatingGateway) SetSyncedCondition(status corev1.ConditionStatus, reason, message string)
func (*TerminatingGateway) SyncedCondition ¶ added in v0.22.0
func (in *TerminatingGateway) SyncedCondition() (status corev1.ConditionStatus, reason, message string)
func (*TerminatingGateway) SyncedConditionStatus ¶ added in v0.22.0
func (in *TerminatingGateway) SyncedConditionStatus() corev1.ConditionStatus
func (*TerminatingGateway) ToConsul ¶ added in v0.22.0
func (in *TerminatingGateway) ToConsul(datacenter string) capi.ConfigEntry
func (*TerminatingGateway) Validate ¶ added in v0.22.0
func (in *TerminatingGateway) Validate(namespacesEnabled bool) error
type TerminatingGatewayList ¶ added in v0.22.0
type TerminatingGatewayList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []TerminatingGateway `json:"items"`
}
TerminatingGatewayList contains a list of TerminatingGateway
func (*TerminatingGatewayList) DeepCopy ¶ added in v0.22.0
func (in *TerminatingGatewayList) DeepCopy() *TerminatingGatewayList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerminatingGatewayList.
func (*TerminatingGatewayList) DeepCopyInto ¶ added in v0.22.0
func (in *TerminatingGatewayList) DeepCopyInto(out *TerminatingGatewayList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TerminatingGatewayList) DeepCopyObject ¶ added in v0.22.0
func (in *TerminatingGatewayList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TerminatingGatewaySpec ¶ added in v0.22.0
type TerminatingGatewaySpec struct {
// Services is a list of service names represented by the terminating gateway.
Services []LinkedService `json:"services,omitempty"`
}
TerminatingGatewaySpec defines the desired state of TerminatingGateway
func (*TerminatingGatewaySpec) DeepCopy ¶ added in v0.22.0
func (in *TerminatingGatewaySpec) DeepCopy() *TerminatingGatewaySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerminatingGatewaySpec.
func (*TerminatingGatewaySpec) DeepCopyInto ¶ added in v0.22.0
func (in *TerminatingGatewaySpec) DeepCopyInto(out *TerminatingGatewaySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TerminatingGatewayWebhook ¶ added in v0.22.0
type TerminatingGatewayWebhook struct {
ConsulClient *capi.Client
Logger logr.Logger
// EnableConsulNamespaces indicates that a user is running Consul Enterprise
// with version 1.7+ which supports namespaces.
EnableConsulNamespaces bool
// EnableNSMirroring causes Consul namespaces to be created to match the
// k8s namespace of any config entry custom resource. Config entries will
// be created in the matching Consul namespace.
EnableNSMirroring bool
// ConsulDestinationNamespace is the namespace in Consul that the config entry created
// in k8s will get mapped into. If the Consul namespace does not already exist, it will
// be created.
ConsulDestinationNamespace string
// NSMirroringPrefix works in conjunction with Namespace Mirroring.
// It is the prefix added to the Consul namespace to map to a specific.
// k8s namespace. For example, if `mirroringK8SPrefix` is set to "k8s-", a
// service in the k8s `staging` namespace will be registered into the
// `k8s-staging` Consul namespace.
NSMirroringPrefix string
client.Client
// contains filtered or unexported fields
}
func (*TerminatingGatewayWebhook) InjectDecoder ¶ added in v0.22.0
func (v *TerminatingGatewayWebhook) InjectDecoder(d *admission.Decoder) error
func (*TerminatingGatewayWebhook) List ¶ added in v0.22.0
func (v *TerminatingGatewayWebhook) List(ctx context.Context) ([]common.ConfigEntryResource, error)
type TransparentProxy ¶ added in v0.26.0
type TransparentProxy struct {
// OutboundListenerPort is the port of the listener where outbound application
// traffic is being redirected to.
OutboundListenerPort int `json:"outboundListenerPort,omitempty"`
// DialedDirectly indicates whether transparent proxies can dial this proxy instance directly.
// The discovery chain is not considered when dialing a service instance directly.
// This setting is useful when addressing stateful services, such as a database cluster with a leader node.
DialedDirectly bool `json:"dialedDirectly,omitempty"`
}
func (*TransparentProxy) DeepCopy ¶ added in v0.26.0
func (in *TransparentProxy) DeepCopy() *TransparentProxy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransparentProxy.
func (*TransparentProxy) DeepCopyInto ¶ added in v0.26.0
func (in *TransparentProxy) DeepCopyInto(out *TransparentProxy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TransparentProxyMeshConfig ¶ added in v0.26.0
type TransparentProxyMeshConfig struct {
// MeshDestinationsOnly determines whether sidecar proxies operating in "transparent" mode can proxy traffic
// to IP addresses not registered in Consul's catalog. If enabled, traffic will only be proxied to upstreams
// with service registrations in the catalog.
MeshDestinationsOnly bool `json:"meshDestinationsOnly,omitempty"`
}
TransparentProxyMeshConfig controls configuration specific to proxies in "transparent" mode. Added in v1.10.0.
func (*TransparentProxyMeshConfig) DeepCopy ¶ added in v0.26.0
func (in *TransparentProxyMeshConfig) DeepCopy() *TransparentProxyMeshConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransparentProxyMeshConfig.
func (*TransparentProxyMeshConfig) DeepCopyInto ¶ added in v0.26.0
func (in *TransparentProxyMeshConfig) DeepCopyInto(out *TransparentProxyMeshConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Upstream ¶ added in v0.26.0
type Upstream struct {
// Name is only accepted within a service-defaults config entry.
Name string `json:"name,omitempty"`
// Namespace is only accepted within a service-defaults config entry.
Namespace string `json:"namespace,omitempty"`
// EnvoyListenerJSON is a complete override ("escape hatch") for the upstream's
// listener.
// Note: This escape hatch is NOT compatible with the discovery chain and
// will be ignored if a discovery chain is active.
EnvoyListenerJSON string `json:"envoyListenerJSON,omitempty"`
// EnvoyClusterJSON is a complete override ("escape hatch") for the upstream's
// cluster. The Connect client TLS certificate and context will be injected
// overriding any TLS settings present.
// Note: This escape hatch is NOT compatible with the discovery chain and
// will be ignored if a discovery chain is active.
EnvoyClusterJSON string `json:"envoyClusterJSON,omitempty"`
// Protocol describes the upstream's service protocol. Valid values are "tcp",
// "http" and "grpc". Anything else is treated as tcp. This enables protocol
// aware features like per-request metrics and connection pooling, tracing,
// routing etc.
Protocol string `json:"protocol,omitempty"`
// ConnectTimeoutMs is the number of milliseconds to timeout making a new
// connection to this upstream. Defaults to 5000 (5 seconds) if not set.
ConnectTimeoutMs int `json:"connectTimeoutMs,omitempty"`
// Limits are the set of limits that are applied to the proxy for a specific upstream of a
// service instance.
Limits *UpstreamLimits `json:"limits,omitempty"`
// PassiveHealthCheck configuration determines how upstream proxy instances will
// be monitored for removal from the load balancing pool.
PassiveHealthCheck *PassiveHealthCheck `json:"passiveHealthCheck,omitempty"`
// MeshGatewayConfig controls how Mesh Gateways are configured and used.
MeshGateway MeshGateway `json:"meshGateway,omitempty"`
}
func (*Upstream) DeepCopy ¶ added in v0.26.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Upstream.
func (*Upstream) DeepCopyInto ¶ added in v0.26.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UpstreamLimits ¶ added in v0.26.0
type UpstreamLimits struct {
// MaxConnections is the maximum number of connections the local proxy can
// make to the upstream service.
MaxConnections *int `json:"maxConnections,omitempty"`
// MaxPendingRequests is the maximum number of requests that will be queued
// waiting for an available connection. This is mostly applicable to HTTP/1.1
// clusters since all HTTP/2 requests are streamed over a single
// connection.
MaxPendingRequests *int `json:"maxPendingRequests,omitempty"`
// MaxConcurrentRequests is the maximum number of in-flight requests that will be allowed
// to the upstream cluster at a point in time. This is mostly applicable to HTTP/2
// clusters since all HTTP/1.1 requests are limited by MaxConnections.
MaxConcurrentRequests *int `json:"maxConcurrentRequests,omitempty"`
}
UpstreamLimits describes the limits that are associated with a specific upstream of a service instance.
func (*UpstreamLimits) DeepCopy ¶ added in v0.26.0
func (in *UpstreamLimits) DeepCopy() *UpstreamLimits
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpstreamLimits.
func (*UpstreamLimits) DeepCopyInto ¶ added in v0.26.0
func (in *UpstreamLimits) DeepCopyInto(out *UpstreamLimits)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Upstreams ¶ added in v0.26.0
type Upstreams struct {
// Defaults contains default configuration for all upstreams of a given
// service. The name field must be empty.
Defaults *Upstream `json:"defaults,omitempty"`
// Overrides is a slice of per-service configuration. The name field is
// required.
Overrides []*Upstream `json:"overrides,omitempty"`
}
func (*Upstreams) DeepCopy ¶ added in v0.26.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Upstreams.
func (*Upstreams) DeepCopyInto ¶ added in v0.26.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files
¶
- groupversion_info.go
- ingressgateway_types.go
- ingressgateway_webhook.go
- mesh_types.go
- mesh_webhook.go
- proxydefaults_types.go
- proxydefaults_webhook.go
- servicedefaults_types.go
- servicedefaults_webhook.go
- serviceintentions_types.go
- serviceintentions_webhook.go
- serviceresolver_types.go
- serviceresolver_webhook.go
- servicerouter_types.go
- servicerouter_webhook.go
- servicesplitter_types.go
- servicesplitter_webhook.go
- shared_types.go
- status.go
- terminatinggateway_types.go
- terminatinggateway_webhook.go
- zz_generated.deepcopy.go