Terminology
Key concepts used throughout the greyhound documentation.
| Term | Definition |
|---|---|
| Application | A registered project in greyhound (i.e. finorc). Maps to a .greyhound/config.yaml in a GitHub repository. |
| Environment | An isolated, individual deployment of an application. Each environment gets its own Kubernetes namespace. |
| Service | A long-running workload — web servers, APIs, background workers. Runs as a Kubernetes Deployment. |
| Job | A one-shot task like a database migration or seed script. Runs as a Kubernetes Job. |
| Build | A container image build from a source repository. Services and jobs reference builds via image_from_build. |
| Rule | An ingress routing rule that maps a hostname and path to a service, making it accessible via a URL. |
| Pool | A pre-provisioned set of Aurora database clusters that environments can check out for fast database access. |
| Config YAML | The .greyhound/config.yaml file in your repo that defines your application's deployment topology. |
| Applications YAML | The .greyhound/applications.yaml file used for multi-app environments that compose multiple repositories. |
| Interpolation Variable | A ${variable} placeholder in your config that greyhound resolves at deploy time (e.g., ${commit.sha}, ${database.pool.host}). |
| Namespace | The Kubernetes namespace where your environment's resources run. Isolated from other environments. |
| Infrastructure | AWS resources (IAM roles, security groups) defined alongside your application in the config. |