This branch provides the changes to the onscale
branch which are OnScale specific.
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.
We need to ensure the develop
branch can sync upstream and downstream with opencost/opencost
Rules:
-
The
develop
branch should stay syncronized withopencost/opencost:develop
. -
feature
branches should branch fromdevelop
. If you don't do this you wont be able to submit the feature upstream. Never let thedevelop
branch get poluted with unaccepted features or OnScale specific deployment code. -
feature
branches should PR toopencost/opencost:develop
AND toonscale/opencost:onscale
-
If the PR to
opencost/opencost:develop
is accepted, you should syncdevelop
withopencost/opencost:develop
and then mergeonscale/opencost:develop
intoonscale/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
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.
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)
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.
We ❤️ pull requests! See CONTRIBUTING.md
for information on building the project from source
and contributing changes.
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].
You can view OpenCost documentation for a list of commonly asked questions.