🐛 Report Bugs
Found a bug? Open an Issue with a detailed description, steps to reproduce, and expected behavior.
GreenKube is an open-source, community-driven project. We welcome contributions from everyone!
🐛 Report Bugs
Found a bug? Open an Issue with a detailed description, steps to reproduce, and expected behavior.
💡 Suggest Features
Have an idea? Start a Discussion to propose and discuss new features with the community.
🔧 Submit Code
Ready to code? Fork the repo, create a branch, make your changes, and submit a Pull Request.
📖 Improve Docs
Documentation improvements are always welcome! Fix typos, add examples, or write new guides.
# Clone the repositorygit clone https://github.com/GreenKubeCloud/GreenKube.gitcd GreenKube
# Create and activate a virtual environmentpython -m venv .venvsource .venv/bin/activate # Linux/macOS# .venv\Scripts\activate # Windows
# Install with development and test dependenciespip install -e '.[test,dev]'
# Install pre-commit hookspre-commit install
# Run tests to verify everything workspytestcd frontendnpm installnpm run dev # Start dev server with hot reloadnpm run build # Build for productioncore/core/factory.pyasync def for network, database, and file operationsasyncio.gather for parallel operationsis_estimated: truelogging.getLogger(__name__)# Format coderuff format .
# Lint coderuff check .
# Auto-fix lint issuesruff check --fix .
# Run testspytest
# Run tests with coveragepytest --cov=greenkube --cov-report=html| Level | Use Case |
|---|---|
DEBUG | Detailed flow, cache hits, parsing details |
INFO | Major pipeline events, collection start/end |
WARNING | Recoverable issues, fallback to defaults |
ERROR | Failures requiring attention |
Follow Conventional Commits:
feat: add GPU power profilingfix: handle missing node labels gracefullydocs: add storage backend comparisontest: add unit tests for rightsizing recommendationsrefactor: extract zone mapping to utility moduleperf: optimize batch database insertsmain: git checkout -b feat/my-featurepytest)ruff format --check .)ruff check .)src/greenkube/collectors/my_collector.pycollect() methodcore/factory.pyDataProcessor to call the collectortests/collectors/storage/base_repository.pycore/factory.py backend mappingtests/storage/utils/region_mapping.pyenergy/instance_profiles.pycore/config.pyGreenKube is licensed under the Apache License 2.0. By contributing, you agree that your contributions will be licensed under the same license.