-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathconfig.yaml
More file actions
233 lines (191 loc) · 7.33 KB
/
config.yaml
File metadata and controls
233 lines (191 loc) · 7.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
# GoDockerManager Configuration File
# Copy this file to your working directory as 'config.yaml'
#
# This file contains all configuration options for GoDockerManager including
# the new enterprise-grade monitoring, security, and observability features.
# =============================================================================
# DOCKER CONNECTION
# =============================================================================
# Docker socket path
# Default: unix:///var/run/docker.sock
# Examples:
# - Unix socket: "unix:///var/run/docker.sock"
# - TCP socket: "tcp://localhost:2376"
# - Windows named pipe: "npipe:////./pipe/docker_engine"
docker_socket: "unix:///var/run/docker.sock"
# =============================================================================
# OUTPUT FORMATTING
# =============================================================================
# Default output format for list commands
# Options: table, json, yaml, csv
# Default: table
output_format: "table"
# =============================================================================
# MONITORING & METRICS
# =============================================================================
# Enable historical metrics collection
# When enabled, container metrics are stored for historical analysis
enable_metrics: true
# Metrics retention period in hours
# Data older than this period will be automatically cleaned up
# Default: 168 hours (7 days)
# Minimum: 24 hours (1 day)
# Maximum: 720 hours (30 days)
metrics_retention: 168
# Metrics collection interval in seconds
# How often to collect container metrics when using prometheus exporter
# Default: 30 seconds
# Minimum: 10 seconds
# Maximum: 300 seconds (5 minutes)
metrics_interval: 30
# =============================================================================
# ALERTING SYSTEM
# =============================================================================
alerting:
# Enable real-time alerting for container resource usage
enabled: true
# CPU usage threshold percentage
# Alerts when container CPU usage exceeds this value
# Range: 0.0 - 100.0
cpu_threshold: 80.0
# Memory usage threshold percentage
# Alerts when container memory usage exceeds this value
# Range: 0.0 - 100.0
memory_threshold: 90.0
# Disk usage threshold percentage
# Alerts when container disk I/O usage exceeds this value
# Range: 0.0 - 100.0
disk_threshold: 85.0
# Alert notification method
# Options: console, webhook, email, slack
# console: Print alerts to command line
# webhook: Send alerts to HTTP endpoint (requires webhook_url)
# email: Send alerts via email (requires email configuration)
# slack: Send alerts to Slack channel (requires slack configuration)
notification_method: "console"
# Webhook configuration (if notification_method is "webhook")
webhook_url: "" # e.g., "https://hooks.slack.com/services/..."
webhook_timeout: 30 # seconds
# Email configuration (if notification_method is "email")
email_smtp_server: "smtp.gmail.com"
email_smtp_port: 587
email_username: ""
email_password: ""
email_from: ""
email_to: []
# =============================================================================
# SECURITY SCANNING
# =============================================================================
security:
# Enable automatic security scanning for containers
# When enabled, containers are scanned for known vulnerabilities
enabled: true
# Security scan interval in hours
# How often to automatically scan running containers
# Default: 24 hours
# Set to 0 to disable automatic scanning
scan_interval: 24
# Vulnerability database update interval in hours
# How often to check for vulnerability database updates
# Default: 168 hours (7 days)
db_update_interval: 168
# Security levels for reporting
# Include containers with vulnerabilities at or above this level
# Options: low, medium, high, critical
minimum_severity_level: "medium"
# =============================================================================
# PROMETHEUS INTEGRATION
# =============================================================================
prometheus:
# Default port for Prometheus metrics exporter
# This port is used when running 'docker-container-manager prometheus'
default_port: 8080
# Metrics collection interval
# How often to collect and update Prometheus metrics
# Format: duration string (e.g., "30s", "1m", "5m")
collection_interval: "30s"
# Enable detailed metrics
# When true, includes additional detailed metrics for advanced monitoring
detailed_metrics: true
# Enable health check endpoint
# Provides /health endpoint for load balancer health checks
health_check_enabled: true
# =============================================================================
# GRAFANA DASHBOARD
# =============================================================================
grafana:
# Default dashboard title
dashboard_title: "GoDockerManager Container Metrics"
# Dashboard refresh interval in seconds
# How often Grafana should refresh the dashboard
refresh_interval: 10
# Default time range for dashboard
# Format: "now-Xh" where X is number of hours
default_time_range: "now-1h"
# Include panels for:
# - CPU usage trends
# - Memory consumption
# - Network traffic
# - Disk I/O
# - Container health status
enable_all_panels: true
# =============================================================================
# DATA STORAGE
# =============================================================================
# Directory for storing metrics and security data
# Default: ~/.godockermanager/
# Set to absolute path to override default location
data_directory: ""
# Enable data compression for historical metrics
# Reduces disk usage for long-term metric storage
enable_compression: true
# Maximum disk usage percentage for data storage
# When exceeded, oldest data is automatically cleaned up
max_disk_usage: 80.0
# =============================================================================
# LOGGING
# =============================================================================
# Log level for application logs
# Options: debug, info, warn, error
# Default: info
log_level: "info"
# Enable detailed logging for debugging
# When true, includes detailed debug information in logs
debug_logging: false
# Log file path (empty for console only)
# Set to file path to enable persistent logging
log_file: ""
# Maximum log file size in MB before rotation
# Default: 100 MB
max_log_size: 100
# Maximum number of rotated log files to keep
# Default: 5
max_log_files: 5
# =============================================================================
# EXAMPLE CUSTOM CONFIGURATIONS
# =============================================================================
#
# Production Environment:
# metrics_retention: 720 # 30 days
# alerting:
# notification_method: "webhook"
# webhook_url: "https://your-webhook-url"
# security:
# minimum_severity_level: "high"
# scan_interval: 6 # Every 6 hours
#
# Development Environment:
# metrics_retention: 24 # 1 day
# alerting:
# notification_method: "console"
# prometheus:
# default_port: 9090
# detailed_metrics: false
#
# High Security Environment:
# security:
# minimum_severity_level: "low"
# scan_interval: 1 # Every hour
# alerting:
# cpu_threshold: 70.0 # More sensitive
# memory_threshold: 80.0