Skip to main content
Version: v3.x

Build configs

Introduction

Build configs are used to define the resources and other configurations required to build a supergraph, subgraph or a connector. They are written in YAML and are defined in individual files.

It's helpful to think of build configs as a blueprint for building your supergraph.

Supergraph config

The Supergraph object defines the configuration used to build the supergraph. While projects are generated with default configs for building for local or Hasura DDN, you can add as many Supergraph objects as you need to define different configurations for building your supergraph.

Subgraph config

Each subgraph in your supergraph has its own config. The Subgraph object defines the configuration used to build the subgraph. While subgraphs are generated with a default config, you can add as many Subgraph objects as you need to define different configurations for building your subgraph.

Connector config

Each data connector in your supergraph has its own config. The Connector object defines the configuration used to build the connector. This allows you to configure the capabilities of the connector and tailor it to your needs. While connectors are initialized with default configs for building for local or Hasura DDN, you can add as many Connector objects as you need to define different configurations for building your connector.

Metadata structure

Supergraph

Defines the configuration used to build the Supergraph.

KeyValueRequiredDescription
kindSupergraphtrue
versionv2true
definitionSupergraphDefinitionV2true

SupergraphDefinitionV2

Supergraph Definition V2.

KeyValueRequiredDescription
subgraphs[string]truePaths to subgraph configuration.

Subgraph

Defines the configuration used to build the Subgraph.

KeyValueRequiredDescription
kindSubgraphtrue
versionv1true
definitionSubgraphDefinitionV1true

SubgraphDefinitionV1

Subgraph Definition.

KeyValueRequiredDescription
generatorSubgraphGeneratorConfigtrueSubgraph generator Configuration.
envFilestringfalsePath to the Subgraph .env file.
includePaths[string]truePaths to be included to construct Subgraph metadata.
namestringtrueSubgraph Name.

SubgraphGeneratorConfig

Subgraph generator Configuration.

KeyValueRequiredDescription
rootPathstringtruePath to the directory which holds all the Subgraph metadata.
graphqlRootFieldPrefixstringfalsePrefix to use while generating GraphQL root fields.
graphqlTypeNamePrefixstringfalsePrefix to use while generating GraphQL type names.
namingConventionstringfalse

Connector

Defines the configuration used to build the connector.

KeyValueRequiredDescription
kindConnectortrue
versionv1true
definitionConnectorDefinitionV1true

ConnectorDefinitionV1

Connector deployment definition.

KeyValueRequiredDescription
namestringtrueConnector name.
subgraphstringfalseDDN project subgraph name.
sourcestringtrueConnector Hub ID.
contextstringtruePath to the context directory.
envFilestringfalsePath to the shared .env file.
regionConfiguration[RegionConfiguration]falseConnector deployment Region configuration

RegionConfiguration

Connector deployment Region Configuration.

KeyValueRequiredDescription
regionstringtrueRegion to deploy the connector to.
modeReadOnly / ReadWritetrueConnector deployment mode.
envFilestringfalsePath to the regional .env file.
Loading...