Skip to main content

Configuration

Configuration for all Inigo services is done using yaml configuration files. Using these files you can configure general service info, security knobs, access control, rate limits, and observability configs. Configurations are applied using the inigo cli apply command. This can be done manually in the terminal or part of a ci|cd pipeline.

All of Inigo's configuration files have global fields, the table below summarizes these fields:

FieldTypeRequiredDescription
kindstringYesThe type of configuration file. One of: Service, Security, RateLimit, Observe, Access
namestringYesService name
labelstringNo
default: null
Label used to distinguish different environments such as dev, stagining, prod
specobjectYesThe specifications of the configuration file

Every configuration file starts with these four fields. An example beginning of a configuration file for the Security kind can be seen below:

security.yaml
kind: Security
name: demo
label: starwars
spec:
...
validation:
alias_name: "^[a-zA-Z]+$"
...

There are five different kinds of configuration files in the Inigo platform.
More details for each kind can be found in the corresponding kind's page. All configuration kinds are available whether your service corresponds to a gateway, subgraph, or standalone GraphQL endpoint.

KindDescription
ServiceGeneral service endpoint configuration
SecuritySecurity knobs to protect your endpoint
AccessDefine access control policies
RateLimitRate limit different parts of your schema
ObserveLet you define advanced configurations to observe your api
ChecksLet you configure schema processing and linting checks

Pro Tip

Enable suggestions and validation for your Inigo YAML configuration files by specifying the schema your editor should follow. To do this, add the following line at the beginning of your file:

# yaml-language-server: $schema=https://docs.inigo.io/schemas/inigo.<kind>.schema.json

Example:

service.yaml
# yaml-language-server: $schema=https://docs.inigo.io/schemas/inigo.service.schema.json
kind: Service
name: gateway
spec:
path_trace_id: header.X-Trace-ID