chore(deps): Bump actions/setup-go from 5 to 6#1
Closed
dependabot[bot] wants to merge 7 commits into
Closed
Conversation
Initial project context file covering CRDs (CostProfile, TokenBudget, UsageReport), data sources, integration points, and build phases. Signed-off-by: Christopher Maher <chris@mahercode.io>
…and cost engine Kubebuilder 4.13.0 scaffold with two CRDs: - CostProfile: declares GPU hardware economics (purchase price, amortization, electricity rate, PUE factor) for a node or pool. Controller scrapes DCGM for real-time GPU power draw and computes hourly infrastructure cost. - UsageReport: auto-populated cost reports with per-model and per-namespace breakdowns, cloud provider comparison, and GPU efficiency metrics. Cost engine scrapes DCGM exporter and llama.cpp /metrics endpoints directly, computes true cost-per-token from hardware amortization + electricity + real power draw, and exposes 12 Prometheus metrics including cloud equivalent comparisons against verified pricing for OpenAI, Anthropic, and Google models. Includes comprehensive tests (100% calculator, 98.3% scraper coverage), sample CRs for RTX 5060 Ti, load generator script, and CI workflows. Signed-off-by: Christopher Maher <chris@mahercode.io>
Three commands for interactive cost analysis: - `infercost status`: live infrastructure costs, active inference models with token counts and throughput, and quick cloud comparison summary with monthly/yearly projections. - `infercost compare`: detailed cloud vs on-prem breakdown showing per-provider input/output rates, savings percentages, and monthly projections (--monthly flag). Includes pricing source URLs and disclaimer about list vs negotiated rates. - `infercost version`: build info with ldflags support. Cloud pricing updated to verified March 2026 list prices for 9 models across OpenAI (GPT-5.4 family), Anthropic (Claude 4.5/4.6), and Google (Gemini 2.5) with source URLs documented. Includes CLI test suite covering formatters, command structure, flags, and version output. Signed-off-by: Christopher Maher <chris@mahercode.io>
Grafana dashboard (config/grafana/infercost-dashboard.json) with 13 panels across 4 sections: overview stats, cloud comparison bar charts and savings gauges, GPU power/cost time series, and token counters. Dashboard uses template variable for datasource portability. Fix cloud comparison bug where per-pod metric updates overwrote each other — nomic-embed (0 tokens) would reset values set by openclaw-llm. Cloud comparison now aggregates tokens across all pods and computes once per reconcile cycle. Fix all golangci-lint errors: unchecked error returns on tabwriter flush/fprintf, unused serviceLabel constant, unparam in test helper. Signed-off-by: Christopher Maher <chris@mahercode.io>
REST API embedded in the controller binary, enabled via --api-bind-address flag. Read-only endpoints serve real-time cost data from the same state the controller computes on each reconcile cycle. Endpoints: - GET /api/v1/costs/current — infrastructure cost, GPU power, projections - GET /api/v1/models — per-model token counts and throughput - GET /api/v1/compare — cloud comparison with pricing sources and disclaimer - GET /api/v1/status — combined view of all data - GET /healthz — health check Architecture: thread-safe Store populated by the controller, read by the API server. No external dependencies — the API serves from in-memory state. Includes test suite with 84.1% coverage testing store operations, all HTTP endpoints, response formats, empty state handling, and JSON structure. Signed-off-by: Christopher Maher <chris@mahercode.io>
Add the full set of community and governance files for open-source readiness: - LICENSE (Apache 2.0) - README.md (complete rewrite: features, quick start, architecture, CLI/API examples, roadmap, standards alignment) - CONTRIBUTING.md (dev setup, coding standards, PR process, DCO) - CODE_OF_CONDUCT.md (Contributor Covenant v2.1) - SECURITY.md (disclosure policy, response SLAs, best practices) - GitHub issue templates (bug report, feature request) - Pull request template (what/why/how + checklist) - CODEOWNERS, FUNDING.yml, dependabot.yml - DCO check workflow for PR sign-off enforcement Signed-off-by: Christopher Maher <chris@mahercode.io>
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5 to 6. - [Release notes](https://github.com/actions/setup-go/releases) - [Commits](actions/setup-go@v5...v6) --- updated-dependencies: - dependency-name: actions/setup-go dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Contributor
Author
LabelsThe following labels could not be found: Please fix the above issues or remove invalid values from |
Contributor
Author
|
OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting If you change your mind, just re-open this PR and I'll resolve any conflicts on it. |
Defilan
added a commit
that referenced
this pull request
Apr 20, 2026
The cost engine has always fallen back to TDP-based power estimation when DCGM is missing or unreachable, but it did so silently — a user installing InferCost without the DCGM exporter (or with a typo in the node selector) saw a flat dashboard and had no way to tell whether the number was live, estimated, or wrong. "Why is my dashboard flat?" is the #1 first-install support question InferCost should never need to answer. Add a DCGMReachable condition on CostProfile.status.conditions that always reports one of four states so the path is legible to both humans and automated checks: True/DCGMHealthy - real-time readings matched the node selector Unknown/DCGMNoReadings - scrape succeeded but no GPUs matched the selector (likely a nodeSelector typo); falls back to TDP False/DCGMScrapeError - endpoint set but unreachable; falls back to TDP False/DCGMNotConfigured - no endpoint configured; falls back to TDP, message links to /docs/dcgm Each message includes the numeric fallback value so operators can confirm at a glance whether the downstream cost is based on live or estimated power. The existing fallbackPowerDraw helper is preserved; the DCGM path is extracted into a new readDCGMPower that returns (power, condition) so the Reconcile entry stays short. Unit tests pin each of the four return paths, including the no-TDP-and-no-DCGM worst case (power=0, condition still explicit). Signed-off-by: Christopher Maher <chris@mahercode.io>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps actions/setup-go from 5 to 6.
Release notes
Sourced from actions/setup-go's releases.
... (truncated)
Commits
4b73464Fix golang download url to go.dev (#469)a5f9b05Update default Go module caching to use go.mod (#705)7a3fe6cBump qs from 6.14.0 to 6.14.1 (#703)b9adafdBump actions/checkout from 5 to 6 (#686)d73f6bcREADME.md: correct to actions/checkout@v6 (#683)ae252eeBump@actions/cacheto v5 (#695)bf7446aBump js-yaml from 3.14.1 to 3.14.2 (#682)02aadfeFix Node.js version in action.yml (#691)4aaadf4Example for restore-only cache in documentation (#696)4dc6199Bump semver and@types/semver(#652)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)