Skip to main content

CSP Billing Adapter Kubernetes Plugin

This is a plugin for csp-billing-adapter that provides storage hook implementations. It also implements the get_usage_data hook for the adapter. The namespace is configured based on the ADAPTER_NAMESPACE environment variable which is expected to be set in the container.

The following function hooks are implemented:

Setup

Setup adapter

The setup_adapter function authenticates the current session. It tries both the in cluster config and Kube config. If both fail an exception is raised.

Cache

save_cache

Stores the adapter cache in an opaque secret named csp-adapter-cache in the namespace determined by the above environment varaible. If the cache already exists no save is performed. In this case it's expected to use the update_cache function instead.

update_cache

Updates or replaces the adapter cache in the csp-adapter-cache secret using the configured namespace.

get_cache

Retrieves the cache from the secret named csp-adapter-cache. If the cache is not found None is returned.

CSP Config

save_csp_config

Stores the adapter csp config in configMap named csp-config in the configured namespace. If csp-config already exists nothing is saved. It is expected to use update_csp_config to make updates to an existing csp-config.

update_csp_config

Updates or replace the configMap named csp-config in the configured namespace.

get_csp_config

Retrieves the csp config from the configMap named csp-config. If the csp config is not found None is returned.

Usage

get_usage_data

Retrieves usage data from the configured custom resource definition (CRD). The location, name and namespace of the CR are configured using environment variables:

ADAPTER_NAMESPACE:The namespace where the adapter is deployed.

USAGE_CRD_PLURAL: The plural name of the K8s CRD.

USAGE_RESOURCE: The name of the CRD object that contains the usage data.

USAGE_API_VERSION: The API version of the usage CRD to use. Example "v1.

USAGE_API_GROUP: The API group where the CRD exists.

The CRD is expected to have a number of fields. reporting_time is required and is expected to be a RFC 3339 compliant in UTC with the following format: YYYY-MM-DDTHH:MM:SS.FFFFFF+00:00. base_product is optional and if it's provided it is a string containing information about the product name and version. At least one usage field but there can be more than one.

Archive

save_metering_archive

Stores the adapter metering archive in a configMap named metering-archive in the configured namespace. If metering-archive already exists it is updated with the latest data.

get_metering_archive

Retrieves the metering archive from the configMap named metering-archive. If the metering archive is not found an empty list is returned.

get_archive_location

Returns the location of the metering archive. This is the config map name metering-archive.

Release files for csp-billing-adapter-k8s 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for csp-billing-adapter-k8s 1.2.0
File Size Uploaded
csp_billing_adapter_k8s-1.2.0.tar.gz 14.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for csp-billing-adapter-k8s 1.2.0
File Interpreter ABI Platform
csp_billing_adapter_k8s-1.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 25.1 kB

Release files / csp_billing_adapter_k8s-1.2.0.tar.gz

Download URL csp_billing_adapter_k8s-1.2.0.tar.gz
Size 14.5 kB
Tags Source
SHA-256 checksum
How to use checksums
fad8893dfcf49f02dc41f400f0228549db303f7a33f89c36a59ba1853d0948bf
BLAKE2b-256 checksum
How to use checksums
b5bef49e2c9d5d6fd839bbafad665cd910e9f2acbfbb90f840f72a4a78e1ffcf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 8, 2026.

Transparency log

Release files / csp_billing_adapter_k8s-1.2.0-py3-none-any.whl

Download URL csp_billing_adapter_k8s-1.2.0-py3-none-any.whl
Size 10.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b8137fdc0d0759ea8f678e016fe40d53bbb7ab5c600864091f5c4ee9027d4535
BLAKE2b-256 checksum
How to use checksums
1b24455cd8e0e11b44d1e6540312ea7b7e7d2fbd044cf761145f0778cc354d46
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 8, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page