agent

module
v3.0.0-...-6fc1f16 Latest Latest
Warning

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

Go to latest
Published: Feb 25, 2025 License: Apache-2.0

README

GitHub go.mod Go version GitHub License Contributions Welcome Slack coverage

NGINX Agent

NGINX Agent is a companion daemon for your NGINX Open Source or NGINX Plus instance. It enables:

  • Remote management of NGINX configurations
  • Collection and reporting of real-time NGINX performance and operating system metrics
  • Notifications of NGINX events

Development Environment Setup

Installing Prerequisite Packages

The following packages need to be installed:

Workaround to install mdatagen
git clone https://github.com/open-telemetry/opentelemetry-collector.git
cd opentelemetry-collector
git checkout v0.114.0
cd cmd/mdatagen
go install

Before starting development on the NGINX Agent, it is important to download and install the necessary tool and dependencies required by the NGINX Agent. You can do this by running the following make command:

make install-tools
Building NGINX Agent from Source Code

Build NGINX Agent deb package:

OSARCH=<operating system archiecture> make local-deb-package

Build NGINX Agent rpm package:

OSARCH=<operating system archiecture> make local-rpm-package

Build NGINX Agent apk package:

OSARCH=<operating system archiecture> make local-apk-package
Testing NGINX Agent
Unit tests

To run unit tests and check that there is enough test coverage run the following

make unit-test coverge

To check for race conditions, the unit tests can also be run with a race condition detector

make race-condition-test
Integration tests

To run integration tests, run the following

make integration-test
Testing with a mock management plane

For testing command operations, there is a mock management gRPC server that can be used. See here: mock management gRPC server
For testing metrics, there is a mock management OTel collector that can be used. See here: mock management OTel collector

NGINX Agent Technical Specifications

Supported Distributions

NGINX Agent can run in most environments. For a list of supported distributions, see the NGINX Technical Specs guide.

Supported Deployment Environments

NGINX Agent can be deployed in the following environments:

  • Bare Metal
  • Container
  • Public Cloud: AWS, Google Cloud Platform, and Microsoft Azure
  • Virtual Machine
Supported NGINX Product Versions

NGINX Agent works with all supported versions of NGINX Open Source and NGINX Plus.

Sizing Recommendations

Minimum system sizing recommendations for NGINX Agent: TBD

Community

Contributing

Get involved with the project by contributing! Please see our contributing guide for details.

Change Log

See our release page to keep track of updates.

License

Apache License, Version 2.0

Directories

Path Synopsis
api
grpc/mpi/v1/v1fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
cmd
bus
collector/types/typesfakes
Code generated by counterfeiter.
Code generated by counterfeiter.
command/commandfakes
Code generated by counterfeiter.
Code generated by counterfeiter.
datasource/host/exec/execfakes
Code generated by counterfeiter.
Code generated by counterfeiter.
datasource/host/hostfakes
Code generated by counterfeiter.
Code generated by counterfeiter.
file/filefakes
Code generated by counterfeiter.
Code generated by counterfeiter.
grpc/grpcfakes
Code generated by counterfeiter.
Code generated by counterfeiter.
resource/resourcefakes
Code generated by counterfeiter.
Code generated by counterfeiter.
watcher/health/healthfakes
Code generated by counterfeiter.
Code generated by counterfeiter.
watcher/instance/instancefakes
Code generated by counterfeiter.
Code generated by counterfeiter.
watcher/process/processfakes
Code generated by counterfeiter.
Code generated by counterfeiter.
watcher/watcherfakes
Code generated by counterfeiter.
Code generated by counterfeiter.
pkg
files
Package files implements utility routines for gathering information about files and their contents.
Package files implements utility routines for gathering information about files and their contents.
id
tls
Package gencert generates a certificate authority (CA) and a server certificate signed by it.
Package gencert generates a certificate authority (CA) and a server certificate signed by it.
test

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳