Greyhound Configuration
Greyhound uses two YAML configuration files, each serving a different purpose. Every repository that deploys with greyhound needs at least a config.yaml; repositories that orchestrate multiple apps also include an applications.yaml.
Configuration Files
| File | Purpose | Required? |
|---|---|---|
.greyhound/config.yaml | Defines a single application's deployment topology — services, jobs, builds, rules, secrets, and infrastructure | Yes |
.greyhound/applications.yaml | Composes multiple repositories into shared environments with cross-app resource sharing and variable overrides | Only for multi-app setups |
Which Do I Need?
config.yaml only — Your product lives in a single repository. You define your services, builds, and rules in one file and greyhound deploys them together.
config.yaml + applications.yaml — Your product spans multiple repositories (e.g., a backend API and a frontend app). Each repository has its own config.yaml describing its services. One repository also has an applications.yaml that ties them together into shared environments.
The two files work together: applications.yaml references repositories that each contain their own config.yaml. Greyhound reads the applications.yaml to determine which apps to import, then reads each app's config.yaml to build the full deployment topology.
Next Steps
- Application Configuration — learn about
config.yamland its components - Multi-App Configuration — learn about
applications.yaml, application imports, and environments