kiln.yaml Reference
Complete reference for all configuration options.
database
| Field |
Type |
Default |
Description |
driver |
string |
"postgres" |
Database driver: postgres, mysql, sqlite |
dsn |
string |
|
Direct database connection string |
dsn_env |
string |
|
Environment variable name containing the DSN (takes precedence over dsn) |
output
| Field |
Type |
Default |
Description |
dir |
string |
"./generated" |
Directory for generated code |
package |
string |
"generated" |
Go package name for generated code |
api
| Field |
Type |
Default |
Description |
base_path |
string |
"/api/v1" |
URL prefix for all routes |
framework |
string |
"stdlib" |
Router framework: stdlib or chi |
auth
| Field |
Type |
Default |
Description |
strategy |
string |
"none" |
Auth strategy: none, jwt, api_key |
header |
string |
"Authorization" |
HTTP header to read credentials from |
bob
| Field |
Type |
Default |
Description |
enabled |
bool |
true |
Run schema introspection via bob |
models_dir |
string |
"./models" |
Where bob writes its query builder models |
generate
Toggle individual layers on/off. All default to true.
| Field |
Type |
Default |
Description |
models |
bool |
true |
Request/response type structs |
store |
bool |
true |
Database operation layer |
handlers |
bool |
true |
HTTP handlers |
router |
bool |
true |
Route registration |
openapi |
bool |
true |
OpenAPI 3.0 specification |
openapi
| Field |
Type |
Default |
Description |
enabled |
bool |
true |
Generate OpenAPI spec |
output |
string |
"./docs/openapi.yaml" |
Output file path |
title |
string |
"My API" |
API title in spec |
version |
string |
"1.0.0" |
API version in spec |
description |
string |
"" |
API description in spec |
tables
| Field |
Type |
Default |
Description |
include |
[]string |
[] |
If set, ONLY generate these tables |
exclude |
[]string |
[] |
Skip these tables (mutually exclusive with include) |
overrides
Per-table customizations. Keyed by table name.
| Field |
Type |
Default |
Description |
endpoint |
string |
table name |
Override URL path segment |
hidden_fields |
[]string |
[] |
Excluded from all response types |
readonly_fields |
[]string |
[] |
Excluded from Create/Update request types |
disable |
[]string |
[] |
Disable operations: create, update, delete, list, get, link, unlink |
filterable_fields |
[]string |
[] |
Allowlist for query filters (empty = all columns) |
sortable_fields |
[]string |
[] |
Allowlist for sorting (empty = all columns) |
enums |
map[string][]string |
{} |
Allowed values per column name |
disable_filters |
bool |
false |
Opt-out of filtering entirely |
disable_sorting |
bool |
false |
Opt-out of sorting entirely |