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)
| File | Size | Uploaded | |
|---|---|---|---|
| csp_billing_adapter_k8s-1.2.0.tar.gz | 14.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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