graphql-engine/v3/crates/engine/Cargo.toml
Samir Talwar 291d564d82 Support for partial supergraphs in metadata resolution. (#772)
### What

This adds a flag, `--partial-supergraph`, which instructs the metadata
resolver to prune relationships to unknown subgraphs rather than failing
to resolve.

### How

The flag gets passed through as
`metadata_resolve::configuration::Configuration`, and known subgraphs
are now tracked in `MetadataAccessor`. If the flag is set and a
relationship target refers to an unknown subgraph, we return an empty
list of relationships instead of failing.

Some test infrastructure has been added to set configuration flags per
test.

V3_GIT_ORIGIN_REV_ID: 6f0de2442a3bfc7c7a4c48e3dc7296dc1538cd67
2024-06-27 14:17:31 +00:00

69 lines
1.9 KiB
TOML

[package]
name = "engine"
version.workspace = true
edition.workspace = true
license.workspace = true
build = "build.rs"
default-run = "engine"
[lib]
bench = false
[[bin]]
name = "engine"
path = "bin/engine/main.rs"
bench = false
[[bench]]
name = "execute"
harness = false
[dependencies]
execute = { path = "../execute" }
hasura-authn-core = { path = "../auth/hasura-authn-core" }
hasura-authn-jwt = { path = "../auth/hasura-authn-jwt" }
hasura-authn-webhook = { path = "../auth/hasura-authn-webhook" }
lang-graphql = { path = "../lang-graphql" }
open-dds = { path = "../open-dds" }
opendds-derive = { path = "../utils/opendds-derive" }
schema = { path = "../schema" }
sql = { path = "../sql" }
tracing-util = { path = "../utils/tracing-util" }
metadata-resolve = {path = "../metadata-resolve" }
anyhow = { workspace = true }
axum = { workspace = true }
base64 = { workspace = true }
clap = { workspace = true, features = ["derive", "env"] }
json_value_merge = { workspace = true }
reqwest = { workspace = true, features = ["json", "multipart"] }
schemars = { workspace = true, features = ["smol_str"] }
serde = { workspace = true }
serde_json = { workspace = true }
serde_path_to_error = { workspace = true }
thiserror = { workspace = true }
tokio = { workspace = true, features = ["macros", "parking_lot", "rt-multi-thread", "signal"] }
tower = { workspace = true }
tower-http = { workspace = true, features = ["trace", "cors", "fs"] }
# Dependencies to build and run build.rs file
[build-dependencies]
build-data = { workspace = true } # To set short commit-sha at build time
[dev-dependencies]
criterion = { workspace = true, features = ["html_reports", "async_tokio"] }
goldenfile = { workspace = true }
pretty_assertions = { workspace = true }
tokio-test = { workspace = true }
[package.metadata.cargo-machete]
ignored = [
"build_data", # cargo-machete ignores build dependencies
"serde_path_to_error", # used by opendds-derive
]
[lints]
workspace = true