BROWSE DOCS
REFERENCE
DOCS / INFRASTRUCTURE AS CODE

What Finowl reads

Finowl prices what your pipeline is about to deploy, which means reading the same files your deployment tool reads. The format is a reader — everything else in the platform is independent of it.

Supported formats

FORMATSTATUSREADS
Databricks Asset BundlesAvailabledatabricks.yml and the target overlays it declares. Jobs, DLT pipelines, SQL warehouses, job clusters, inline task clusters and serverless.
TerraformComing soonThe Databricks Terraform provider — databricks_job, databricks_pipeline, databricks_sql_endpoint and the cluster blocks inside them, per workspace.

What a format has to provide

Every reader answers the same four questions, and a format Finowl can support is one that can answer them from files alone, before anything is deployed.

QUESTIONUSED FOR
Which environments exist?The value --target is checked against. Finowl never guesses an environment.
What does each environment actually declare?Overlays and variables resolved, so a production override is priced as production and not as the base definition.
What compute does each workload use?The cluster shape — instance type, worker count, Photon, spot — which sets what an hour costs.
How often does it run?Schedules, triggers and continuous flags, which set how many hours a month.

One thing no format provides is how long a run takes. That is not in any file, because it depends on the data. It comes from a workload word per compute in finowl.yml — see finowl.yml reference.

What does not depend on the format

The reader sits at the edge of the product. Everything a team accumulates over a product's life is held by the platform, keyed on an opaque product identity:

  • The committed budget and every superseded estimate.
  • Run history on every deployment.
  • Policies, rules and their verdicts.
  • Attributed actual spend.
NOTE
A product that migrates from one deployment tool to another keeps all of it. What changes is which file Finowl parses. Identity is an opaque id, not a repository URL or a file path, which is what makes that true rather than aspirational.

The two files, and what each owns

FILEOWNED BYHOLDS
IaC definitionYour teamWhat gets deployed: workloads, compute shapes, schedules, environments.
finowl.ymlFinowlWhich product this reports to, and one workload word per compute per environment.

finowl.yml always sits in the same directory as the definition it describes, whatever the format. A monorepo registers one product per directory.

A format you need that is not here

The constraint is not parsing — it is pricing. A format has to expose the cluster shape and the schedule for Finowl to produce a figure, and some deployment tools abstract both away behind a module boundary. If yours does, tell us what it looks like: get in touch.