Documentation
¶
Overview ¶
Package manager implements the controller manager for all controllers
Index ¶
Constants ¶
const DiagnosticsPort = 10256
DiagnosticsPort is the default port of the manager's diagnostics service listens on.
const HealthzPort = 10254
HealthzPort is the default port the manager's health service listens on. Changing this will result in a breaking change. Existing deployments may use the literal port number in their liveness and readiness probes, and upgrading to a controller version with a changed HealthzPort will result in crash loops until users update their probe config. Note that there are several stock manifests in this repo that also use the literal port number. If you update this value, search for the old port number and update the stock manifests also.
const MetricsPort = 10255
MetricsPort is the default port the manager's metrics service listens on. Similar to HealthzPort, it may be used in existing user deployment configurations, and its literal value is used in several stock manifests, which must be updated along with this value.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AutoHandler ¶
AutoHandler decides whether the specific controller shall be enabled (true) or disabled (false).
type Config ¶
type Config struct {
// Logging configurations
LogLevel string
LogFormat string
LogReduceRedundancy bool
// Kong high-level controller manager configurations
KongAdminAPIConfig adminapi.HTTPClientOpts
KongAdminToken string
KongWorkspace string
AnonymousReports bool
EnableReverseSync bool
SyncPeriod time.Duration
// Kong Proxy configurations
APIServerHost string
MetricsAddr string
ProbeAddr string
KongAdminURL string
ProxySyncSeconds float32
ProxyTimeoutSeconds float32
KongCustomEntitiesSecret string
// Kubernetes configurations
KubeconfigPath string
IngressClassName string
EnableLeaderElection bool
LeaderElectionID string
Concurrency int
FilterTags []string
WatchNamespaces []string
// Ingress status
PublishService string
PublishStatusAddress []string
UpdateStatus bool
// Kubernetes API toggling
IngressExtV1beta1Enabled bool
IngressNetV1beta1Enabled bool
IngressNetV1Enabled bool
UDPIngressEnabled bool
TCPIngressEnabled bool
KongIngressEnabled bool
KnativeIngressEnabled bool
KongClusterPluginEnabled bool
KongPluginEnabled bool
KongConsumerEnabled bool
ServiceEnabled bool
// Admission Webhook server config
AdmissionServer admission.ServerConfig
// Diagnostics and performance
EnableProfiling bool
EnableConfigDumps bool
DumpSensitiveConfig bool
}
Config collects all configuration that the controller manager takes from the environment.
func (*Config) GetKongClient ¶
type Controller ¶
Controller is a Kubernetes controller that can be plugged into Manager.
type ControllerDef ¶
type ControllerDef struct {
Enabled bool
AutoHandler AutoHandler
Controller Controller
}
ControllerDef is a specification of a Controller that can be conditionally registered with Manager.
func (*ControllerDef) MaybeSetupWithManager ¶
func (c *ControllerDef) MaybeSetupWithManager(mgr ctrl.Manager) error
MaybeSetupWithManager runs SetupWithManager on the controller if it is enabled and its AutoHandler (if any) indicates that it can load
func (*ControllerDef) Name ¶
func (c *ControllerDef) Name() string
Name returns a human-readable name of the controller.
type IngressAPI ¶
type IngressAPI int
const ( OtherAPI IngressAPI = iota NetworkingV1 IngressAPI = iota NetworkingV1beta1 IngressAPI = iota ExtensionsV1beta1 IngressAPI = iota )