Hive Gateway CLI Reference
An overview of all the CLI arguments and environment variables for the hive-gateway
CLI.
Get started with the CLI.
Usage
You can get help with using the CLI by appending the --help
argument:
hive-gateway --help
which will print out the following:
Usage: hive-gateway [options] [command]
Federated GraphQL Gateway
Options:
--fork <count> count of workers to spawn. uses "12" (available parallelism) workers when NODE_ENV is "production", otherwise "1" (the main) worker (default: 1 (env: FORK)
-c, --config-path <path> path to the configuration file. defaults to the following files respectively in the current working directory: gateway.ts, gateway.mts, gateway.cts, gateway.js, gateway.mjs, gateway.cjs (env: CONFIG_PATH)
-h, --host <hostname> host to use for serving (default: "0.0.0.0" (default: "0.0.0.0")
-p, --port <number> port to use for serving (default: 4000 (env: PORT)
--polling <duration> schema polling interval in human readable duration (default: "10s") (env: POLLING)
--no-masked-errors don't mask unexpected errors in responses
--masked-errors mask unexpected errors in responses (default: true)
--hive-registry-token <token> Hive registry token for usage metrics reporting (env: HIVE_REGISTRY_TOKEN)
--hive-persisted-documents-endpoint <endpoint> [EXPERIMENTAL] Hive CDN endpoint for fetching the persisted documents. requires the "--hive-persisted-documents-token <token>" option
--hive-persisted-documents-token <token> [EXPERIMENTAL] Hive persisted documents CDN endpoint token. requires the "--hive-persisted-documents-endpoint <endpoint>" option
--hive-cdn-endpoint <endpoint> Hive CDN endpoint for fetching the schema (env: HIVE_CDN_ENDPOINT)
--hive-cdn-key <key> Hive CDN API key for fetching the schema. implies that the "schemaPathOrUrl" argument is a url (env: HIVE_CDN_KEY)
--apollo-graph-ref <graphRef> Apollo graph ref of the managed federation graph (<YOUR_GRAPH_ID>@<VARIANT>) (env: APOLLO_GRAPH_REF)
--apollo-key <apiKey> Apollo API key to use to authenticate with the managed federation up link (env: APOLLO_KEY)
--disable-websockets Disable WebSockets support
--jit Enable Just-In-Time compilation of GraphQL documents (env: JIT)
-V, --version output the version number
--help display help for command
Commands:
supergraph [options] [schemaPathOrUrl] serve a Federation supergraph provided by a compliant composition tool such as Mesh Compose or Apollo Rover
subgraph [schemaPathOrUrl] serve a Federation subgraph that can be used with any Federation compatible router like Apollo Router/Gateway
proxy [options] [endpoint] serve a proxy to a GraphQL API and add additional features such as monitoring/tracing, caching, rate limiting, security, and more
help [command] display help for command
All arguments can also be configured in the config file.
Environment Variables
In addition to the env vars showcased in the CLI usage, more are available.
These are usually used for easier usage with these two schema registry services. You don’t need any configuration file if you provide these environment variables.
Hive Registry
HIVE_CDN_ENDPOINT
: The endpoint of the Hive Registry CDNHIVE_CDN_KEY
: The API key provided by Hive Registry to fetch the schemaHIVE_REGISTRY_TOKEN
: The token to push the metrics to Hive Registry
Learn more about Hive Registry integration here
Apollo GraphOS
APOLLO_KEY
: The API key provided by Apollo GraphOS to fetch the supergraph.APOLLO_GRAPH_REF
: The API key provided by Apollo GraphOS to fetch the supergraph.APOLLO_SCHEMA_CONFIG_DELIVERY_ENDPOINT
: The URL of the managed federation up link. By default, it uses the first uplink in the list.