Skip to content

Configuration Overview

K-Pipe uses TOML config files organised into bundles — one bundle per project. Bundles live under configs/<bundle-name>/.

Config files in a bundle

File Purpose
kpipe.toml Main config — paths, anatomy, DCC settings
kpipe-kitsu.toml Kitsu backend connection
kpipe-nuke.toml Nuke-specific settings
kpipe-publish.toml Publishing pipeline definitions — see Pipeline Configuration
kpipe-load.toml Load pipeline definitions — see Pipeline Configuration

Splitting large config files

Any kpipe-<name>.toml file can be split across multiple files to keep individual files manageable. Alongside kpipe-<name>.toml, drop in one or more kpipe-<name>.<category>.toml files — e.g. kpipe-publish.render.toml, kpipe-publish.review.toml — and they're merged in automatically. The <category> segment is purely organizational (pick whatever names help you navigate the bundle) and carries no special meaning to K-Pipe. Files are merged key-by-key (not wholesale), so [pipeline.x] in one file and [pipeline.y] in another both end up in the same combined pipeline table. The base kpipe-<name>.toml file is optional once split — category files alone are enough to satisfy a sub-config.

Selecting a config bundle

Set the KPIPE_CONFIG environment variable to the bundle name:

export KPIPE_CONFIG=doris_preprod   # Linux/macOS
$env:KPIPE_CONFIG = "doris_preprod" # PowerShell

The default bundle is main.

User-specific overrides

Inside any TOML file, add a [team.<username>] section to override values for a specific user without touching the shared config:

[team.alice]
kitsu_password = "..."

[team.bob]
dcc_path_blender = "C:/custom/blender/blender.exe"

Defaults

The configs/defaults/ directory contains base configs that project bundles can inherit from. Values defined in a project bundle override the defaults.