mirror of
https://github.com/yusing/godoxy.git
synced 2026-02-22 18:37:46 +01:00
53 lines
1.6 KiB
Markdown
53 lines
1.6 KiB
Markdown
# agent/cmd
|
|
|
|
The main entry point for the GoDoxy Agent, a secure monitoring and proxy agent that runs alongside Docker containers.
|
|
|
|
## Overview
|
|
|
|
This package contains the `main.go` entry point for the GoDoxy Agent. The agent is a TLS-enabled server that provides:
|
|
|
|
- Secure Docker socket proxying with client certificate authentication
|
|
- HTTP proxy capabilities for container traffic
|
|
- System metrics collection and monitoring
|
|
- Health check endpoints
|
|
|
|
## Architecture
|
|
|
|
```mermaid
|
|
graph TD
|
|
A[main] --> B[Logger Init]
|
|
A --> C[Load CA Certificate]
|
|
A --> D[Load Server Certificate]
|
|
A --> E[Log Version Info]
|
|
A --> F[Start Agent Server]
|
|
A --> G[Start Socket Proxy]
|
|
A --> H[Start System Info Poller]
|
|
A --> I[Wait Exit]
|
|
|
|
F --> F1[TLS with mTLS]
|
|
F --> F2[Agent Handler]
|
|
G --> G1[Docker Socket Proxy]
|
|
```
|
|
|
|
## Main Function Flow
|
|
|
|
1. **Logger Setup**: Configures zerolog with console output
|
|
1. **Certificate Loading**: Loads CA and server certificates for TLS/mTLS
|
|
1. **Version Logging**: Logs agent version and configuration
|
|
1. **Agent Server**: Starts the main HTTPS server with agent handlers
|
|
1. **Socket Proxy**: Starts Docker socket proxy if configured
|
|
1. **System Monitoring**: Starts system info polling
|
|
1. **Graceful Shutdown**: Waits for exit signal (3 second timeout)
|
|
|
|
## Configuration
|
|
|
|
See `agent/pkg/env/README.md` for configuration options.
|
|
|
|
## Dependencies
|
|
|
|
- `agent/pkg/agent` - Core agent types and constants
|
|
- `agent/pkg/env` - Environment configuration
|
|
- `agent/pkg/server` - Server implementation
|
|
- `socketproxy/pkg` - Docker socket proxy
|
|
- `internal/metrics/systeminfo` - System metrics
|