Skip to main content

Components

There are six different components that make up the Chewy Stack's architecture: projects, environments, providers, infrastructure, services, and source.

note

Most Chewy Stack users will not have to interact with these components directly. You will mostly deal with source components, which is where you write your code.

Project

A component that manages the overarching structure, configuration, and metadata of your project. Importantly, it holds an ID which is used to manage resources outside the project directory.

Environment

A component which defines a deployment environment (i.e. qa, staging, prod). A different encryption key is generated per environment and component to manage secret environment variables. These are stored outside the project directory.

Provider

A component that holds the necessary information to deploy to an infastructure provider like DigitalOcean, Vercel, AWS, etc.

Infrastructure

A configurable component that provisions infrastructure within a provider. Infrastructure components take care of provisioning servers, etc.

Service

A configurable component that deploys a service to provisioned infrastructure. These are not services that Chewy Stack users write themselves, rather they include things like Ory Kratos (authentication server), Hasura, and others.

Source

A component that is both configurable and written by Chewy Stack users. These components are where you will actually build your app. The source components include server-side components to build GraphQL APIs as well as client side components to build web and mobile clients.