Build Manifests
Introduction
Build manifests are used to define the configuration for building your supergraph or a connector. Written in YAML, these manifests are used to define the resources and other configurations required to build a supergraph or a connector.
It's helpful to think of build manifests as a blueprint for building a supergraph or a connector.
Supergraph manifests
The supergraph manifest defines the configuration used to build the supergraph. While projects are generated with a default manifest, you can add as many SupergraphManifests as you need to define different configurations for building your supergraph.
Connector manifests
Each connector in your supergraph has its own manifest. The ConnectorManifest defines the configuration used to build the connector. This allows you to configure the capabilities of the connector and tailor it to your needs.
A connector manifest can easily be generated using the CLI's add connector-manifest
command.
Metadata structure
SupergraphManifest
Details of how to build the Supergraph.
Key | Value | Required | Description |
---|---|---|---|
kind | SupergraphManifest | true | |
version | v1 | true | |
definition | SupergraphManifestDefinition | true | Details of how to build the Supergraph. |
SupergraphManifestDefinition
Details of how to build the Supergraph.
Key | Value | Required | Description |
---|---|---|---|
name | string | true | Name of the supergraph manifest. |
envfile | string | false | Path to the YAML file containing environment variables. |
ConnectorManifest
Defines the configuration used to build the connector.
Key | Value | Required | Description |
---|---|---|---|
kind | ConnectorManifest | true | |
version | v1 | true | |
spec | ConnectorManifestSpec | false | Connector Manifest Spec |
definition | ConnectorManifestDefinition | true | Connector Manifest Definition |
ConnectorManifestDefinition
Defines the configuration used to build a connector.
One of the following values:
Value | Description |
---|---|
CloudConnectorManifestDefinition | |
EndpointConnectorManifestDefinition |
EndpointConnectorManifestDefinition
Defines the configuration used to build a local connector.
Key | Value | Required | Description |
---|---|---|---|
name | string | true | Name of the connector. |
type | endpoints | true | Deployment type of the connector. |
deployments | [EndpointDeployment] | true | Details about the connector endpoint. |
EndpointDeployment
Details about the connector endpoint.
Key | Value | Required | Description |
---|---|---|---|
endpoint | ValueOrFromEnv | true | Endpoint of the connector. |
CloudConnectorManifestDefinition
Defines the configuration used to build a cloud connector.
Key | Value | Required | Description |
---|---|---|---|
name | string | true | Name of the connector. |
type | cloud | true | Deployment type of the connector. |
connector | ConnectorType | true | Type of connector. |
deployments | [CloudDeploymentKind] | true | Details about the cloud deployments for the connector. |
CloudDeploymentKind
Kind for cloud deployment.
One of the following values:
Value | Description |
---|---|
CloudDeployment | |
CloudRegionDeployment |
CloudRegionDeployment
Details about the regional cloud deployments for the connector.
Key | Value | Required | Description |
---|---|---|---|
region | CloudDeploymentRegions | true | Region of the connector build |
mode | CloudDeploymentMode | true | Connector build deployment mode |
context | string | true | Path of the connector context directory. |
env | Envs | true | Environment variables for the connector build. |
CloudDeploymentMode
Specifies mode for the cloud connector deployment.
Value: ReadWrite
/ ReadOnly
CloudDeploymentRegions
Specifies region for the cloud connector deployment.
Value: gcp-asia-northeast1
/ gcp-asia-south1
/ gcp-asia-southeast1
/ gcp-australia-southeast1
/ gcp-europe-west1
/ gcp-europe-west3
/ gcp-southamerica-east1
/ gcp-us-central1
/ gcp-us-east4
/ gcp-us-west1
/ gcp-us-west2
CloudDeployment
Details about the cloud deployments for the connector.
Key | Value | Required | Description |
---|---|---|---|
context | string | true | Path of the connector context directory. |
env | Envs | true | Environment variables for the connector build. |
Envs
Environment variables for the connector deployment.
Key | Value | Required | Description |
---|---|---|---|
<customKey> | ValueOrFromEnv | false |
ValueOrFromEnv
Specifies an explicit value for the Env var or loads it from provided Env vars to the command.
One of the following values:
Value | Description |
---|---|
EnvValue | |
EnvValueFromEnv |
EnvValueFromEnv
Load Env var value from the provided Env vars to the command.
Key | Value | Required | Description |
---|---|---|---|
valueFromEnv | string | true |
EnvValue
Explicit value of an Env var.
Key | Value | Required | Description |
---|---|---|---|
value | string | true |
ConnectorType
Connector Type information.
Key | Value | Required | Description |
---|---|---|---|
type | hub / inline | true | Type of connector. |
name | string | false | Hub connector ID (Name and version) |
ConnectorManifestSpec
Connector Manifest Spec
Key | Value | Required | Description |
---|---|---|---|
supergraphManifests | [string] | true | List of SupergraphManifests this ConnectorManifest is a part of. |