This release adds 3 notable features for engineering teams evaluating rollout.
Published 3mo
Dashboards & Visualization
✓ No known CVEs patched
✓ No known CVEs patched in this version
Topics
carbon-emissions
carbon-footprint
cloud
co2
cost-optimization
devops
+12 more
fastapi
finops
grafana
green-computing
green-software
greenops
helm
kubernetes
prometheus
python
sustainability
svelte
Summary
AI summaryScaleway Kapsule support added to NodeCollector and a comprehensive health‑checking system with UI components introduced.
Full changelog
What's Changed
Added
- Scaleway Kapsule support in
NodeCollector:_detect_cloud_providernow recognises Scaleway nodes viak8s.scaleway.com/*labels (primary signal set by the Scaleway Cloud Controller Manager on every Kapsule node) and falls back tonode.spec.provider_idstarting withscaleway://for clusters where those labels may be absent._extract_node_poolreturnsk8s.scaleway.com/nodepool-name(withnodepool-idas a fallback). Scaleway region mappings (fr-par,nl-ams,pl-waw→ Electricity Maps zones) and PUE profile (1.37) were already present in the data layer and are now fully wired up. - Collector health checks: New
HealthCheckService(src/greenkube/core/health.py) that performs periodic connectivity checks against all data sources — Prometheus, OpenCost, Electricity Maps, Boavizta, and Kubernetes. Each probe reports status (healthy,degraded,unreachable,unconfigured), latency, resolved URL, and whether the service was auto-discovered or manually configured. GET /api/v1/health/servicesendpoint: Returns aggregated health status for all data sources with per-service details. Supports?force=trueto bypass the 30-second cache and trigger fresh probes.GET /api/v1/health/services/{service_name}endpoint: Returns health status for a single named service.POST /api/v1/config/servicesendpoint: Allows updating service URLs (Prometheus, OpenCost, Boavizta) and the Electricity Maps token at runtime from the frontend. Changes are session-scoped and do not persist across pod restarts.- Health models: New
ServiceHealth,HealthCheckResponse, andServiceConfigUpdatePydantic models insrc/greenkube/models/health.py. - Frontend service health overview: The Settings page now displays a color-coded health card for each data source (green=healthy, yellow=degraded, red=unreachable, gray=unconfigured) with latency, URL, and auto-discovery status.
- Frontend service configuration: New "Configure Services" section on the Settings page allows users to override Prometheus URL, OpenCost URL, Electricity Maps token, and Boavizta URL directly from the browser — with immediate health re-check feedback.
- Frontend startup health popup: On first load, if any data source is unreachable or unconfigured, a modal popup alerts the user and offers inline fields to configure the missing service URLs/tokens.
- Sidebar health indicators: The sidebar now shows per-service health dots for all data sources, giving an at-a-glance overview of system health from any page.
HealthBadgecomponent: Reusable Svelte component (frontend/src/lib/components/HealthBadge.svelte) for color-coded service health indicators.HealthPopupcomponent: Modal component (frontend/src/lib/components/HealthPopup.svelte) for first-connection service configuration.- Health check caching: Results are cached for 30 seconds to avoid hammering external services on repeated page loads.
- CI/CD CLI flags: New
--no-colorflag (andNO_COLORenv var support) to disable Rich formatting for clean pipeline logs. New--fail-on-recommendationsflag ongreenkube recommendto exit with code 1 when recommendations are found. New--fail-on-co2-thresholdand--fail-on-cost-thresholdflags ongreenkube reportto enforce carbon/cost policy gates in CI/CD pipelines. - Frontend test suite: Comprehensive Vitest test suite (
frontend/tests/) with 133 tests across 8 files covering all JS utility modules (formatters, API client, Svelte stores, ECharts option builders) and Svelte components (StatCard, Card, DataState, HealthBadge) using@testing-library/svelte. Addednpm test,npm run test:watch, andnpm run test:coveragescripts. - Test coverage badges in README: Added Python coverage (79%), frontend coverage (93%), and total tests (771 passed) shields.io badges at the top of the README.
Docker: docker pull greenkube/greenkube:0.2.7
Helm:
helm repo add greenkube https://GreenKubeCloud.github.io/GreenKube
helm repo update
helm install greenkube greenkube/greenkube -n greenkube --create-namespace
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About GreenKube
All releases →Beta — feedback welcome: [email protected]