-
-
Notifications
You must be signed in to change notification settings - Fork 1
Configuration Reference
Yusuke Abe edited this page Aug 11, 2026
·
3 revisions
Index of every wip.yml key. Each feature has its own page; this page is the map plus the
top-level keys that don't warrant one.
| Key | Modes | Default | Meaning |
|---|---|---|---|
version: |
all | 1 |
Config schema version. Only 1 is supported; anything else is a ConfigError. |
mode: |
all | container |
container / compose / compose-native. See Choosing a Mode. |
wslc: |
all | {command: auto} |
Which wslc binary to shell out to. See Config File Discovery. |
container: |
container | (none) | Which dependencies: entry is primary. Required once dependencies: has entries. See Dependencies. |
network: |
container | (unset) | Container network shared by every dependency. See Networking. |
dependencies: |
container | {} |
Every container wip manages. See Dependencies. |
compose: |
compose, compose-native | — | Which compose file/service to use. See Compose Mode / Compose Native Mode. |
interaction: / commands:
|
all | {} |
Project commands run as wip NAME. See Interactions. |
sync: |
all | (unset) | Mirror the source into a named volume. See Source Sync. |
-
Config File Discovery — where
wip.ymlis found,--config,version:, thewslc:block
-
Dependencies —
dependencies:entries,container:, primary vs. sidecar -
Networking —
network:, when it's created, name resolution -
Restart Policies —
restart:values andwip up --watch
-
Interactions —
interaction:/commands:,type: exec|run|build, name collisions
-
Env Files —
.envloading rules,--env-file, precedence -
Secret Masking — what
wip configredacts, and what that does and doesn't protect
-
Dockerignore — how
.dockerignorefilters the build context -
Shadow Build Context —
shadow_context:, when it applies, how it stays incremental
-
Source Sync — the
sync:block, every parameter, mount rewriting -
Sync Modes —
execvs.run,sync.image/sync.build, per-mode defaults
- Compose File Support — the supported subset
-
Compose Build —
build:services - Compose Depends On — ordering
- Compose Profiles — profile-gated services
-
Compose Variable Interpolation —
${VAR}
| Key | container |
compose-native |
compose |
|---|---|---|---|
container: |
required with deps | rejected (implied) | rejected (implied) |
dependencies: |
yes | rejected | rejected |
network: |
yes | derived from compose.project
|
rejected |
compose.service |
— | required | required |
compose.file |
— | optional | optional |
compose.project |
— | optional | optional |
compose.command |
— | rejected | required |
interaction.type: run |
yes | yes | rejected |
interaction.type: build |
yes | yes | rejected |
sync.mode: exec |
yes (default) | yes (default) | rejected |
sync.image / sync.build
|
optional | optional | one required |
Every rejection above is a load-time ConfigError — see Configuration Errors
for the exact messages.
wip configprints the fully defaulted, secret-masked configuration as YAML — the fastest way to check what wip actually resolved. See wip config.
Introduction
Modes
Configuration
- Configuration Reference
- Config File Discovery
- Dependencies
- Networking
- Interactions
- Restart Policies
- Env Files
- Secret Masking
- Dockerignore
- Shadow Build Context
- Source Sync
- Sync Modes
compose.yml support
- Compose File Support
- Compose Build
- Compose Depends On
- Compose Profiles
- Compose Variable Interpolation
Commands
- CLI Command Reference
- wip init
- wip version
- wip doctor
- wip config
- wip build
- wip up
- wip stop
- wip down
- wip exec
- wip run
- wip shell
- wip logs
- wip sync
- wip dispatch
- Global Options
- Debug Output
- TTY Allocation
Guides
- Guides
- Migrating from dip
- Reusing an Existing compose.yml
- Fixing a Slow Boot
- Continuous Sync
- Auto Restarting Containers
- Multi Arch Images
- Using wip in CI
Troubleshooting
- Troubleshooting & FAQ
- FAQ
- Configuration Errors
- WSLC Not Found
- Registry Authentication
- Architecture Mismatch
- Volume Limit Reached
- rsync Not Found
- Reporting Issues
Comparison
Project