Skip to content
forked from opencost/opencost

Cross-cloud cost allocation models for Kubernetes workloads

License

Notifications You must be signed in to change notification settings

OnScale/opencost

 
 

Repository files navigation

OnScale OpenCost Fork

This branch provides the changes to the onscale branch which are OnScale specific.

Statement of Work

The maintainer of this repo, ryanpeach firmly believes that cost monitoring should be free. Cost monitoring should not cost money, because to pay to save money or to calculate spend is a conflict of interests, and just not very useful.

No GUI code will be supported, instead focusing on grafana and other prometheus stack tools to provide the UI and monitoring framework.

Contribution

We need to ensure the develop branch can sync upstream and downstream with opencost/opencost

Rules:

  • The develop branch should stay syncronized with opencost/opencost:develop.

  • feature branches should branch from develop. If you don't do this you wont be able to submit the feature upstream. Never let the develop branch get poluted with unaccepted features or OnScale specific deployment code.

  • feature branches should PR to opencost/opencost:develop AND to onscale/opencost:onscale

  • If the PR to opencost/opencost:develop is accepted, you should sync develop with opencost/opencost:develop and then merge onscale/opencost:develop into onscale/opencost:onscale

In this diagram opencost/opencost:develop is called main due to limitations of mermaid.

gitGraph
  commit id: "Forked commit"
  branch onscale
  checkout main
  commit id: "New opencost version"
  checkout onscale
  merge main
  commit id: "Begin Development"
  branch feature
  commit id: "New feature"
  checkout onscale
  merge feature
  checkout main
  merge feature
  commit id: "PR Accepted"
  checkout onscale
  merge main
Loading

OpenCost — your favorite open source cost monitoring tool for Kubernetes

OpenCost models give teams visibility into current and historical Kubernetes spend and resource allocation. These models provide cost transparency in Kubernetes environments that support multiple applications, teams, departments, etc.

OpenCost was originally developed and open sourced by Kubecost. This project combines a specification as well as a Golang implementation of these detailed requirements.

OpenCost allocation UI

To see the full functionality of OpenCost you can view OpenCost features. Here is a summary of features enabled:

  • Real-time cost allocation by Kubernetes service, deployment, namespace, label, statefulset, daemonset, pod, and container
  • Dynamic asset pricing enabled by integrations with AWS, Azure, and GCP billing APIs
  • Supports on-prem k8s clusters with custom pricing sheets
  • Allocation for in-cluster resources like CPU, GPU, memory, and persistent volumes.
  • Easily export pricing data to Prometheus with /metrics endpoint (learn more)
  • Free and open source distribution (Apache2 license)

Getting Started

You can deploy OpenCost on any Kubernetes 1.8+ cluster in a matter of minutes, if not seconds!

Visit the full documentation for recommended install options. Compared to building from source, installing from Helm is faster and includes all necessary dependencies.

Usage

Contributing

We ❤️ pull requests! See CONTRIBUTING.md for information on building the project from source and contributing changes.

Community

If you need any support or have any questions on contributing to the project, you can reach us on CNCF Slack in the #opencost channel or via email at [email protected].

FAQ

You can view OpenCost documentation for a list of commonly asked questions.

About

Cross-cloud cost allocation models for Kubernetes workloads

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 97.2%
  • JavaScript 2.7%
  • Other 0.1%