Skip to content

Commit 5436188

Browse files
committed
docs: add user quickstart guides
Add user-focused documentation including quickstart guides, installation instructions, configuration options, and troubleshooting. - Add user documentation directory with comprehensive guides - Restructure docs with consistent README.md naming - Add detailed installation guide for multiple deployment methods - Add quickstart guide with 4 different setup approaches - Add troubleshooting guide for common issues - Add configuration guide covering all Kepler settings The documentation provides clear paths for different user types from beginners to advanced users, with practical examples and step-by-step instructions for deploying and configuring Kepler. Signed-off-by: Sunil Thaha <[email protected]>
1 parent ca1c3f6 commit 5436188

File tree

10 files changed

+1067
-103
lines changed

10 files changed

+1067
-103
lines changed

README.md

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -54,33 +54,44 @@ accurate energy consumption monitoring for cloud-native workloads.
5454

5555
## 🚀 Getting Started
5656

57-
> **📖 For comprehensive installation instructions, troubleshooting, and advanced deployment options, see our [Installation Guide](docs/user/installation.md)**
57+
**New to Kepler?** Follow our [**📖 Getting Started Guide**](docs/user/getting-started.md) for quick Kubernetes cluster deployment, or see our [**🧑‍💻 Developer Getting Started Guide**](docs/developer/getting-started.md) for local development with dashboards.
5858

5959
### ⚡ Quick Start
6060

6161
Choose your preferred method:
6262

6363
```bash
64-
# 💻 Local Development
65-
make build && sudo ./bin/kepler
64+
# 🎯 Deploy to Kubernetes Cluster (Recommended for users)
65+
helm install kepler manifests/helm/kepler/ --namespace kepler --create-namespace
6666

67-
# ✨ Docker Compose (with Prometheus & Grafana)
68-
cd compose/dev && docker-compose up -d
67+
# 🧑‍💻 Local Development with Dashboards
68+
cd compose/dev && docker compose up -d
69+
# Access Grafana: http://localhost:23000 (admin/admin)
6970

70-
# 🐳 Kubernetes
71-
helm install kepler manifests/helm/kepler/ --namespace kepler --create-namespace
71+
# 🏗️ Local Kubernetes Development
72+
make cluster-up && make deploy
73+
74+
# 💻 Build from Source
75+
make build && sudo ./bin/kepler
7276
```
7377

78+
> **📖 For detailed installation instructions, troubleshooting, and advanced deployment options, see our [Installation Guide](docs/user/installation.md)**
79+
7480
## 📖 Documentation
7581

7682
### User Documentation
7783

78-
- **[Installation Guide](docs/user/installation.md)** - Detailed installation instructions for all deployment methods
79-
- **[Configuration Guide](docs/user/configuration.md)** - Configuration options and examples
84+
📋 **[User Guide Index](docs/user/README.md)** - Complete navigation hub for all user documentation
85+
86+
- **[Getting Started Guide](docs/user/getting-started.md)** - Quick Kubernetes cluster deployment
87+
- **[Installation Guide](docs/user/installation.md)** - Production deployment methods and enterprise integration
88+
- **[Configuration Guide](docs/user/configuration.md)** - Configuration options and customization examples
89+
- **[Troubleshooting Guide](docs/user/troubleshooting.md)** - Comprehensive problem-solving and debugging guide
8090
- **[Metrics Documentation](docs/user/metrics.md)** - Available metrics and their descriptions
8191

8292
### Developer Documentation
8393

94+
- **[Developer Getting Started Guide](docs/developer/getting-started.md)** - Local development setup with Docker Compose, dashboards, and building from source
8495
- **[Architecture Documentation](docs/developer/design/architecture/)** - Complete architectural documentation including design principles, system components, data flow, concurrency model, and deployment patterns
8596
- **[Power Attribution Guide](docs/developer/power-attribution-guide.md)** - How Kepler measures and attributes power consumption
8697
- **[Developer Documentation](docs/developer/)** - Contributing guidelines and development workflow

docs/index.md renamed to docs/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ Welcome to the Kepler documentation. Kepler is a Prometheus exporter that measur
88

99
Documentation for users deploying and operating Kepler:
1010

11+
- [Getting Started Guide](user/getting-started.md) - Quick Kubernetes cluster deployment
1112
- [Installation Guide](user/installation.md) - How to install and deploy Kepler
1213
- [Configuration Guide](user/configuration.md) - Configuring Kepler for your environment
1314
- [Metrics Reference](user/metrics.md) - Available Prometheus metrics exported by Kepler
@@ -22,7 +23,7 @@ Documentation for developers contributing to Kepler:
2223

2324
## Quick Start
2425

25-
For a quick start, see the [Installation Guide](user/installation.md) and the main project README.
26+
For a quick start, see the [Getting Started Guide](user/getting-started.md) and the main project README.
2627

2728
## Contributing
2829

docs/developer/index.md renamed to docs/developer/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ This section contains documentation for developers working on Kepler.
2424

2525
## Development Workflow
2626

27+
- [Developer Getting Started](getting-started.md) - Building from source and setting up development environments
2728
- [Pre-commit Setup](pre-commit.md) - Setting up pre-commit hooks for code quality
2829

2930
## Release Management

docs/developer/design/architecture/index.md renamed to docs/developer/design/architecture/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ For specific implementation work:
8484
## Related Documentation
8585

8686
- **[Power Attribution Guide](../../power-attribution-guide.md)**: Detailed explanation of power calculation methodology
87-
- **[Development Setup](../../index.md)**: Setting up the development environment
87+
- **[Development Setup](../../README.md)**: Setting up the development environment
8888
- **[User Configuration Guide](../../../user/configuration.md)**: End-user configuration options
8989

9090
---
File renamed without changes.

docs/user/README.md

Lines changed: 198 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,198 @@
1+
# Kepler User Documentation
2+
3+
Welcome to Kepler user documentation! This directory contains everything you need to deploy, configure, and monitor energy consumption with Kepler.
4+
5+
## 🗺️ Documentation Overview
6+
7+
| Guide | Purpose | Target Audience | Time Required |
8+
|-------|---------|-----------------|---------------|
9+
| **[Getting Started](getting-started.md)** | Quick Kubernetes deployment | New users, cluster operators | 5-10 minutes |
10+
| **[Installation](installation.md)** | Production deployment | DevOps, SRE, platform teams | 30-60 minutes |
11+
| **[Configuration](configuration.md)** | Customize Kepler settings | Advanced users, ops teams | As needed |
12+
| **[Metrics](metrics.md)** | Understand available metrics | Monitoring teams, developers | Reference |
13+
| **[Troubleshooting](troubleshooting.md)** | Diagnose and fix issues | All users | As needed |
14+
15+
## 🚀 Quick Start
16+
17+
**New to Kepler?** Start here:
18+
19+
1. **[Getting Started Guide](getting-started.md)** - Deploy Kepler to your Kubernetes cluster in under 10 minutes
20+
2. **[Access your metrics](getting-started.md#access-metrics)** - Verify energy data collection
21+
3. **Choose your next step** based on your needs:
22+
- Production deployment → [Installation Guide](installation.md)
23+
- Customize settings → [Configuration Guide](configuration.md)
24+
- Having issues? → [Troubleshooting Guide](troubleshooting.md)
25+
26+
**Want to try Kepler locally first?** See our [**🧑‍💻 Developer Getting Started Guide**](../developer/getting-started.md) for Docker Compose setup with pre-configured dashboards.
27+
28+
## 📋 Choose Your Path
29+
30+
### 🎯 I want to deploy Kepler to my cluster
31+
32+
**[Getting Started Guide](getting-started.md)**
33+
34+
- Quick Helm installation (5 minutes)
35+
- Deploy to existing Kubernetes cluster
36+
- Verify energy metrics collection
37+
- Production-ready deployment path
38+
39+
### 🏗️ I need to deploy Kepler in production
40+
41+
**[Installation Guide](installation.md)**
42+
43+
- Helm installation (recommended)
44+
- kubectl/kustomize deployment
45+
- Enterprise integration (RBAC, network policies)
46+
- Multi-cluster and high availability setup
47+
48+
### ⚙️ I need to customize Kepler configuration
49+
50+
**[Configuration Guide](configuration.md)**
51+
52+
- All configuration options explained
53+
- Command-line flags vs config file
54+
- Monitoring, logging, and export settings
55+
- Kubernetes integration options
56+
- Development features (fake CPU meter)
57+
58+
### 📊 I want to understand Kepler metrics
59+
60+
**[Metrics Reference](metrics.md)**
61+
62+
- Complete metrics catalog
63+
- Node, container, process, VM, and pod level metrics
64+
- Metric types and labels
65+
- Power vs energy measurements
66+
- Integration with Prometheus
67+
68+
### 🔍 I'm having problems with Kepler
69+
70+
**[Troubleshooting Guide](troubleshooting.md)**
71+
72+
- Quick health checks
73+
- Docker Compose issues
74+
- Kubernetes deployment problems
75+
- Configuration and metrics issues
76+
- Advanced debugging techniques
77+
78+
## 🛤️ Learning Progression
79+
80+
### Beginner Path
81+
82+
1. **[Getting Started](getting-started.md)** - Deploy to Kubernetes cluster
83+
2. **[Understanding Metrics](metrics.md)** - Learn what you're measuring
84+
3. **[Basic Configuration](configuration.md#configuration-methods)** - Simple customization
85+
86+
### Local Development Path
87+
88+
1. **[Developer Getting Started Guide](../developer/getting-started.md)** - Docker Compose with dashboards
89+
2. **[Getting Started](getting-started.md)** - Deploy to cluster when ready
90+
3. **[Configuration Guide](configuration.md)** - Customize for your needs
91+
92+
### Intermediate Path
93+
94+
1. **[Installation Guide](installation.md)** - Production deployment
95+
2. **[Advanced Configuration](configuration.md#configuration-options-in-detail)** - Fine-tune settings
96+
3. **[Troubleshooting](troubleshooting.md)** - Handle common issues
97+
98+
### Advanced Path
99+
100+
1. **[Enterprise Integration](installation.md#enterprise-integration)** - RBAC, security
101+
2. **[Performance Tuning](configuration.md#monitor-configuration)** - Optimize for scale
102+
3. **[Advanced Debugging](troubleshooting.md#advanced-debugging)** - Deep troubleshooting
103+
104+
## 🎯 Common Use Cases
105+
106+
### "I want to see energy monitoring in action"
107+
108+
**Solution:** [Developer Getting Started - Docker Compose](../developer/getting-started.md#docker-compose-development-setup)
109+
110+
- Complete monitoring stack with dashboards
111+
- Local development environment
112+
- 5-minute setup
113+
114+
### "I need Kepler in my Kubernetes cluster"
115+
116+
**Solution:** [Getting Started - Helm Installation](getting-started.md#quick-installation-with-helm)
117+
118+
- Quick cluster deployment (5 minutes)
119+
- Then [Installation Guide](installation.md#helm-installation-recommended) for production config
120+
- Integrates with existing monitoring
121+
122+
### "Power metrics are missing or incorrect"
123+
124+
**Solution:** [Troubleshooting - Metrics Issues](troubleshooting.md#metrics-and-monitoring-issues)
125+
126+
- Hardware support checks
127+
- Fake CPU meter for testing
128+
- Attribution troubleshooting
129+
130+
### "I want to customize how Kepler works"
131+
132+
**Solution:** [Configuration Guide](configuration.md)
133+
134+
- All configuration options
135+
- Environment-specific settings
136+
- Development vs production configs
137+
138+
### "Kepler isn't working as expected"
139+
140+
**Solution:** [Troubleshooting Guide](troubleshooting.md)
141+
142+
- Quick diagnostics
143+
- Platform-specific issues
144+
- Step-by-step problem solving
145+
146+
## 📚 Related Documentation
147+
148+
### Developer Resources
149+
150+
- **[Developer Documentation](../developer/)** - Contributing, development setup
151+
- **[Architecture Guide](../developer/design/architecture/)** - How Kepler works internally
152+
- **[API Documentation](../developer/)** - Technical implementation details
153+
154+
### Project Resources
155+
156+
- **[Main README](../../README.md)** - Project overview
157+
- **[Contributing Guide](../../CONTRIBUTING.md)** - How to contribute
158+
- **[Governance](../../GOVERNANCE.md)** - Project governance
159+
160+
## 🆘 Getting Help
161+
162+
### Self-Service Resources
163+
164+
1. **[Troubleshooting Guide](troubleshooting.md)** - Most common issues covered
165+
2. **[Configuration Reference](configuration.md)** - All settings explained
166+
3. **[Metrics Documentation](metrics.md)** - Understanding the data
167+
168+
### Community Support
169+
170+
- **🐛 GitHub Issues:** [Report bugs or request features](https://github.com/sustainable-computing-io/kepler/issues)
171+
- **💬 GitHub Discussions:** [Ask questions and share experiences](https://github.com/sustainable-computing-io/kepler/discussions)
172+
- **🗨️ CNCF Slack:** [Real-time community chat](https://cloud-native.slack.com/archives/C06HYDN4A01)
173+
174+
### Before Asking for Help
175+
176+
1. Check the [Troubleshooting Guide](troubleshooting.md) for your issue
177+
2. Search [existing issues](https://github.com/sustainable-computing-io/kepler/issues)
178+
3. Gather logs and configuration (see [troubleshooting checklist](troubleshooting.md#before-asking-for-help))
179+
180+
## 🔄 Documentation Updates
181+
182+
This documentation is actively maintained. If you find:
183+
184+
- **Outdated information** - Please [open an issue](https://github.com/sustainable-computing-io/kepler/issues/new)
185+
- **Missing content** - Contributions welcome via [pull request](https://github.com/sustainable-computing-io/kepler/pulls)
186+
- **Unclear instructions** - Let us know in [discussions](https://github.com/sustainable-computing-io/kepler/discussions)
187+
188+
## 📈 What's Next?
189+
190+
After mastering the user guides:
191+
192+
- **[Join the community](https://github.com/sustainable-computing-io/kepler/discussions)** - Share your experiences
193+
- **[Contribute improvements](../../CONTRIBUTING.md)** - Help make Kepler better
194+
- **[Try advanced features](../developer/)** - Explore cutting-edge capabilities
195+
196+
---
197+
198+
**Happy energy monitoring with Kepler!**

docs/user/configuration.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -299,6 +299,46 @@ dev:
299299
- `enabled`: Set to `true` to enable fake CPU meter
300300
- `zones`: Specific zones to enable, empty enables all
301301

302+
## 🔧 Fake CPU Meter Configuration
303+
304+
The fake CPU meter is a development/testing feature that generates synthetic power data
305+
when real hardware power measurements aren't available.
306+
307+
### When to Use Fake CPU Meter
308+
309+
- **Virtual Machines** - VMs typically don't expose hardware power sensors
310+
- **Non-Intel Systems** - AMD or ARM systems without RAPL support
311+
- **Cloud Instances** - Most cloud VMs don't have access to power sensors
312+
- **Development/Testing** - When you want to see Kepler working without hardware
313+
- **CI/CD Environments** - Automated testing of Kepler functionality
314+
315+
### Configuration Options
316+
317+
```yaml
318+
dev:
319+
fake-cpu-meter:
320+
enabled: true # Enable synthetic power measurements
321+
zones: [] # Zones to simulate (empty = all default zones)
322+
```
323+
324+
### What Fake CPU Meter Provides
325+
326+
The fake CPU meter generates realistic synthetic data:
327+
328+
- **Simulated CPU power usage** - Based on actual CPU utilization patterns
329+
- **Consistent metric structure** - All the same metrics as real hardware
330+
- **Realistic value ranges** - Power values similar to actual hardware (10-200W typical)
331+
- **Proper workload attribution** - Correctly attributes power to containers/processes
332+
- **Time-based variation** - Power values change realistically with load
333+
334+
### Limitations and Considerations
335+
336+
⚠️ **Important Limitations:**
337+
338+
- **Not real measurements** - Data is synthetic approximation, not actual power consumption
339+
- **Development only** - Never use for production monitoring, billing, or real optimization decisions
340+
- **No hardware insights** - Won't help identify actual hardware-specific power characteristics
341+
302342
## 📖 Further Reading
303343

304344
For more details see the [config file](../../hack/config.yaml)

0 commit comments

Comments
 (0)