config

package
v2.1.4 Latest Latest
Warning

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

Go to latest
Published: Oct 1, 2025 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultNginxMetricsPort = int32(9113)

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	// AtomicLevel is an atomically changeable, dynamic logging level.
	AtomicLevel zap.AtomicLevel
	// GatewayPodConfig contains information about this Pod.
	GatewayPodConfig GatewayPodConfig
	// Logger is the Zap Logger used by all components.
	Logger logr.Logger
	// NGINXSCCName is the name of the SecurityContextConstraints for the NGINX Pods. Only applicable in OpenShift.
	NGINXSCCName string
	// ConfigName is the name of the NginxGateway resource for this controller.
	ConfigName string
	// AgentTLSSecretName is the name of the TLS Secret used by NGINX Agent to communicate with the control plane.
	AgentTLSSecretName string
	// GatewayClassName is the name of the GatewayClass resource that the Gateway will use.
	GatewayClassName string
	// ImageSource is the source of the NGINX Gateway image.
	ImageSource string
	// GatewayCtlrName is the name of this controller.
	GatewayCtlrName string
	// UsageReportConfig specifies the NGINX Plus usage reporting configuration.
	UsageReportConfig UsageReportConfig
	// Flags contains the NGF command-line flag names and values.
	Flags Flags
	// LeaderElection contains the configuration for leader election.
	LeaderElection LeaderElectionConfig
	// NginxDockerSecretNames are the names of any Docker registry Secrets for the NGINX container.
	NginxDockerSecretNames []string
	// NginxOneConsoleTelemetryConfig contains the configuration for NGINX One Console telemetry.
	NginxOneConsoleTelemetryConfig NginxOneConsoleTelemetryConfig
	// ProductTelemetryConfig contains the configuration for collecting product telemetry.
	ProductTelemetryConfig ProductTelemetryConfig
	// HealthConfig specifies the health probe config.
	HealthConfig HealthConfig
	// MetricsConfig specifies the metrics config.
	MetricsConfig MetricsConfig
	// Plus indicates whether NGINX Plus is being used.
	Plus bool
	// ExperimentalFeatures indicates if experimental features are enabled.
	ExperimentalFeatures bool
	// SnippetsFilters indicates if SnippetsFilters are enabled.
	SnippetsFilters bool
}

type Flags

type Flags struct {
	// Names contains the name of the flag.
	Names []string
	// Values contains the value of the flag in string form.
	// Each Value will be either true or false for boolean flags and default or user-defined for non-boolean flags.
	Values []string
}

Flags contains the NGF command-line flag names and values. Flag Names and Values are paired based off of index in slice.

type GatewayPodConfig

type GatewayPodConfig struct {
	// ServiceName is the name of the Service that fronts this Pod.
	ServiceName string
	// Namespace is the namespace of this Pod.
	Namespace string
	// Name is the name of the Pod.
	Name string
	// UID is the UID of the Pod.
	UID string
	// InstanceName is the name used in the instance label.
	// Generally this will be the name of the Helm release.
	InstanceName string
	// Version is the running NGF version.
	Version string
	// Image is the image path of the Pod.
	Image string
}

GatewayPodConfig contains information about this Pod.

type HealthConfig

type HealthConfig struct {
	// Port is the port that the health probe server listens on.
	Port int
	// Enabled is the flag for toggling the health probe server on or off.
	Enabled bool
}

HealthConfig specifies the health probe config.

type LeaderElectionConfig

type LeaderElectionConfig struct {
	// LockName holds the name of the leader election lock.
	LockName string
	// Identity is the unique name of the controller used for identifying the leader.
	Identity string
	// Enabled indicates whether leader election is enabled.
	Enabled bool
}

LeaderElectionConfig contains the configuration for leader election.

type MetricsConfig

type MetricsConfig struct {
	// Port is the port the metrics should be exposed on.
	Port int
	// Enabled is the flag for toggling metrics on or off.
	Enabled bool
	// Secure is the flag for toggling the metrics endpoint to https.
	Secure bool
}

MetricsConfig specifies the metrics config.

type NginxOneConsoleTelemetryConfig

type NginxOneConsoleTelemetryConfig struct {
	// DataplaneKeySecretName is the name of the Secret containing the dataplane key.
	DataplaneKeySecretName string
	// EndpointHost is the host of the telemetry endpoint.
	EndpointHost string
	// EndpointPort is the port of the telemetry endpoint.
	EndpointPort int
	// EndpointTLSSkipVerify specifies whether to skip TLS verification for the telemetry endpoint.
	EndpointTLSSkipVerify bool
}

NginxOneConsoleTelemetryConfig contains the configuration for NGINX One Console telemetry.

type ProductTelemetryConfig

type ProductTelemetryConfig struct {
	// Endpoint is the <host>:<port> of the telemetry service.
	Endpoint string
	// ReportPeriod is the period at which telemetry reports are sent.
	ReportPeriod time.Duration
	// EndpointInsecure controls if TLS should be used for the telemetry service.
	EndpointInsecure bool
	// Enabled is the flag for toggling the collection of product telemetry.
	Enabled bool
}

ProductTelemetryConfig contains the configuration for collecting product telemetry.

type UsageReportConfig

type UsageReportConfig struct {
	// SecretName is the name of the Secret containing the server credentials.
	SecretName string
	// ClientSSLSecretName is the name of the Secret containing client certificate/key.
	ClientSSLSecretName string
	// CASecretName is the name of the Secret containing the CA certificate.
	CASecretName string
	// Endpoint is the endpoint of the reporting server.
	Endpoint string
	// Resolver is the nameserver for resolving the Endpoint.
	Resolver string
	// SkipVerify controls whether the nginx verifies the server certificate.
	SkipVerify bool
}

UsageReportConfig contains the configuration for NGINX Plus usage reporting.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL