1- # Slaking
1+ # 🦥 Slaking
22
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!" *
44
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!*
616
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
1318
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
1527
1628```
1729┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
18- │ Kubernetes │ │ Slaking │ │ Slack │
30+ │ Kubernetes │ │ 🦥 Slaking │ │ Slack │
1931│ Workloads │───▶│ Service │───▶│ Channels │
2032│ (with │ │ │ │ │
2133│ annotations) │ │ - Watcher │ │ - #alerts │
@@ -24,7 +36,9 @@ A Kubernetes service that monitors workloads for specific annotations and sends
2436└─────────────────┘ └──────────────────┘ └─────────────────┘
2537```
2638
27- ## Deployment Options
39+ * Slaking's territory spans from your Kubernetes cluster to your Slack workspace!*
40+
41+ ## 🚀 Deployment Options
2842
2943### Prerequisites for Helm Repository
3044
@@ -47,7 +61,7 @@ Before installing from the Helm repository, ensure the GitHub Pages repository i
4761 curl https://elementtech.github.io/slaking/index.yaml
4862 ```
4963
50- ### Option 1: Helm Chart (Recommended)
64+ ### Option 1: Helm Chart (Recommended) 🦥
5165
5266The easiest way to deploy Slaking is using the provided Helm chart from the GitHub Pages repository:
5367
@@ -56,7 +70,7 @@ The easiest way to deploy Slaking is using the provided Helm chart from the GitH
5670helm repo add slaking https://elementtech.github.io/slaking
5771helm repo update
5872
59- # Install the chart
73+ # Install the chart - Wake up Slaking!
6074helm install slaking slaking/slaking \
6175 --namespace slaking \
6276 --create-namespace \
@@ -99,11 +113,11 @@ For users who prefer direct Kubernetes manifests:
99113kubectl apply -f k8s/
100114```
101115
102- ## Configuration
116+ ## ⚙️ Configuration
103117
104118### Workload Annotations
105119
106- Add these annotations to your Kubernetes workloads:
120+ Add these annotations to your Kubernetes workloads - Slaking will watch for these signals :
107121
108122``` yaml
109123metadata :
@@ -128,7 +142,7 @@ metadata:
128142| `slaking.max-lines` | Maximum lines per message | `10` |
129143| `slaking.cooldown` | Cooldown period between messages (seconds) | `60` |
130144
131- # # Installation
145+ # # 🎮 Installation
132146
133147# ## Prerequisites
134148
@@ -146,7 +160,7 @@ metadata:
146160 helm repo add slaking https://elementtech.github.io/slaking
147161 helm repo update
148162
149- # Install with your Slack configuration
163+ # Install with your Slack configuration - Time to wake up Slaking!
150164 helm install slaking slaking/slaking \
151165 --namespace slaking \
152166 --create-namespace \
@@ -169,7 +183,7 @@ metadata:
169183 ./helm-deploy.sh
170184 ` ` `
171185
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!** 🦥
173187
174188# ## Updating the Helm Chart
175189
@@ -192,7 +206,7 @@ helm upgrade slaking slaking/slaking \
192206 --reuse-values
193207` ` `
194208
195- # # Development
209+ # # 🛠️ Development
196210
197211# ## Local Development
198212
@@ -212,17 +226,17 @@ npm test
212226npm run build
213227` ` `
214228
215- # # API Endpoints
229+ # # 🔌 API Endpoints
216230
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)
219233- ` POST /config` - Update configuration
220234- ` GET /config` - Get current configuration
221235- ` GET /status` - Service status
222236
223- # # Monitoring
237+ # # 📊 Monitoring
224238
225- The service exposes Prometheus metrics at `/metrics` for monitoring :
239+ The service exposes Prometheus metrics at `/metrics` for monitoring - Slaking's performance stats :
226240- ` slaking_logs_processed_total`
227241- ` slaking_logs_filtered_total`
228242- ` slaking_slack_messages_sent_total`
@@ -246,7 +260,7 @@ slaking_active_streams
246260rate(slaking_slack_messages_sent_total[5m])
247261` ` `
248262
249- # # Advanced Configuration
263+ # # 🎯 Advanced Configuration
250264
251265# ## Helm Chart Configuration
252266
@@ -275,7 +289,7 @@ Create separate values files for different environments:
275289- ` values-staging.yaml` - Staging settings
276290- ` values-development.yaml` - Development settings
277291
278- # # Troubleshooting
292+ # # 🆘 Troubleshooting
279293
280294# ## Common Issues
281295
@@ -328,7 +342,7 @@ kubectl port-forward -n slaking svc/slaking-metrics 9090:9090
328342curl http://localhost:9090/metrics
329343` ` `
330344
331- # # Management Commands
345+ # # 🎮 Management Commands
332346
333347# ## Helm Deployment (Repository-based)
334348
@@ -373,7 +387,7 @@ kubectl delete namespace slaking
373387./helm-deploy.sh uninstall
374388` ` `
375389
376- # # Security Considerations
390+ # # 🔒 Security Considerations
377391
378392# ## RBAC Permissions
379393
@@ -393,14 +407,26 @@ The service requires minimal permissions:
393407- Slack token is stored in Kubernetes Secret
394408- Consider using external secret management (HashiCorp Vault, AWS Secrets Manager, etc.)
395409
396- # # Contributing
410+ # # 🤝 Contributing
397411
3984121. Fork the repository
3994132. Create a feature branch
4004143. Make your changes
4014154. Add tests
4024165. Submit a pull request
403417
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+ ---
405431
406- MIT
432+ *Made with ❤️ by the Slaking team - Because even the laziest Pokémon can be the most reliable!* 🦥
0 commit comments