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:

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