Skip to content

Conversation

sthaha
Copy link
Collaborator

@sthaha sthaha commented Oct 9, 2025

Reorganize user-facing documentation into a better guide structure:

  • Move API reference to docs/user/reference/api.md
  • Create new user guide sections: installation, guides, reference
  • Replace scattered user-guides with organized documentation covering:
    • Installation (Kubernetes/OpenShift/monitoring stack setup)
    • Usage guides (PowerMonitor, configuration, Grafana, validation)
    • Reference (API docs, troubleshooting, uninstallation)
  • Update README.md with new documentation structure and quick starts
  • Update tooling paths (.pre-commit-config.yaml, Makefile)
  • Remove deprecated grafana-deployment.md and assets (moved to user/guides)

This restructure improves documentation discoverability and provides clear installation and usage paths for both Kubernetes and OpenShift users.

@github-actions github-actions bot added the docs Documentation changes label Oct 9, 2025
Copy link

codecov bot commented Oct 9, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 77.26%. Comparing base (88bc67b) to head (8f2ae48).
⚠️ Report is 3 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #622   +/-   ##
=======================================
  Coverage   77.26%   77.26%           
=======================================
  Files          11       11           
  Lines        1267     1267           
=======================================
  Hits          979      979           
  Misses        258      258           
  Partials       30       30           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@sthaha sthaha requested a review from vprashar2929 October 9, 2025 04:16
@sthaha sthaha marked this pull request as ready for review October 9, 2025 05:36
@sthaha sthaha force-pushed the doc-user-guides branch 2 times, most recently from 4a27a8b to 907e4a0 Compare October 9, 2025 06:11
@sthaha sthaha requested a review from Copilot October 9, 2025 06:13
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR restructures the user-facing documentation from scattered docs/user-guides/ files into an organized guide structure with clear installation, usage, and reference sections. The restructuring improves documentation discoverability and provides clear paths for both Kubernetes and OpenShift users.

Key changes:

  • Creates comprehensive installation guides for Kubernetes and OpenShift platforms
  • Reorganizes usage guides with detailed PowerMonitor configuration and monitoring setup
  • Consolidates API documentation and adds complete uninstallation procedures

Reviewed Changes

Copilot reviewed 19 out of 21 changed files in this pull request and generated no comments.

Show a summary per file
File Description
docs/user/installation/*.md New installation guides for Kubernetes, OpenShift, and monitoring stack setup
docs/user/guides/*.md Comprehensive usage guides covering PowerMonitor, configuration, Grafana, validation, upgrading, and troubleshooting
docs/user/reference/*.md Reference documentation including API specs and uninstallation procedures
docs/user/README.md New user documentation index with clear navigation and quick starts
hack/dashboard/openshift/README.md Updated reference path to developer documentation
docs/user/configuring-kepler.md Updated cross-references to new documentation structure
README.md Updated with new documentation structure and improved quick start guides
Makefile, .pre-commit-config.yaml Updated tooling paths for API documentation generation

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@sthaha sthaha force-pushed the doc-user-guides branch 2 times, most recently from 6f76401 to 3b95408 Compare October 9, 2025 07:00
- Override default Kepler settings
- Provide environment-specific configuration

## Configuration Examples
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't this to much info?


This script automatically:

1. Creates a Grafana instance in the `kepler-operator` namespace
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not really this is wrong

3. Imports Kepler dashboards
4. Sets up necessary RBAC permissions

### Access Grafana on OpenShift
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need updation

┌─────────────────┐
│ ServiceMonitor │
│ (kepler) │
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

power-monitor ns

@sthaha sthaha force-pushed the doc-user-guides branch 9 times, most recently from 8fc74c0 to 0c56383 Compare October 10, 2025 06:07
@github-actions github-actions bot added the chore Routine tasks or maintenance label Oct 10, 2025
@sthaha sthaha force-pushed the doc-user-guides branch 2 times, most recently from 7450331 to 16b1e3f Compare October 10, 2025 06:19
**Check for common error patterns**:

```bash
kubectl logs -n kepler-operator deployment/kepler-operator-controller-manager | grep -i error
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
kubectl logs -n kepler-operator deployment/kepler-operator-controller-manager | grep -i error
kubectl logs -n kepler-operator deployment/kepler-operator-controller | grep -i error


```bash
kubectl get powermonitor -A
kubectl describe powermonitor <name> -n <namespace>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we require specifying namespace?

kubectl edit powermonitor <name> -n <namespace>
```

1. **Namespace doesn't exist**:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't this handled by operator itself?

Error: failed to read RAPL: no such file or directory
```

**Solution**: Enable fake CPU meter via ConfigMap:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This need updation

Error: failed to access /sys/class/powercap: permission denied
```
**Solution**: Verify Kepler is running with privileged security context (automatically configured by operator).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't operator responsible for this as well?


```bash
# Operator logs
kubectl logs -n kepler-operator deployment/kepler-operator-controller-manager > operator-logs.txt
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
kubectl logs -n kepler-operator deployment/kepler-operator-controller-manager > operator-logs.txt
kubectl logs -n kepler-operator deployment/kepler-operator-controller > operator-logs.txt

Expected output:

```text
kepler-operator-controller-manager-xxxxx-yyyyy 2/2 Running 0 1m
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
kepler-operator-controller-manager-xxxxx-yyyyy 2/2 Running 0 1m
kepler-operator-controller-xxxxx-yyyyy 2/2 Running 0 1m

Comment on lines 65 to 66
kubectl delete crd keplers.kepler.system.sustainable.computing.io
kubectl delete crd keplersinternals.kepler.system.sustainable.computing.io
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No Kepler and Kepler Internals


```bash
# For Kubernetes (Helm installation)
kubectl logs -n kepler-operator deployment/kepler-operator-controller-manager
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
kubectl logs -n kepler-operator deployment/kepler-operator-controller-manager
kubectl logs -n kepler-operator deployment/kepler-operator-controller

To run the operator locally outside the cluster:
Get Kepler up and running in minutes. For comprehensive installation instructions, prerequisites, configuration options, and troubleshooting, see the **[Kubernetes Installation Guide](docs/user/installation/kubernetes.md)**.

```sh
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't this repetition of user guide for installation?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have refactored the installation docs.

  • README.md quick and dirty
  • installation/k8s.md : detailed
  • monitoring-k8s: setting up prometheus & grafana

make cluster-up

# Run operator locally
make run
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
make run
make run ENABLE_WEBHOOKS=false

?

@sthaha sthaha force-pushed the doc-user-guides branch 4 times, most recently from 8ebdba0 to 8b3aa2e Compare October 13, 2025 09:28
Reorganize user-facing documentation into a better guide structure:

- Move API reference to docs/user/reference/api.md
- Create new user guide sections: installation, guides, reference
- Replace scattered user-guides with organized documentation covering:
  - Installation (Kubernetes/OpenShift/monitoring stack setup)
  - Usage guides (PowerMonitor, configuration, Grafana, validation)
  - Reference (API docs, troubleshooting, uninstallation)
- Update README.md with new documentation structure and quick starts
- Update tooling paths (.pre-commit-config.yaml, Makefile)
- Remove deprecated grafana-deployment.md and assets (moved to user/guides)

This restructure improves documentation discoverability and provides
clear installation and usage paths for both Kubernetes and OpenShift users.

Signed-off-by: Sunil Thaha <[email protected]>
@vprashar2929 vprashar2929 merged commit ebe0510 into sustainable-computing-io:main Oct 13, 2025
25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Routine tasks or maintenance docs Documentation changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants