Skip to main content

Terminology

Key concepts used throughout the greyhound documentation.

TermDefinition
ApplicationA registered project in greyhound (i.e. finorc). Maps to a .greyhound/config.yaml in a GitHub repository.
EnvironmentAn isolated, individual deployment of an application. Each environment gets its own Kubernetes namespace.
ServiceA long-running workload — web servers, APIs, background workers. Runs as a Kubernetes Deployment.
JobA one-shot task like a database migration or seed script. Runs as a Kubernetes Job.
BuildA container image build from a source repository. Services and jobs reference builds via image_from_build.
RuleAn ingress routing rule that maps a hostname and path to a service, making it accessible via a URL.
PoolA pre-provisioned set of Aurora database clusters that environments can check out for fast database access.
Config YAMLThe .greyhound/config.yaml file in your repo that defines your application's deployment topology.
Applications YAMLThe .greyhound/applications.yaml file used for multi-app environments that compose multiple repositories.
Interpolation VariableA ${variable} placeholder in your config that greyhound resolves at deploy time (e.g., ${commit.sha}, ${database.pool.host}).
NamespaceThe Kubernetes namespace where your environment's resources run. Isolated from other environments.
InfrastructureAWS resources (IAM roles, security groups) defined alongside your application in the config.