Skip to content

Commit 98035a9

Browse files
committed
feat: Update README.md with enhanced formatting and content
1 parent f26ea0d commit 98035a9

File tree

1 file changed

+58
-32
lines changed

1 file changed

+58
-32
lines changed

README.md

Lines changed: 58 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,33 @@
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

5266
The 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
5670
helm repo add slaking https://elementtech.github.io/slaking
5771
helm repo update
5872

59-
# Install the chart
73+
# Install the chart - Wake up Slaking!
6074
helm install slaking slaking/slaking \
6175
--namespace slaking \
6276
--create-namespace \
@@ -99,11 +113,11 @@ For users who prefer direct Kubernetes manifests:
99113
kubectl 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
109123
metadata:
@@ -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
212226
npm 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
246260
rate(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
328342
curl 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

398412
1. Fork the repository
399413
2. Create a feature branch
400414
3. Make your changes
401415
4. Add tests
402416
5. 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

Comments
 (0)