Documentation ¶
Overview ¶
Copyright (c) HashiCorp, Inc. SPDX-License-Identifier: MPL-2.0
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Controller ¶
type Controller struct { client.Client // ConsulClientConfig is the config for the Consul API client. ConsulClientConfig *consul.Config // ConsulServerConnMgr is the watcher for the Consul server addresses. ConsulServerConnMgr consul.ServerConnectionManager // Only endpoints in the AllowK8sNamespacesSet are reconciled. AllowK8sNamespacesSet mapset.Set // Endpoints in the DenyK8sNamespacesSet are ignored. DenyK8sNamespacesSet mapset.Set // EnableConsulPartitions indicates that a user is running Consul Enterprise // with version 1.11+ which supports Admin Partitions. EnableConsulPartitions bool // EnableConsulNamespaces indicates that a user is running Consul Enterprise // with version 1.7+ which supports namespaces. EnableConsulNamespaces bool // EnableWANFederation indicates that a user is running Consul with // WAN Federation enabled. EnableWANFederation bool // ConsulDestinationNamespace is the name of the Consul namespace to create // all config entries in. If EnableNSMirroring is true this is ignored. ConsulDestinationNamespace string // 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 // NSMirroringPrefix is an optional prefix that can be added to the Consul // namespaces created while mirroring. For example, if it is set to "k8s-", // then the k8s `default` namespace will be mirrored in Consul's // `k8s-default` namespace. NSMirroringPrefix string // CrossNSACLPolicy is the name of the ACL policy to attach to // any created Consul namespaces to allow cross namespace service discovery. // Only necessary if ACLs are enabled. CrossNSACLPolicy string // Lifecycle config set graceful startup/shutdown defaults for pods. LifecycleConfig lifecycle.Config // ReleaseName is the Consul Helm installation release. ReleaseName string // ReleaseNamespace is the namespace where Consul is installed. ReleaseNamespace string // EnableTransparentProxy controls whether transparent proxy should be enabled // for all proxy service registrations. EnableTransparentProxy bool // TProxyOverwriteProbes controls whether the endpoints controller should expose pod's HTTP probes // via Envoy proxy. TProxyOverwriteProbes bool // AuthMethod is the name of the Kubernetes Auth Method that // was used to login with Consul. The Endpoints controller // will delete any tokens associated with this auth method // whenever service instances are deregistered. AuthMethod string // EnableAutoEncrypt indicates whether we should use auto-encrypt when talking // to Consul client agents. EnableAutoEncrypt bool // EnableTelemetryCollector controls whether the proxy service should be registered // with config to enable telemetry forwarding. EnableTelemetryCollector bool MetricsConfig metrics.Config Log logr.Logger Scheme *runtime.Scheme context.Context NodeMeta map[string]string // contains filtered or unexported fields }
func (*Controller) Logger ¶
func (r *Controller) Logger(name types.NamespacedName) logr.Logger
func (*Controller) Reconcile ¶
Reconcile reads the state of an Endpoints object for a Kubernetes Service and reconciles Consul services which correspond to the Kubernetes Service. These events are driven by changes to the Pods backing the Kube service.
func (*Controller) SetupWithManager ¶
func (r *Controller) SetupWithManager(mgr ctrl.Manager) error
Click to show internal directories.
Click to hide internal directories.