Skip to main content

Greyhound

Greyhound makes deploying cloud environments for your applications easy. Tell greyhound what your application needs using greyhound config files, and greyhound will handle all the scary Kubernetes stuff for you.

Current Use cases

The long term goal for greyhound is to create a self-serve platform anyone can use to provision a fully-functioning cloud environment for their product. That's an ambitious goal, so we are focusing on these use cases right now.

  • creating ephemeral environments for pull requests that developers can use to validate changes before merging
  • creating general purpose, long-term environment deployments for greenfield PoC applications

How do I configure greyhound for my repository?

Greyhound uses config files embedded in repositories to define how deployments for that repository should be executed. The core of every greyhound environment is defined in a .greyhound/config.yaml that describes the following:

ComponentPurpose
ServicesLong-running workloads (web servers, APIs, workers)
JobsOne-shot tasks (migrations, seed scripts)
BuildsContainer image builds from source repos
RulesIngress routing to expose services externally
ConfigMapsNon-sensitive configuration data
SecretsKubernetes secrets for sensitive data
SecretProvidersCSI mounts for AWS Secrets Manager
InfrastructureAWS resources (IAM roles, security groups)

Multi-App Environments

For environments composed of multiple repositories, define an applications.yaml to compose apps into a single environment.

Getting Started