opencost

Cost monitoring for Kubernetes workloads and cloud costs

APACHE-2.0 License

Stars
4.8K
Committers
130

Bot releases are hidden (Show)

opencost - v1.110.0 Latest Release

Published by mattray 6 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/opencost/opencost/compare/v1.109.0...v1.110

opencost - v1.109.0

Published by mattray 8 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/opencost/opencost/compare/v1.108.0...v1.109.0

opencost - v1.108.0

Published by mattray 10 months ago

What's Changed since v1.107.1

This release introduces the new Cloud Costs functionality.

New Contributors

Full Changelog: https://github.com/opencost/opencost/compare/v1.107.1...v1.108.0

opencost - v1.107.1

Published by mattray 11 months ago

This is a security-related release with no additional changes beyond updating dependencies.

Dependency google.golang.org/grpc has been updated in response to CVE-2023-44487

opencost - V1.107.0

Published by mattray 12 months ago

The new Cloud Costs feature is not in the current stable release yet. Please use the OpenCost image gcr.io/kubecost1/opencost:cloudcost and the OpenCost UI image gcr.io/kubecost1/opencost-ui:cloudcost to access this beta feature.

This is primarily a stability release for OpenCost as we prepare 1.108 with the new Cloud Costs feature.

  • Updates AWS Node Types for us-east-1 and us-west-2
  • #1801 disabled healthz endpoint logging
  • #1931 AWS EBS: add default EBS volume types for provisioners
  • #1991 Add custom S3 CSV billing export endpoint
  • #2069 stop NaNs from propogating through opencost and kubecost
  • #2074 Update Cloud Connections with GetStatus function
  • #2075 add ip field to load balancers
  • #2077 Add filter 21 to Cloud Cost
  • #2083 Fix parsing of GCP pricing and create new node diagnostic pricing API
  • #2093 Label entry to lookup node was missing architecture type
  • #2103 pkg/cloud/alibaba: fix dropped errors
  • #2107 sanitize label names before metric emission to prevent label name collisions
  • #2112 improve auth error handling and response for AWS orphaned resources
  • #2116 GCP Provider Cluster Filter Fix
  • #2118 fix Inf and negative values in pod-to-PVC attribution
  • #2122 Remove default values for GCP cloud billing integration
  • #2124 pkg/prom: fix dropped logging errors
  • #2126 Provider csi vols ii
  • #2133 Protect config pricing against NaN and other invalid numerical values
  • #2134 filter to correct KSM implementation
  • #2139 Provide ability to toggle load balancer PARC behavior
  • #2141 feat: athena configuration support for Catalog
  • #2151 add a way to compare boundary errors
  • #2154 Improve AWS integrations
  • #2155 pkg/storage: defer Close() after error handling
  • #2161 set max results param for athena pagination
  • #2165 csv export: override default max days (default: 90d)
  • #2166 Sync Dockerfile and Dockerfile.cross and run as non-root user
  • #2170 Fixes AWS catalog load
  • #2173 Use new filters for sharing
  • #2174 update prom queries to use more accurate math
  • #2177 update results to valid value
  • #2177 fix: use spot label nodes from custom provider config
  • #2180 Add "mimir" to info log message
  • #2182 Fix sharing coefficients when unmounted PVs are folded into namespaces
  • #2183 Functions in Opencost to achieve distributing shared VMSS disk and network cost across VMs in VMSS
  • #2189 scaleway :: fix gpu value
  • #2195 remove extra parenthesis causing query to fail
  • #2209 Emit empty string instead of for storageclass label on kube_persistentvolumeclaim_info to match KSM changes
  • #2211 Adds node overhead calculations to OpenCost
  • #2220 Add utility to strip whitespace
  • #2224 orphaned resources repair
  • #2225 Update ParseWindow Functionality for "7d", "1w", etc.
  • #2231 add a2ultragpu gcp instance type
  • #2246 Fix overhead addition in (*Node).add()
  • #2250 fix panic when running KCM/OC locally when downloading pricing data
  • #2251 Nil out overhead when adding nil to non-nil
  • #2256 check for nil struct before sanitizing
  • #2258 Fix cloud status endpoint for aggregator
  • #2261 fix bug where err is not returned from query
  • #2263 replace missing func
opencost - V1.106.4

Published by mattray 12 months ago

Bug Fixes

  • Fix an issue showing empty message while loading allocations

Security Updates

  • CVE-2023-44487
  • CVE-2023-39323
  • CVE-2023-3978
  • CVE-2023-39325
  • CVE-2023-4863
opencost - V1.106.3

Published by mattray about 1 year ago

Bug Fixes

  • #2190 Fix network costs distribution issues in Azure
  • #2197 Surface volume handle as provider id for PV
  • #2200 Fix sharing coefficients when unmounted PV are folded into namespaces
  • #2199 Improve AWS cloud cost integrations
opencost - V1.106.2

Published by mattray about 1 year ago

Security Patch

This release patches two CVEs impacting the image which runs the OpenCost UI. The code of the OpenCost application itself is unchanged from V1.106.1.

CVEs Resolved

  • CVE-2023-38039
  • CVE-2023-4863
opencost - V1.106.1

Published by mattray about 1 year ago

The v1.106 release was intended as a ‘production’ release focused on targeting bug fixes and stability.

v1.106.0 was not promoted due to a regression in the UI container. That issue has been corrected.

  • 2175 Sync Dockerfile and Dockerfile.cross and run as non-root user for 1.106
  • 2138 Protect config pricing against NaN and other invalid numerical values
  • 2137 Improve auth error handling and response for AWS orphaned resources
  • 2136 Filter to correct KSM implementation
  • 2119 Fix Inf and negative values in pod-to-PVC attribution
  • 2107 Sanitizes label names before metric emission to prevent label name collisions
  • 2093 Adds the creation of lookup key with architecture
  • 2083 Fixes parsing of GCP pricing and create new node diagnostic pricing API
  • 2076 Fixes subquery fallback to lookup container_cpu_usage_seconds_total metric on container instead of container_name
  • 2075 Adds IP field to load balancers
  • 2074 Updates Cloud Connections with GetStatus function
  • 2070 Adds the Close Stale Issues GitHub Action
  • 2069 Stops NaNs from propagating through OpenCost and Kubecost
  • 2059 Adds PVs for ProportionalAssetResourceCosts
  • 2058 Removes ETL Audit types
  • 2056 Fixes PV usage sanity limit
  • 2054 Downgrades CSV Export error message
  • 2053 Corrects hyperlinks in OpenCost docs
  • 2051 Adds Sanity limits for persistent volumes
  • 2050 Changes default allocation/compute aggregation to match allocation end
  • 2048 Uses the existing variable in error message
  • 2047 Fixes the unmounted allocation caused by the offset duration leading to an unmounted PVC coefficient entry
  • 2044 Corrects hyperlinks in install docs
  • 2039 Reformats OpenCost docs minorly
  • 1928 Adds Mimir support with org ID header
opencost - V1.105.2

Published by mattray about 1 year ago

Version 1.105.2 fixes an accuracy issue where OpenCost continued reporting data on nodes even after they were terminated, which resulted in inflated cost metrics. All users running OpenCost 1.105.0 and 1.105.1 are advised to upgrade as soon as possible. This issue impacts both the primary instance and agents. The issue does not affect 1.104 or other releases.

opencost - v1.105.0

Published by mattray over 1 year ago

OpenCost

1.105 was intended primarily as a bug fix release.

  • 2035 Add nil checks for allocation field map
  • 2034 Fix the mismatch in sharing namespaces due to unmounted PV cost in each allocation.
  • 2031 Fix type field for proportional asset resource.
  • 2025 Fix edge cases with AWS CN pricing file inconsistencies.
  • 2023 Put the network entry from Azure CSV into the cloud cost
  • 2014 Add default GPU cost
  • 2011 Update bingen version tags
  • 2010 Fix looking up asset field type
  • 2006 Ported S3Select Integration to OpenCost)
  • 2004 Add mechanism for aggregating metadata across accumulations
  • 2003 Fix panic in Coverage IsEmpty/Clone functions.
  • 2001 Fix asset query duration
  • 1995 Switch Assets to v2.1 filters
  • 1994 Proportional load bal costs (#2)
  • 1993 Fix nil panics in Azure disk pricing
  • 1992 Fix bug in Allocation metrics
  • 1982 Switch Allocation filters to v2.1
  • 1981 Fix Prometheus diagnostics errors
  • 1976 Sanitize old nil sample AWS access key value
  • 1973 Added "Container" to Breakdown options for OpenCost UI
  • 1972 Close S3 file
  • 1971 Implement v2.1 filtering logic for Allocation
  • 1970 Add filter v2.1 scaffolding
  • 1969 Fix an issue when inspecting shared costs with sharedNamespaces and/or sharedLabels set, where the shared costs would not be grouped properly.
  • 1966 Fix error for AWS IRSA and Spot Data Feed Users
  • 1947 Enable UI image to run as non-root
  • 1914 Add securityContext to the OpenCost backend container
  • 1896 Introduced new fields, namespaceLabels and namespaceAnnotations, that store namespace labels and annotations, respectively
opencost - V1.104.0

Published by mattray over 1 year ago

OpenCost

  • 1430 Added current cluster ID filter
  • 1832 Added initial ADOPTERS.MD of organizations using OpenCost
  • 1869 Refactored Azure provider into pkg/cloud/azure
  • 1878 Fixed panic in CSV exporter
  • 1897 Fixed panic when metrics are disabled using the disabledMetrics configuration
  • 1902 Refactored AWS and GCP providers into their own packages
  • 1911 Added governance and maintainers documentation to OpenCost
  • 1919 Added arch label to cost metrics
  • 1940 Added support for multiple currencies in the OpenCost UI
  • 1966 Fixed error for AWS IRSA + Spot Data Feed Users
  • Open Source Cloud Costs: Providing Kubecost’s non-k8s cost monitoring to the Open Source community via OpenCost
opencost - V1.102.0

Published by teevans over 1 year ago

OpenCost

opencost - v1.101.2

Published by mattray over 1 year ago

Opencost

  • Added a /pricingSourceSummary API endpoint 1714
  • Fixed Panic on Startup with no config file set 1710
  • Fixed missing CPU price 1742
  • Allow provider regions to be manually configured 1728
  • Removing account from key matching between kubecost and cloudcost 1721
  • Provides helper functions to access warnings on AssetSets from the parent AssetSetRange 1717
  • Fixed ListDirectories for Azure Storage 1707
  • Specify units of some CustomPricing fields 1698
  • Update CircleCI to work with Docker buildx build 1697
  • Fix incorrect value in node vGPU count assignment for vGPUs 1696
  • Interfaces needed in Kubecost Asset and CloudCost item for mapping monitored to billed resources 1695
  • Ensure /allocation response start and end are always in UTC format 1694
opencost - v1.99.0

Published by mattray almost 2 years ago

v1.99.0 Release Notes

Major

  • Support for Alibaba's public pricing

Minor

  • 1477 Add unmounted PVCs to unmounted allocation by namespace
  • 1480 Support for on-prem GPU pricing
  • Reduced log level on spammy disk logs.

Bug Fixes

  • 1339 Fixed Azure nodes naming mismatch
  • 1541 Fixed ListDirectories for GCS not working properly
  • 1539 Fixed a Panic during system disk retrieval for a node when Alibaba service key is not given
  • 1537 Fixed UI mismatch between old UI and new UI resulting from the impact of calculating RAM and CPU efficiency of allocations not active for entire duration of the requested window.
  • 1531 Updated- golang AWS SDK to v1.44.153 from v1.28.9 as detailed here
  • 1530 Reduce log level of metric parsing warnings in ClusterDisks
  • 1505 Allow users to define what pricing endpoint to read AWS pricing data from
  • 1492 Replace ioutil which has been deprecated since go1.16 and some OS functions are more efficient
  • 1480 Adds Custom Pricing for GPU support
  • 1477 Added unmounted pvcs to unmounted alloc by namespace
  • 1476 Fixed unmounted PVCs being marked as mounted
opencost - v1.98.0

Published by kaelanspatel almost 2 years ago

v1.98.0 Release Notes

Deprecations

Major

  • Launched Kubecost Cloud beta
  • Launched free unlimited clusters
  • Launch new UI Beta
  • *Doc Container Request Right Sizing recommendation API V2 Beta
  • Persistent Volume Right Sizing insights beta
  • ETL Query Scaling APIs to improve allocation filtering performance at scale!
  • 1700 Launch of federated ETL pipeline Beta Federated ETL (docs forthcoming)
  • Reduced memory consumption in cascading allocation ETL

Note: * Percentile-based request right-sizing recommendations are available in the Beta UI, but only if the "ContainerStats" data pipeline is enabled. This pipeline may have trouble at high data scales while it is in the early stages of development -- please carefully review the relevant documentation: https://github.com/kubecost/docs/blob/main/api-request-right-sizing-v2.md

Minor

  • Improved initial UI responsiveness by reducing overall UI bundle size by 2%
  • 366 Add support for Workload Identities for GCP Big Query Config
  • Add backend caching and single flighting to the ETL assets endpoint
  • Re introduced the network.html page
  • Created an EventLog representation of the ETL events to avoid storing the Data field longer than expected to reduce memory usage
  • Invoke shallow clones in aggregate store to save memory
  • Added an optional kubecostModel.softMemoryLimit field which sets the GOMEMLIMIT flag for the cost-model backend

Bugs

  • 1605 Improved OIDC user authentication.
  • 1694 Fixed Read-only users being able to access the diagnostics page and perform operations
  • 1730 Fixed bug in abandoned workloads
  • 15 Fixed an issue where the context switcher would strip https and always use http for new contexts
  • 1760 Stops logging invalid sharing coefficient when coeff equals zero
  • 1074 Fixed bug preventing adding multiple filters of the same type on Allocatio
  • 1675 Fixed duplicate and unexpected node chips in k8s Assets view
  • Updated golang.org/x/net and /x/text to fix CVEs
  • Removed bad property from button that caused etl-status page to crash
  • Fixed a bug with the S3 select integration where multiple csv per month caused line items in the separate CSV file to not be ingested
  • Fixed bugs with summary allocation and CSV formats where accumulation was mutating cache
  • Fixed GetETLCloudRunWindowDays function checking the wrong ENV
  • Fixed broken Azure Service Tagging
  • Fix error in Bug Report's Thanos queries
  • Fixed bug causing shared labels/namespaces/overhead persist when opening a report from reports
  • Fix panic in accumulateAttributes
  • Added support for unpartitioned GCP account labels
  • Fixed duplicate names causing issues with graphs
  • Update hard coded references to product tiers to use useProductTier
  • Fixed bug causing custom labels filters to not work as expected on details page

Community Contributions

  • 1741 Updates the loopback address in the in-zone classification to include the entire loopback range as registered in IANA

OpenCost

  • 1332 Fixed v1.95.0 broken URLs
  • 1461 Disabled window filters which caused circular deps
  • 1460 Added ability to filter by annotations for owner, department, team, product, and environment
  • 1457 Added ability to filter by annotations for owner, department, team, product, and environment
  • 1454 Fixed a bug which caused Azure provider to ignore Azure Storage configurations from secret
  • 1452 Added support for K8s v1.25+ by removing dependency on autoscaling/v2beta1 API
  • 1450 Fixed an issue where updating configuration (e.g. currency) on Azure would deadlock
  • 1443 Misc. changes to OpenCost concepts in order to support Federated ETL
  • 1438 Made usage of Disk resilient to absence of metrics
  • 1432 Added methods for Cloud Cost types, removed name and times from cloud cost types
  • 1427 Support MSI authentication for Azure by always returning config values if secret not found
  • 1425 Added test to ensure AllocationSet.accumulate is equivalent to AllocationSetRange.Accumulate
  • 1421 Added GP3 volumes support in AWS
  • 1418 Updated the go version to 1.19 and removed the pkg/util/atomic primitives in favor of stdlib atomic primitives introduced in go 1.19
  • 1417 Allows users of the UI to override the path to use when connecting to the cost model
  • 1415 Adds a Window getter to AssetSet and AllocationSet for compatibility with generic constraints
  • 1404 Adds a NewAccumulation() method on the SetRange ETL data structures which provides an Accumulate method which does not mutate.
  • 1403 Pulls in PV usage metrics into ETL
  • 1401 parsewindow functions returns window only in UTC when window requests are time stamped and developer is testing functions locally with KCM
  • 1400 Improves usage of v1 filter function
  • 1397 Introduces a new Prometheus context name for the new container stats pipeline (closed source)
  • 1381 Exposes functions needed to calculate efficiencies over summaryAllocationSets
opencost - v1.96.0

Published by teevans about 2 years ago

Release Notes

Major

1568 High availability mode

1328 Diff asset function now keeps track of total cost changes

842 v2 filters in Kubecost's Allocation APIs

Adds custom profile options to request sizing

Adds alerts for asset budget and Cloud Usage Reports

Modes for selecting "Single Aggregation" vs. "Multi Aggregation" when building Asset and Allocation Reports.

Reduced startup memory footprint

Minor

Updates to Advanced Reporting including cloud asset breakdowns

Improved efficiency calculation idle costs are excluded when determining total efficiency on the Cost Allocation page.

Added an efficiency over time chart to the Allocation UI

1392 View cost by annotation in Allocation UI

1322 Add Azure Storage Config values to provider config

Expose Server Version number on Settings page

Adds the ability to configure your Azure exports in the front end UI

Bugs

1542 Enabled cluster controller generates duplicate app labels

1587 Prevents duplicate "app" labels when enabling cluster controller

1471 Adds a missing check for the ‘container_fs_limit_bytes’ metric being queried by savings

1577 External costs column shown on the details page, and does not match the "Cloud Costs" tile

1564 Fixed settings durable storage debug section always asks for upgrade

1331 Fixed Azure ratecard setting azureClientSecret to update on changes to secret

1343 Applies filters to shared assets before they are added into the asset by the AggregateBy function

1576 Removes leftover Cloud provider after removal from the cloud-integration.json

Fixed isGrafanaEnabled check for request sizing

Gov Cloud pricing now loads for Azure Nvidia accelerated pods

Fixed a bug where the UI could not run under ingress subpaths correctly

Fixed a bug where a graph display could switch from cost over time to cumulative cost on drilldown

Fixed caching logic does to respect SAML "group filters"

Fixed Inspect page to filter labels properly

Allows users to upload BigQuery configuration parameters even if their current provider isn't GCP.

Updated all charts to use currency codes, with shortened values to handle large dollar amount

Internal Noteworthy Work
Improvements in scale data simulation to continually enhance cost accuracy and scale performance.

Opencost

1349 Adds check to prevent nil point for Azure storage on fresh install

1347 Adds additional region codes

1343 Applies filters to shared assets before they are added into the asset by the AggregateBy function

Bug Fixes

1337 Checks secret for values on first load of rate card

1334 Updated bingen asset version number, fixed adjustment field on cluster management

1328 Diff asset function now keeps track of total cost changes

1327 Allows users to use labels or annotations to aggregate by. Works with owner, product, environment, department, and team.

1322 Adds fields to the Cloud Provider config for Azure Storage Configuration

Package Rankings
Top 2.59% on Proxy.golang.org
Badges
Extracted from project README
License OpenSSF Best Practices OpenCost UI Walkthrough