/

/

Fill owner columns from a lookup file kept in git

Fill owner columns from a lookup file kept in git

Fill owner columns from a lookup file kept in git

Map namespaces, accounts or feature keys to teams with an enrichment file, then report on the new columns in Explorer, dashboards, alerts and reports.

Runs in

Claude

First optimization recommendation

The next day

ROI

Pays for itself with the first recommendation you act on

enrichments/namespace_to_org.yaml

name: namespace_to_org description: Namespaces whose pod label does not resolve, mapped to the responsible organization keyField: cos_namespace priority: 2 conditions: 'input.cos_cluster_name != null && input.cos_namespace != ""' targetColumns: - name: owner_team mode: merge - name: engineering_manager mode: merge entries: - key: payments then: owner_team: Commerce engineering_manager: Thomas - key: fluent-bit then: owner_team: Platform engineering_manager: Mary

You decide

An organization admin tests the file on a billed row and publishes it.

Playbook

What the agent does

From what Costory notices to what you decide. Costory suggests the next step in conversation, and you decide whether to go ahead.

Costory notices

Cost cannot be traced to an owner, or an allocation table has outgrown the rules on the Dimensions page.

Costory investigates

01

Find the gap

Group cost by the column you want to fill and list the keys with no owner, such as Kubernetes namespaces or shared accounts.

02

Draft the lookup file

Draft one file for your repo: the billing column to read, the columns to write, and either fixed values, weights you set, or a daily split from a BigQuery usage table. Use merge to keep an owner a row already has, or replace to overwrite it.

03

Test, then publish

An organization admin tests one billed row on the Dimensions page, which shows each file's hit or miss and the resulting values, then publishes. Costory applies the files on the next billing update, including history.

04

Report on the new columns

The output columns are available in Explorer, dashboards, alerts and reports.

Where you see it

enrichments/namespace_to_org.yaml

You decide

An organization admin tests the file on a billed row and publishes it.

Why it matters

Some allocation is a long table: namespaces, accounts or feature keys mapped to owners. Rules in the app suit tens of rules, and this table belongs in git with the rest of your configuration.

Who it’s for

Platform teams, FinOps leads

Where it runs

Claude

What you get

What lands in front of your team

Allocation in git

The lookup table lives in git with the rest of your configuration.

Tested before it is live

Check one billed row against the drafts before you publish.

Columns everywhere

The output columns are available in Explorer, dashboards, alerts and reports.

Sources and assistants

What it connects

The billing data, context and assistants this playbook uses. Each links to its setup page.

The billing data, context and assistants this playbook uses. Each links to its setup page.

Assistants and channels

Slack

Example prompts

Or drive it yourself

The agent runs this on its own once set up. These prompts open in Claude, pre-filled, to set it up, review it or dig into a result.

The agent runs this on its own once set up. These prompts open in Claude, pre-filled, to set it up, review it or dig into a result.

Find

Which Kubernetes namespaces have cost but no owner team?

Draft

Draft an enrichment file that maps our Kubernetes namespaces to owner teams and keeps any owner that is already set.

Explain

Write a short note for team leads explaining how the owner column is filled and where the lookup file lives.

FAQ

Questions about this playbook

When should I use an enrichment instead of a virtual dimension?

Use an enrichment when the allocation is a table you want in git: it is a lookup file that can hold thousands of keys and is changed by an organization admin. Use a virtual dimension when someone should read and change the rules in the app: it is a short list of rules, meant for tens of rules. Enrichments are in beta.

Who can publish an enrichment?

Writes require an organization admin and a bearer token from the Costory app. Files are uploaded through the API or with the Costory Terraform provider (0.3.1 or later). The Dimensions page reviews and publishes them but does not edit the files.

How do I check a file before it goes live?

On the Dimensions page, click Test enrichments, fill the columns for one billed row and click Test. Costory runs that row through the live files with your drafts applied. For a dynamic split, the test names the metric table but does not compute the shares, which appear after publish on the next billing update.

Does Costory change anything in our cloud accounts?

No. Costory reads billing exports and the metrics you connect, and has no write access to your cloud. Actions it takes create Costory objects only: alerts, reports, dashboards and events. Your team stays in control of every change.

Step-by-step guide in the Costory docs

Put this playbook on call

Included in every plan, from €250/month. 30-day free trial: connect in under 30 minutes, get your first optimization recommendation the next day.

First optimization recommendation

The next day

ROI

Pays for itself with the first recommendation you act on

Setup

About 30 minutes

Data residency

EU

Access

Read-only on your cloud