Cross-cloud cost allocation models for Kubernetes workloads https://kubecost.com

Ashleigh dea90c0d60 Added special case for unallocated/unassigned aliased fields when filtering. Added additional test case for filtering into an unallocated aliased field. (#2115) %!s(int64=2) %!d(string=hai) anos
.github cde609c0ab Fixed "OpenCost" %!s(int64=2) %!d(string=hai) anos
.idea 93fbec52fb add intellij and goland gofmt settings to be consistent with vscode %!s(int64=3) %!d(string=hai) anos
cmd c7706a4fb2 Renamed Kubecost Github reference to OpenCost %!s(int64=3) %!d(string=hai) anos
config dad87d9821 broken state %!s(int64=3) %!d(string=hai) anos
configs 6d02c3725e add default gpu cost %!s(int64=2) %!d(string=hai) anos
docs d4b47c5a75 change default allocation/compute aggregation to match allocation endpoint %!s(int64=2) %!d(string=hai) anos
kubernetes e0a310dcb0 (fix) added securityContext to the OpenCost backend container in the OpenCost deployment. Removed privileged escalation, dropped all capabilities, changed to read only access to file system and set the user to 1001 (same as Dockerfile) %!s(int64=3) %!d(string=hai) anos
pkg dea90c0d60 Added special case for unallocated/unassigned aliased fields when filtering. Added additional test case for filtering into an unallocated aliased field. (#2115) %!s(int64=2) %!d(string=hai) anos
spec 637cd1c7a2 Minor formatting cleanups to make embedding in http://opencost.io/docs/specification a cleaner diff %!s(int64=2) %!d(string=hai) anos
test ddab750f46 GTM-52 Fix parsing of GCP pricing and create new node diagnostic pricing API %!s(int64=2) %!d(string=hai) anos
tools 81eb9cfa29 feat(build): Add version and revision as labels %!s(int64=3) %!d(string=hai) anos
ui 9ae9cb21f9 Merge pull request #1947 from allianz-direct/enable-image-to-run-nonroot %!s(int64=2) %!d(string=hai) anos
.dockerignore 93dcd24356 Docker Ignore %!s(int64=5) %!d(string=hai) anos
.gitignore 519c78fa72 Run builds locally before containerizing and add multi-arch support (#1941) %!s(int64=3) %!d(string=hai) anos
ADOPTERS.MD d7a2cc1280 Updating to use the [definitions provided by the CNCF](https://github.com/cncf/toc/blob/main/FAQ.md#what-is-the-definition-of-an-adopter). %!s(int64=3) %!d(string=hai) anos
CODE_OF_CONDUCT.md 8469bd34fd Update code of conduct %!s(int64=3) %!d(string=hai) anos
CONTRIBUTING.md 519c78fa72 Run builds locally before containerizing and add multi-arch support (#1941) %!s(int64=3) %!d(string=hai) anos
Dockerfile 1421dbf485 Ensure permissions on copied files are world-readable. %!s(int64=3) %!d(string=hai) anos
Dockerfile.cross 519c78fa72 Run builds locally before containerizing and add multi-arch support (#1941) %!s(int64=3) %!d(string=hai) anos
GOVERNANCE.md bcaf863493 Clarifications and corrections %!s(int64=3) %!d(string=hai) anos
LICENSE e21bf66dc1 Add LICENSE %!s(int64=7) %!d(string=hai) anos
MAINTAINERS.md bcaf863493 Clarifications and corrections %!s(int64=3) %!d(string=hai) anos
Makefile 301d63cf17 feat(metrics): Migrate to using existing version.go %!s(int64=3) %!d(string=hai) anos
NOTICE 0cad952152 Initial commit based off of Apache recommendations. %!s(int64=3) %!d(string=hai) anos
PROMETHEUS.md 7a7ee4b0dd Update PROMETHEUS.md %!s(int64=3) %!d(string=hai) anos
README.md d86b4f043a documentation addresses corrected %!s(int64=2) %!d(string=hai) anos
ROADMAP.md 45dd477d34 Roadmap refresh for March 2023 %!s(int64=3) %!d(string=hai) anos
SECURITY.md d2b1076d31 Clarification that bug bounty not for previously disclosed publicly available CVEs %!s(int64=3) %!d(string=hai) anos
go.mod b82b761cfe Upgrade go-restful/v3 to v3.10 %!s(int64=3) %!d(string=hai) anos
go.sum 02dfe9216a Run go mod tidy %!s(int64=3) %!d(string=hai) anos
justfile 519c78fa72 Run builds locally before containerizing and add multi-arch support (#1941) %!s(int64=3) %!d(string=hai) anos
opencost-header.png c9a4dff062 opencost readme %!s(int64=4) %!d(string=hai) anos

README.md

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 cluster, node, namespace, controller kind, controller, service, or pod
  • Dynamic onDemand asset pricing enabled by integrations with AWS, Azure, and GCP billing APIs
  • Supports on-prem k8s clusters with custom CSV pricing
  • 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.

Usage

Contributing

We :heart: 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, email at opencost@kubecost.com, or attend the biweekly OpenCost Working Group community meeting from the Community Calendar.

FAQ

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