Usage of a Federated Storage Bucket is only supported for Kubecost Enterprise plans.
In order to provide a single-pane-of-glass view across many clusters, Kubecost uses a shared storage bucket which all clusters push to. There are multiple methods to provide Kubecost access to an S3 bucket. This guide has two examples:
Using a user or role's access keys
Attaching an AWS Identity and Access Management (IAM) role to the service account used by Kubecost
Both methods require an S3 bucket. Our example bucket is named kubecost-federated-storage-bucket. This is a simple S3 bucket with all public access blocked. No other bucket configuration changes should be required.
Method 1: Using access keys
Create a file named federated-store.yaml with contents similar to the following example. See region to endpoint mappings here.
Create a file named federated-store.yaml with contents similar to the following example. Note, that it does not contain the access_key and secret_key fields.
Then, follow this AWS guide to enable attaching IAM roles to pods. Once the role & policy have been created, configure your Helm values.yaml to include the following annotation: