graphql-engine/v3/CONTRIBUTING.md
Gil Mizrahi 0323da8144 create auth and utils subdirectories in crates, and move architecture information to a separate doc. (#534)
## Description

1. I've moved the architecture information we had in `CONTRIBUTING.md`
to a separate document `docs/architecture.md` so we can evolve both
separately in the future.
2. I've introduced a couple of sub directories: `utils` and `auth`, for
supporting crates that are not the core functionality of the engine so
it is easier to find the most relevant crates.

New structure:

```
crates
├── auth
│   ├── dev-auth-webhook
│   ├── hasura-authn-core
│   ├── hasura-authn-jwt
│   └── hasura-authn-webhook
├── custom-connector
├── engine
├── lang-graphql
├── metadata-schema-generator
├── open-dds
└── utils
    ├── opendds-derive
    ├── recursion_limit_macro
    └── tracing-util
```

V3_GIT_ORIGIN_REV_ID: e0e9394da2fcd911f329c48107a76f8492fa304c
2024-05-01 09:05:15 +00:00

702 B

V3 Contributing Guide

Getting Started

Using Docker

Start a development container (which includes NDC agents for testing):

docker compose run --build --rm dev_setup bash

Without Docker

You will need to install some packages:

  • The Rust compiler
  • protobuf-compiler

For development, you may need to install some additional tools such as nextest. See the Dockerfile.

Building the source

If the dependencies are correctly installed as above, you should now be able to run

cargo build

From here, you can follow the instructions in <README.md> to set up a working server.

Architecture

See the architecture document.