Documentation ¶
Overview ¶
Host: localhost:8081 swagger:meta
*
- Copyright (c) F5, Inc. *
- This source code is licensed under the Apache License, Version 2.0 license found in the
- LICENSE file in the root directory of this source tree.
*
- Copyright (c) F5, Inc. *
- This source code is licensed under the Apache License, Version 2.0 license found in the
- LICENSE file in the root directory of this source tree.
Index ¶
- Constants
- func LoadPlugins(commander client.Commander, binary core.NginxBinary, env core.Environment, ...) ([]core.Plugin, []core.ExtensionPlugin)
- type AgentAPI
- type AgentAPICommonResponse
- type AgentAPIConfigApplyRequest
- type AgentAPIConfigApplyResponse
- type AgentAPIConfigApplyStatusResponse
- type Commander
- type ConfigReader
- type ConfigRollbackResponse
- type DataPlaneStatus
- type Events
- type Extensions
- type Features
- type FileWatchThrottle
- func (fwt *FileWatchThrottle) Close()
- func (fwt *FileWatchThrottle) GetStarted() bool
- func (fwt *FileWatchThrottle) Info() *core.Info
- func (fwt *FileWatchThrottle) Init(pipeline core.MessagePipeInterface)
- func (fwt *FileWatchThrottle) Process(msg *core.Message)
- func (fwt *FileWatchThrottle) SetStarted(newValue bool)
- func (fwt *FileWatchThrottle) Subscriptions() []string
- type FileWatcher
- type HealthResponse
- type HealthStatusCheck
- type Metrics
- type MetricsSender
- type MetricsThrottle
- type Nginx
- type NginxConfigValidationResponse
- type NginxCounter
- type NginxHandler
- type NginxInstanceResponse
- type NginxReloadResponse
- type OneTimeRegistration
- type ParameterRequest
- type Payload
- type ProcessWatcher
- type RootHandler
Constants ¶
const ( NGINX_FOUND_MESSAGE = "nginx-v%s master process was found with a pid %s" NGINX_STOP_MESSAGE = "nginx-v%s master process (pid: %s) stopped" NGINX_RELOAD_SUCCESS_MESSAGE = "nginx-v%s master process (pid: %s) reloaded successfully" NGINX_RELOAD_FAILED_MESSAGE = "nginx-v%s master process (pid: %s) failed to reload" NGINX_WORKER_START_MESSAGE = "new worker process started with pid %s for nginx-v%s process (pid: %s)" NGINX_WORKER_STOP_MESSAGE = "worker process with pid %s is shutting down for nginx-v%s process (pid: %s)" CONFIG_APPLY_SUCCESS_MESSAGE = "successfully applied config on %s" CONFIG_APPLY_FAILURE_MESSAGE = "failed to apply nginx config on %s" CONFIG_ROLLBACK_SUCCESS_MESSAGE = "nginx config was rolled back on %s" CONFIG_ROLLBACK_FAILURE_MESSAGE = "failed to rollback nginx config on %s" )
const ( Create = fsnotify.Create Write = fsnotify.Write Remove = fsnotify.Remove Rename = fsnotify.Rename Chmod = fsnotify.Chmod )
const ( Duration = 2 * time.Second InitialInterval = 100 * time.Millisecond MaxInterval = 500 * time.Millisecond MaxElapsedTimeout = 10 * time.Second )
Variables ¶
This section is empty.
Functions ¶
func LoadPlugins ¶ added in v2.29.0
func LoadPlugins(commander client.Commander, binary core.NginxBinary, env core.Environment, reporter client.MetricReporter, loadedConfig *config.Config, agentEventsMeta *events.AgentEventMeta) ([]core.Plugin, []core.ExtensionPlugin)
Types ¶
type AgentAPI ¶ added in v2.20.0
type AgentAPI struct {
// contains filtered or unexported fields
}
func NewAgentAPI ¶ added in v2.20.0
func NewAgentAPI(config *config.Config, env core.Environment, nginxBinary core.NginxBinary, processes []*core.Process) *AgentAPI
func (*AgentAPI) Init ¶ added in v2.20.0
func (a *AgentAPI) Init(pipeline core.MessagePipeInterface)
func (*AgentAPI) Subscriptions ¶ added in v2.20.0
type AgentAPICommonResponse ¶ added in v2.21.0
type AgentAPICommonResponse struct { // Correlation ID // example: 6204037c-30e6-408b-8aaa-dd8219860b4b CorrelationId string `json:"correlation_id"` // Message // example: No NGINX instances found Message string `json:"message"` }
swagger:model AgentAPICommonResponse
type AgentAPIConfigApplyRequest ¶ added in v2.21.0
type AgentAPIConfigApplyRequest struct {
// contains filtered or unexported fields
}
type AgentAPIConfigApplyResponse ¶ added in v2.21.0
type AgentAPIConfigApplyResponse struct { // Correlation ID // example: 6204037c-30e6-408b-8aaa-dd8219860b4b CorrelationId string `json:"correlation_id"` // NGINX Instances NginxInstances []NginxInstanceResponse `json:"nginx_instances"` }
swagger:model AgentAPIConfigApplyResponse
type AgentAPIConfigApplyStatusResponse ¶ added in v2.21.0
type AgentAPIConfigApplyStatusResponse struct { // Correlation ID // example: 6204037c-30e6-408b-8aaa-dd8219860b4b CorrelationId string `json:"correlation_id"` // Message // example: pending config apply Message string `json:"message"` // Status // example: PENDING Status string `json:"status"` }
swagger:model AgentAPIConfigApplyStatusResponse
type Commander ¶
type Commander struct {
// contains filtered or unexported fields
}
Commander plugin is the receiver, dispatcher, and sender of all commands
func (*Commander) Init ¶
func (c *Commander) Init(pipeline core.MessagePipeInterface)
func (*Commander) Process ¶
Process - Agent Communication => Control Plane *Command_AgentConnectRequest *Command_CmdStatus / CommandStatusResp *Command_DataplaneStatus *Command_NginxConfigResponse - upload *Command_AgentConfigRequest *Command_AgentConfig
func (*Commander) Subscriptions ¶
type ConfigReader ¶
type ConfigReader struct {
// contains filtered or unexported fields
}
ConfigReader reads in configuration from the messagePipe
func NewConfigReader ¶
func NewConfigReader(config *config.Config) *ConfigReader
func (*ConfigReader) Close ¶
func (r *ConfigReader) Close()
func (*ConfigReader) Info ¶
func (r *ConfigReader) Info() *core.Info
func (*ConfigReader) Init ¶
func (r *ConfigReader) Init(pipeline core.MessagePipeInterface)
func (*ConfigReader) Process ¶
func (r *ConfigReader) Process(msg *core.Message)
func (*ConfigReader) Subscriptions ¶
func (r *ConfigReader) Subscriptions() []string
type ConfigRollbackResponse ¶
type ConfigRollbackResponse struct {
// contains filtered or unexported fields
}
type DataPlaneStatus ¶
type DataPlaneStatus struct {
// contains filtered or unexported fields
}
func NewDataPlaneStatus ¶
func NewDataPlaneStatus(config *config.Config, meta *proto.Metadata, binary core.NginxBinary, env core.Environment, processes []*core.Process) *DataPlaneStatus
func (*DataPlaneStatus) Close ¶
func (dps *DataPlaneStatus) Close()
func (*DataPlaneStatus) Info ¶
func (dps *DataPlaneStatus) Info() *core.Info
func (*DataPlaneStatus) Init ¶
func (dps *DataPlaneStatus) Init(pipeline core.MessagePipeInterface)
func (*DataPlaneStatus) Process ¶
func (dps *DataPlaneStatus) Process(msg *core.Message)
func (*DataPlaneStatus) Subscriptions ¶
func (dps *DataPlaneStatus) Subscriptions() []string
type Events ¶
type Events struct {
// contains filtered or unexported fields
}
func NewEvents ¶
func NewEvents(conf *config.Config, env core.Environment, meta *proto.Metadata, nginxBinary core.NginxBinary, agentEventsMeta *events.AgentEventMeta) *Events
func (*Events) Init ¶
func (a *Events) Init(pipeline core.MessagePipeInterface)
func (*Events) Subscriptions ¶
type Extensions ¶
type Extensions struct {
// contains filtered or unexported fields
}
func NewExtensions ¶
func NewExtensions(conf *config.Config, env core.Environment) *Extensions
func (*Extensions) Close ¶
func (e *Extensions) Close()
func (*Extensions) Info ¶
func (e *Extensions) Info() *core.Info
func (*Extensions) Init ¶
func (e *Extensions) Init(pipeline core.MessagePipeInterface)
func (*Extensions) Process ¶
func (e *Extensions) Process(msg *core.Message)
func (*Extensions) Subscriptions ¶
func (e *Extensions) Subscriptions() []string
type Features ¶ added in v2.26.0
type Features struct {
// contains filtered or unexported fields
}
func NewFeatures ¶ added in v2.26.0
func NewFeatures( commander client.Commander, conf *config.Config, env core.Environment, binary core.NginxBinary, version string, processes []*core.Process, agentEventsMeta *events.AgentEventMeta, ) *Features
func (*Features) Init ¶ added in v2.26.0
func (f *Features) Init(pipeline core.MessagePipeInterface)
func (*Features) Subscriptions ¶ added in v2.26.0
type FileWatchThrottle ¶
type FileWatchThrottle struct {
// contains filtered or unexported fields
}
func NewFileWatchThrottle ¶
func NewFileWatchThrottle() *FileWatchThrottle
func (*FileWatchThrottle) Close ¶
func (fwt *FileWatchThrottle) Close()
func (*FileWatchThrottle) GetStarted ¶
func (fwt *FileWatchThrottle) GetStarted() bool
func (*FileWatchThrottle) Info ¶
func (fwt *FileWatchThrottle) Info() *core.Info
func (*FileWatchThrottle) Init ¶
func (fwt *FileWatchThrottle) Init(pipeline core.MessagePipeInterface)
func (*FileWatchThrottle) Process ¶
func (fwt *FileWatchThrottle) Process(msg *core.Message)
func (*FileWatchThrottle) SetStarted ¶
func (fwt *FileWatchThrottle) SetStarted(newValue bool)
func (*FileWatchThrottle) Subscriptions ¶
func (fwt *FileWatchThrottle) Subscriptions() []string
type FileWatcher ¶
type FileWatcher struct {
// contains filtered or unexported fields
}
FileWatcher listens for data plane changes
func NewFileWatcher ¶
func NewFileWatcher(config *config.Config, env core.Environment) *FileWatcher
func (*FileWatcher) Close ¶
func (fw *FileWatcher) Close()
func (*FileWatcher) Info ¶
func (fw *FileWatcher) Info() *core.Info
func (*FileWatcher) Init ¶
func (fw *FileWatcher) Init(pipeline core.MessagePipeInterface)
func (*FileWatcher) Process ¶
func (fw *FileWatcher) Process(message *core.Message)
func (*FileWatcher) Subscriptions ¶
func (fw *FileWatcher) Subscriptions() []string
type HealthResponse ¶ added in v2.34.0
type HealthResponse struct { // Overall health status // example: OK Status string `json:"status"` // Array of health checks Checks []HealthStatusCheck `json:"checks"` }
swagger:model HealthResponse
type HealthStatusCheck ¶ added in v2.34.0
type HealthStatusCheck struct { // Health check name // example: commandConnection Name string `json:"name"` // Health check status // example: OK Status string `json:"status"` }
swagger:model HealthStatusCheck
type Metrics ¶
type Metrics struct {
// contains filtered or unexported fields
}
func NewMetrics ¶
func NewMetrics(config *config.Config, env core.Environment, binary core.NginxBinary, processes []*core.Process) *Metrics
func (*Metrics) Init ¶
func (m *Metrics) Init(pipeline core.MessagePipeInterface)
func (*Metrics) Subscriptions ¶
type MetricsSender ¶ added in v2.20.0
type MetricsSender struct {
// contains filtered or unexported fields
}
func NewMetricsSender ¶ added in v2.20.0
func NewMetricsSender(reporter client.MetricReporter) *MetricsSender
func (*MetricsSender) Close ¶ added in v2.20.0
func (r *MetricsSender) Close()
func (*MetricsSender) Info ¶ added in v2.20.0
func (r *MetricsSender) Info() *core.Info
func (*MetricsSender) Init ¶ added in v2.20.0
func (r *MetricsSender) Init(pipeline core.MessagePipeInterface)
func (*MetricsSender) Process ¶ added in v2.20.0
func (r *MetricsSender) Process(msg *core.Message)
func (*MetricsSender) Subscriptions ¶ added in v2.20.0
func (r *MetricsSender) Subscriptions() []string
type MetricsThrottle ¶
type MetricsThrottle struct { BulkSize int // contains filtered or unexported fields }
func NewMetricsThrottle ¶
func NewMetricsThrottle(conf *config.Config, env core.Environment) *MetricsThrottle
func (*MetricsThrottle) Close ¶
func (r *MetricsThrottle) Close()
func (*MetricsThrottle) Info ¶
func (r *MetricsThrottle) Info() *core.Info
func (*MetricsThrottle) Init ¶
func (r *MetricsThrottle) Init(pipeline core.MessagePipeInterface)
func (*MetricsThrottle) Process ¶
func (r *MetricsThrottle) Process(msg *core.Message)
func (*MetricsThrottle) Subscriptions ¶
func (r *MetricsThrottle) Subscriptions() []string
type Nginx ¶
type Nginx struct {
// contains filtered or unexported fields
}
Nginx is the metadata of our nginx binary
func (*Nginx) Close ¶
func (n *Nginx) Close()
Close cleans up anything outstanding once the plugin ends
func (*Nginx) Init ¶
func (n *Nginx) Init(pipeline core.MessagePipeInterface)
Init initializes the plugin
func (*Nginx) Subscriptions ¶
func (*Nginx) ValidateNginxAppProtectVersion ¶ added in v2.24.0
func (n *Nginx) ValidateNginxAppProtectVersion(nginxConfig *proto.NginxConfig) (bool, error)
type NginxConfigValidationResponse ¶ added in v2.20.0
type NginxConfigValidationResponse struct {
// contains filtered or unexported fields
}
type NginxCounter ¶
type NginxCounter struct {
// contains filtered or unexported fields
}
func NewNginxCounter ¶
func NewNginxCounter(conf *config.Config, nginxBinary core.NginxBinary, env core.Environment) *NginxCounter
func (*NginxCounter) Close ¶
func (nc *NginxCounter) Close()
func (*NginxCounter) Info ¶
func (nc *NginxCounter) Info() *core.Info
func (*NginxCounter) Init ¶
func (nc *NginxCounter) Init(pipeline core.MessagePipeInterface)
func (*NginxCounter) Process ¶
func (nc *NginxCounter) Process(msg *core.Message)
func (*NginxCounter) Subscriptions ¶
func (nc *NginxCounter) Subscriptions() []string
type NginxHandler ¶ added in v2.20.0
type NginxHandler struct {
// contains filtered or unexported fields
}
func (*NginxHandler) ServeHTTP ¶ added in v2.20.0
func (h *NginxHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)
type NginxInstanceResponse ¶ added in v2.21.0
type NginxInstanceResponse struct { // NGINX ID // example: b636d4376dea15405589692d3c5d3869ff3a9b26b0e7bb4bb1aa7e658ace1437 NginxId string `json:"nginx_id"` // Message // example: config applied successfully Message string `json:"message"` // Status // example: OK Status string `json:"status"` }
swagger:model NginxInstanceResponse
type NginxReloadResponse ¶
type NginxReloadResponse struct {
// contains filtered or unexported fields
}
type OneTimeRegistration ¶
type OneTimeRegistration struct {
// contains filtered or unexported fields
}
func NewOneTimeRegistration ¶
func NewOneTimeRegistration( config *config.Config, binary core.NginxBinary, env core.Environment, meta *proto.Metadata, processes []*core.Process, ) *OneTimeRegistration
func (*OneTimeRegistration) Close ¶
func (r *OneTimeRegistration) Close()
func (*OneTimeRegistration) Info ¶
func (r *OneTimeRegistration) Info() *core.Info
func (*OneTimeRegistration) Init ¶
func (r *OneTimeRegistration) Init(pipeline core.MessagePipeInterface)
func (*OneTimeRegistration) Process ¶
func (r *OneTimeRegistration) Process(msg *core.Message)
func (*OneTimeRegistration) Subscriptions ¶
func (r *OneTimeRegistration) Subscriptions() []string
type ParameterRequest ¶ added in v2.22.0
type ParameterRequest struct { // in: formData // swagger:file File interface{} `json:"file"` }
swagger:parameters apply-nginx-config
type ProcessWatcher ¶
type ProcessWatcher struct {
// contains filtered or unexported fields
}
ProcessWatcher listens for changes to nginx processes on the data plane
func NewProcessWatcher ¶
func NewProcessWatcher(env core.Environment, nginxBinary core.NginxBinary, processes []*core.Process, config *config.Config) *ProcessWatcher
func (*ProcessWatcher) Close ¶
func (pw *ProcessWatcher) Close()
func (*ProcessWatcher) Info ¶
func (pw *ProcessWatcher) Info() *core.Info
func (*ProcessWatcher) Init ¶
func (pw *ProcessWatcher) Init(pipeline core.MessagePipeInterface)
func (*ProcessWatcher) Process ¶
func (pw *ProcessWatcher) Process(message *core.Message)
func (*ProcessWatcher) Subscriptions ¶
func (pw *ProcessWatcher) Subscriptions() []string
type RootHandler ¶ added in v2.34.0
type RootHandler struct {
// contains filtered or unexported fields
}
func (*RootHandler) ServeHTTP ¶ added in v2.34.0
func (rh *RootHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)