Configuration reference¶
osw-builder is configured through YAML settings, loaded by Dynaconf. Secrets (Neo4j/MinIO credentials) are kept separately.
Files¶
osw_builder/default_settings.yamlThe shipped image catalogue and global defaults. Tracked in git. ISO
source:fields arenullby design.config.yamlYour local overrides, not committed. Any key here overrides the matching key in the defaults.
~/.secrets.tomlneogit credentials (Neo4j, MinIO). Read by neogit, not committed.
Environment variables prefixed with OSW_BUILDER_ also override settings (Dynaconf convention).
Top-level keys¶
Key |
Meaning |
|---|---|
|
Reusable Windows product keys, referenced by YAML anchors. |
|
Reusable Windows edition names (e.g. “Windows 10 Pro”). |
|
Anchors for Packer template and varfile filenames. |
|
Anchored list of Windows first-login registry commands. |
|
Whether to remove the libvirt domain after running tools. Default |
|
libvirt storage pool name. Default |
|
Global default for skipping capture. Default |
|
Logging configuration (the |
|
The image catalogue — a flat list of every OS definition. |
|
Groups images into inheritance chains ( |
Image entry¶
Each item under images: describes one OS:
- name: &win10_22h2 "win10-22h2-19045.2006"
description: "Windows 10 22H2 (March 2022 Update, 19045)"
source: null # ISO path/URL — provide in config.yaml
checksum: "sha1:..." # verification reference, kept even when source is null
release_date: "2022-10" # YYYY-MM, used to date the build commit in Neo4j
build_config¶
Controls how the image is built with Packer. Resolved through inheritance (see The image inheritance model).
Field |
Meaning |
|---|---|
|
Packer template filename (e.g. |
|
List of HCL varfiles. Replaces (does not extend) inherited value. |
|
Dict of Packer variables. Merged key-by-key with inherited values. |
|
Whether the build needs network access. Default |
|
Windows-only list of first-login commands. |
|
Windows product key. |
|
Windows edition name selected from the ISO. |
runtime_config¶
Controls what happens after the build.
Field |
Default |
Meaning |
|---|---|---|
|
|
Search for OS updates after capture. |
|
|
Capture an IDLE snapshot (VM left running 10 minutes). |
|
|
Install the updates that were found. |
Note
A runtime_config value of false is “sticky”: once an image in a branch disables a phase, neither later inheritance nor a CLI flag can re-enable it. See CLI reference → override precedence.
branches¶
A branch is an ordered list that defines an inheritance chain. Entries are processed top to bottom; each one inherits the accumulated configuration of everything above it. An image must appear in exactly one branch. The two shipped branches are windows and ubuntu-server.