Skip to content

[kubecost] Add Kubecost helm chart with resource limits for dev cluster#7214

Open
mani-thumu wants to merge 19 commits intomainfrom
kubecost-helm-chart
Open

[kubecost] Add Kubecost helm chart with resource limits for dev cluster#7214
mani-thumu wants to merge 19 commits intomainfrom
kubecost-helm-chart

Conversation

@mani-thumu
Copy link
Copy Markdown
Collaborator

Description of the change

Added Kubecost helm chart to RADAR-K8s stack with resource limits based on actual usage analysis from dev-cluster-1.

Benefits

  • Adds Kubecost overlay chart for cost-analyzer v2.6.3
  • Implements resource limits to prevent Karpenter over-provisioning
  • Preserves AWS/Athena integration for cost reporting

Possible drawbacks

  • Currently configured for dev-cluster-1 only
  • Stage/prod will need separate values files

Applicable issues

  • Related to infrastructure cost optimization initiative
  • Addresses Karpenter over-provisioning due to missing resource limits

Additional information

Chart version: 1.0.0 | Kubecost version: 2.6.3 | Pattern: Helm overlay chart

Files Added:

  • charts/kubecost/Chart.yaml - Chart metadata with dependency on cost-analyzer v2.6.3
  • charts/kubecost/values-dev.yaml - Dev cluster configuration with resource limits
  • charts/kubecost/README.md - Documentation for installation and configuration

Future Work:

  • Add values-stage.yaml and values-prod.yaml when deploying to other environments
  • Monitor resource usage and adjust limits if needed

Checklist

  • Chart version bumped in Chart.yaml according to semver. (1.0.0 - initial version)
  • Variables are documented in the README.md
  • Title of the PR starts with chart name (e.g. [kubecost])

Copy link
Copy Markdown
Member

@baixiac baixiac left a comment

Choose a reason for hiding this comment

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

Is it possible to not include the account number, the region and resource names etc. in this public repo? My instinct is those values could be replaced with placeholders or empty defaults, and the true values could be finally configured in production.yam. Also in doing so, the values yaml would become env-agnostic, leaving users to decide how many environments they really need to maintain.

@mani-thumu
Copy link
Copy Markdown
Collaborator Author

@baixiac can you please tell me - is there any user defined values while installing kubecost initially in dev-env ?

@baixiac
Copy link
Copy Markdown
Member

baixiac commented Jan 22, 2026

By user-defined values, did you mean sth like this?

@github-actions
Copy link
Copy Markdown

github-actions bot commented Jan 22, 2026

Great PR! Please pay attention to the following items before merging:

Files matching charts/*/values.yaml:

  • Is the PR adding a new container? Please reviewer, add it to the models (internal process)
  • Is the PR adding a new parameter? Please, ensure it’s documented in the README.md

This is an automatically generated QA checklist based on modified files.

@mani-thumu mani-thumu requested a review from baixiac January 23, 2026 10:46
Copy link
Copy Markdown
Member

@baixiac baixiac left a comment

Choose a reason for hiding this comment

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

LGTM. Since this PR will lead to change to production.yaml, tag @yatharthranjan here for the second opinion.

@mani-thumu mani-thumu requested a review from baixiac January 26, 2026 10:58
ManiDeepakThumu added 3 commits January 26, 2026 11:16
Pin Trivy to version 0.57.1 instead of using @latest to ensure:
- Consistent security scan results between local and CI environments
- Reproducible builds across different environments
- Protection against unexpected failures from new Trivy releases
- Update devbox.lock to pin trivy@0.57.1
- Remove extra blank lines from kubecost README.md
@pvannierop
Copy link
Copy Markdown
Contributor

@mani-thumu @yatharthranjan I would like to start the discussion here about how to maintain the RB codebase in the fuuture. Although a nice tool, adding the cost analyzer here makes it difficult to make a division between supported or core RB services and extra tools such a this cost analyzer, velero, etc. The cost analyzer is added to the weekly Snyk scans implying that someone has to take the burden for weekly/periodic security evaluation. To be honest, I am not willing to take up this task. Can we start discussing a different arrangement of the helm-chart repo where there is a distinction between what is considered the core and what is considered extra?

@mani-thumu
Copy link
Copy Markdown
Collaborator Author

@pvannierop Thanks for raising this. You're right that Kubecost is an operational tool rather than a core RADAR-base service.
For context, We're using Kubecost for the ongoing cost optimization work - it provides the data we need to set appropriate resource limits and track our AWS spending reductions.
Regarding maintenance - @yatharthranjan and I take responsibility for Kubecost security updates and maintenance as it's part of our infrastructure work.
Would it help if we create a separate section in the snyk workflow for "ops tools" to make this distinction clear? Or would you prefer a completely separate repository?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants