Configuration
OmniPackage reads .omnipackage/config.yml from the project root. This section documents every top-level key.
Top-level keys
| Key | Required | Purpose |
|---|---|---|
version_extractors |
yes | How to determine the package version |
builds |
yes | Per-distro build configuration |
repositories |
no | Where to publish built packages |
image_caches |
no | Cached container images to speed up builds |
secrets |
no | Environment-variable substitution into config.yml |
ignore_source_files |
no | Patterns for files to exclude from the staged source tree |
Environment substitution
Any string in config.yml can reference an environment variable with ${VAR}. Values resolve from a .env file (project root by default, override with --env-file <path>) or from the process environment. Only variables actually referenced in config.yml are consumed.
A .env file is the recommended default: every value lives in one place, the same file works for local runs, and it copy-pastes cleanly into a single CI secret. In CI, passing values directly through the runner's environment (per-secret env vars on the step) can be cleaner if you want per-secret rotation. Both styles work and can be mixed.