- The rounding for costs and usage is set to 5 decimals instead of 2.
- Were added 3 new environment variables. KUBECOST_CONFIG_HOST and KUBECOST_CONFIG_API_PATH to configure a specific host and API path to get the Kubecost configuration if it is different from the one used for the Allocation API. And DEFAULT_CURRENCY, which is used when something fails while getting the Kubecost configuration.
- The validation to ensure we have complete data from the previous month to upload to Optima API was corrected.
- Added support for multi-arch builds
- Added pagination for Kubecost Allocation API requests.
- Setting the default value of the INCLUDE_PREVIOUS_MONTH to true.
- Exit with error code 1 in case of any failure during bill upload.
- Changed the default schedule of the cronJob scheduler to run an export task to - Once in every 24 hours.
- Added labels "kc-cluster" for cluster-name, "kc-namespace" for namespace to the exported field "labels" in the CSV file.
- Allow creation of Bill Connect (if not existing) conditionally based on flag CREATE_BILL_CONNECT_IF_NOT_EXIST
- To support the creation of Bill Connect, introduced additional Parameter - VENDOR_NAME. This parameter is only used when the CREATE_BILL_CONNECT_IF_NOT_EXIST is set to true.
- Added query parameter 'accumulate' for Kubecost Allocation API requests to sum the entire range of time intervals into a single set and reduce response size.
- Added some modifications building aggregation query param to address Kubecost Allocation API changes made for versions 2.3 and higher.
- Improved OpenCost support. Added description of settings for integration with OpenCost in README.md
- Fixed crash on getConfigs request for OpenCost
- Implemented compression and chunking for large CSV files to improve file upload reliability and performance with Flexera CBI.
- Enhanced Helm chart to dynamically configure
activeDeadlineSeconds
throughvalues.yaml
, providing greater flexibility for cron job execution duration.
- Added labels "kc-container" for container, "kc-controller" for controller, "kc-node" for node, "kc-pod-id" for pod and "kc-provider-id" for providerID to the exported field "labels" in the CSV file.
- Added Flexera Service Accounts support (SERVICE_APP_CLIENT_ID and SERVICE_APP_CLIENT_SECRET env variables)
- Addressed an issue with Kubecost where it returns "empty" data for selected date ranges. Also ensured that no data is written to files in cases where the data is empty.
- Added new env var REQUEST_TIMEOUT to manage the timeout of the requests. Default value is 5 minutes.
- Added new query param 'step' set to '1d' to get daily data metrics from kubecost API.
- The bill upload process is aborted if an error occurs during the same process. If at the time the exporter wants to start the bill upload process there is another one in progress for the same organization and period, it is aborted and a new one is started.
- The MD5 hash of the files is verified to ensure the integrity of the uploaded files.
- Save two months of cvs files instead of only current month.
- When uploading files for previous month, exporter validates that the number of files to upload match with the number of days of the previous month.
- Added costAdjustments for cpuCost, gpuCost, ramCost, pvCost, networkCost and loadBalancerCost
- Added new env var IDLE_BY_NODE to manage if idle allocations are created on a per node basis
- Time window sent to kubecost API was corrected. Was added a config var to allow send previous month of data to Flexera.
- Added namespaceLabels field to the exported field "labels" in the CSV file
- Added
apiPath
tokubecost
configuration to support custom API paths.
- Added AU shard and changed default aggregate value to "pod"
- Initial release