1
- # Slaking
1
+ # 🦥 Slaking
2
2
3
- A Kubernetes service that monitors workloads for specific annotations and sends filtered logs to Slack channels based on configurations.
3
+ > * "The laziest Pokémon that monitors your Kubernetes workloads while you take a nap!" *
4
4
5
- ## Features
5
+ ```
6
+ ╭─────────────────────────────────────────────────────────────╮
7
+ │ │
8
+ │ 🦥 Slaking - Kubernetes Log Monitoring Service │
9
+ │ │
10
+ │ "When your logs need attention, Slaking wakes up!" │
11
+ │ │
12
+ ╰─────────────────────────────────────────────────────────────╯
13
+ ```
14
+
15
+ * A Kubernetes service that monitors workloads for specific annotations and sends filtered logs to Slack channels based on configurations - just like how Slaking watches over its territory!*
6
16
7
- - ** Workload Monitoring** : Watches Kubernetes workloads (Pods, Deployments, StatefulSets, etc.) for specific annotations
8
- - ** Log Filtering** : Filters logs based on configurable patterns and criteria
9
- - ** Slack Integration** : Sends filtered logs to designated Slack channels
10
- - ** Configuration Management** : Supports multiple configurations for different workloads and channels
11
- - ** Health Monitoring** : Built-in health checks and metrics
12
- - ** Helm Chart** : Complete Helm chart for easy deployment and management
17
+ ## 🎯 Features
13
18
14
- ## Architecture
19
+ - ** 🦥 Workload Monitoring** : Like Slaking's keen senses, watches Kubernetes workloads (Pods, Deployments, StatefulSets, etc.) for specific annotations
20
+ - ** 🔍 Log Filtering** : Filters logs based on configurable patterns and criteria - Slaking knows exactly what to look for!
21
+ - ** 📱 Slack Integration** : Sends filtered logs to designated Slack channels - Slaking's way of communicating
22
+ - ** ⚙️ Configuration Management** : Supports multiple configurations for different workloads and channels
23
+ - ** ❤️ Health Monitoring** : Built-in health checks and metrics - Slaking stays healthy!
24
+ - ** 📦 Helm Chart** : Complete Helm chart for easy deployment and management
25
+
26
+ ## 🏗️ Architecture
15
27
16
28
```
17
29
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
18
- │ Kubernetes │ │ Slaking │ │ Slack │
30
+ │ Kubernetes │ │ 🦥 Slaking │ │ Slack │
19
31
│ Workloads │───▶│ Service │───▶│ Channels │
20
32
│ (with │ │ │ │ │
21
33
│ annotations) │ │ - Watcher │ │ - #alerts │
@@ -24,7 +36,9 @@ A Kubernetes service that monitors workloads for specific annotations and sends
24
36
└─────────────────┘ └──────────────────┘ └─────────────────┘
25
37
```
26
38
27
- ## Deployment Options
39
+ * Slaking's territory spans from your Kubernetes cluster to your Slack workspace!*
40
+
41
+ ## 🚀 Deployment Options
28
42
29
43
### Prerequisites for Helm Repository
30
44
@@ -47,7 +61,7 @@ Before installing from the Helm repository, ensure the GitHub Pages repository i
47
61
curl https://elementtech.github.io/slaking/index.yaml
48
62
```
49
63
50
- ### Option 1: Helm Chart (Recommended)
64
+ ### Option 1: Helm Chart (Recommended) 🦥
51
65
52
66
The easiest way to deploy Slaking is using the provided Helm chart from the GitHub Pages repository:
53
67
@@ -56,7 +70,7 @@ The easiest way to deploy Slaking is using the provided Helm chart from the GitH
56
70
helm repo add slaking https://elementtech.github.io/slaking
57
71
helm repo update
58
72
59
- # Install the chart
73
+ # Install the chart - Wake up Slaking!
60
74
helm install slaking slaking/slaking \
61
75
--namespace slaking \
62
76
--create-namespace \
@@ -99,11 +113,11 @@ For users who prefer direct Kubernetes manifests:
99
113
kubectl apply -f k8s/
100
114
```
101
115
102
- ## Configuration
116
+ ## ⚙️ Configuration
103
117
104
118
### Workload Annotations
105
119
106
- Add these annotations to your Kubernetes workloads:
120
+ Add these annotations to your Kubernetes workloads - Slaking will watch for these signals :
107
121
108
122
``` yaml
109
123
metadata :
@@ -128,7 +142,7 @@ metadata:
128
142
| `slaking.max-lines` | Maximum lines per message | `10` |
129
143
| `slaking.cooldown` | Cooldown period between messages (seconds) | `60` |
130
144
131
- # # Installation
145
+ # # 🎮 Installation
132
146
133
147
# ## Prerequisites
134
148
@@ -146,7 +160,7 @@ metadata:
146
160
helm repo add slaking https://elementtech.github.io/slaking
147
161
helm repo update
148
162
149
- # Install with your Slack configuration
163
+ # Install with your Slack configuration - Time to wake up Slaking!
150
164
helm install slaking slaking/slaking \
151
165
--namespace slaking \
152
166
--create-namespace \
@@ -169,7 +183,7 @@ metadata:
169
183
./helm-deploy.sh
170
184
` ` `
171
185
172
- 3. **Configure your workloads with annotations and watch logs flow to Slack!**
186
+ 3. **Configure your workloads with annotations and watch logs flow to Slack!** 🦥
173
187
174
188
# ## Updating the Helm Chart
175
189
@@ -192,7 +206,7 @@ helm upgrade slaking slaking/slaking \
192
206
--reuse-values
193
207
` ` `
194
208
195
- # # Development
209
+ # # 🛠️ Development
196
210
197
211
# ## Local Development
198
212
@@ -212,17 +226,17 @@ npm test
212
226
npm run build
213
227
` ` `
214
228
215
- # # API Endpoints
229
+ # # 🔌 API Endpoints
216
230
217
- - ` GET /health` - Health check
218
- - ` GET /metrics` - Prometheus metrics
231
+ - ` GET /health` - Health check (Slaking's vital signs)
232
+ - ` GET /metrics` - Prometheus metrics (Slaking's stats)
219
233
- ` POST /config` - Update configuration
220
234
- ` GET /config` - Get current configuration
221
235
- ` GET /status` - Service status
222
236
223
- # # Monitoring
237
+ # # 📊 Monitoring
224
238
225
- The service exposes Prometheus metrics at `/metrics` for monitoring :
239
+ The service exposes Prometheus metrics at `/metrics` for monitoring - Slaking's performance stats :
226
240
- ` slaking_logs_processed_total`
227
241
- ` slaking_logs_filtered_total`
228
242
- ` slaking_slack_messages_sent_total`
@@ -246,7 +260,7 @@ slaking_active_streams
246
260
rate(slaking_slack_messages_sent_total[5m])
247
261
` ` `
248
262
249
- # # Advanced Configuration
263
+ # # 🎯 Advanced Configuration
250
264
251
265
# ## Helm Chart Configuration
252
266
@@ -275,7 +289,7 @@ Create separate values files for different environments:
275
289
- ` values-staging.yaml` - Staging settings
276
290
- ` values-development.yaml` - Development settings
277
291
278
- # # Troubleshooting
292
+ # # 🆘 Troubleshooting
279
293
280
294
# ## Common Issues
281
295
@@ -328,7 +342,7 @@ kubectl port-forward -n slaking svc/slaking-metrics 9090:9090
328
342
curl http://localhost:9090/metrics
329
343
` ` `
330
344
331
- # # Management Commands
345
+ # # 🎮 Management Commands
332
346
333
347
# ## Helm Deployment (Repository-based)
334
348
@@ -373,7 +387,7 @@ kubectl delete namespace slaking
373
387
./helm-deploy.sh uninstall
374
388
` ` `
375
389
376
- # # Security Considerations
390
+ # # 🔒 Security Considerations
377
391
378
392
# ## RBAC Permissions
379
393
@@ -393,14 +407,26 @@ The service requires minimal permissions:
393
407
- Slack token is stored in Kubernetes Secret
394
408
- Consider using external secret management (HashiCorp Vault, AWS Secrets Manager, etc.)
395
409
396
- # # Contributing
410
+ # # 🤝 Contributing
397
411
398
412
1. Fork the repository
399
413
2. Create a feature branch
400
414
3. Make your changes
401
415
4. Add tests
402
416
5. Submit a pull request
403
417
404
- # # License
418
+ ---
419
+
420
+ ```
421
+ 🦥 Slaking says: "Thanks for choosing me as your Kubernetes monitor!"
422
+
423
+ "When your logs need attention, I'll be there to help!"
424
+ ```
425
+
426
+ ## 📄 License
427
+
428
+ MIT
429
+
430
+ ---
405
431
406
- MIT
432
+ *Made with ❤️ by the Slaking team - Because even the laziest Pokémon can be the most reliable!* 🦥
0 commit comments