https://github.com/middleware-labs/mw-agent
Middleware Agent for Linux, Kubernetes, Docker, Windows & macOS
https://github.com/middleware-labs/mw-agent
golang hacktoberfest kubernetes
Last synced: 6 months ago
JSON representation
Middleware Agent for Linux, Kubernetes, Docker, Windows & macOS
- Host: GitHub
- URL: https://github.com/middleware-labs/mw-agent
- Owner: middleware-labs
- License: apache-2.0
- Created: 2023-07-04T04:40:14.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2026-01-15T06:26:21.000Z (6 months ago)
- Last Synced: 2026-01-15T12:41:09.587Z (6 months ago)
- Topics: golang, hacktoberfest, kubernetes
- Language: Go
- Homepage: https://middleware.io
- Size: 124 MB
- Stars: 75
- Watchers: 5
- Forks: 7
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- awesome-cloud-native - middleware - Full-stack observability platform with SRE agent. (Observability & Monitoring)
README
# mw-agent (Middleware Agent)
[](https://go.dev/)
[](https://goreportcard.com/report/github.com/middleware-labs/mw-agent)
[](https://opensource.org/licenses/Apache-2.0)

[](#)
[](#)
[](#)
[](#)
[](#)
## Overview
The Middleware Agent (`mw-agent`) collects and processes various types of monitoring data. It supports multiple deployment environments and provides comprehensive monitoring capabilities.
## Components
The agent consists of three main components:
1. **Host Agent** (`cmd/host-agent/`)
- Designed for Linux, Windows & macOS environments
- Collects system-level metrics and logs
- Monitors Docker containers and applications
2. **Kubernetes Agent** (`cmd/kube-agent/`)
- Specifically designed for Kubernetes environments
- Collects cluster-level metrics and logs
- Monitors pods, services, and other Kubernetes resources
- Deployed as a daemonset & deployment
3. **Kubernetes Config Updater** (`cmd/kube-config-updater/`)
- Manages configuration updates for Kubernetes deployments and daemonset
- Ensures seamless configuration management in Kubernetes environments
- Supports automated configuration updates
## Features
- **Multi-environment Support**: Deploy on Linux, Windows, or macOS
- **Comprehensive Monitoring**:
- Metrics collection
- Log aggregation
- Trace collection
- Synthetic monitoring
- **Flexible Configuration**: Support for environment variables, CLI flags, and configuration files
- **Docker Integration**: Native support for Docker container monitoring
- **Custom Tagging**: Ability to add custom tags to hosts and resources
- **Automated Configuration Management**: Seamless configuration updates in Kubernetes environments
## Installation
Check out various installation option available [here](https://docs.middleware.io/agent-installation/overview).
## Building from Source
The project includes a comprehensive Makefile for building different components:
```bash
# Build host agent for different platforms
make build-linux # Linux
make build-windows # Windows
make build-darwin-amd64 # macOS (Intel)
make build-darwin-arm64 # macOS (Apple Silicon)
# Build Kubernetes components
make build-kube # Kubernetes agent
make build-kube-config-updater # Kubernetes config updater
# Package components
make package-windows # Windows installer
make package-linux-deb # Debian package
make package-linux-rpm # RPM package
make package-linux-docker # Docker image
make package-kube-config-updater # Kubernetes config updater image
```
## Configuration
The agent can be configured using:
- Environment variables
- Command-line flags
- Configuration file (YAML)
For detailed configuration options, see [Configuration Guide](docs/configuration.md).
### Basic Configuration Example
```yaml
api-key: YOUR_API_KEY
target: https://app.middleware.io
config-check-interval: 60s
docker-endpoint: unix:///var/run/docker.sock
host-tags: tag1=value1,tag2=value2
```
## Documentation
- [Installation Guide](https://docs.middleware.io/agent-installation/overview)
- [Configuration Guide](docs/configuration.md)
## License
This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.