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:
Field | Type | Required | Description |
---|---|---|---|
kind | string | Yes | The type of configuration file. One of:[Service , Security , RateLimit , Observe , Access ] |
name | string | Yes | Service name |
label | string | No default: null ) | Label used to distinguish different environments such as dev , stagining , prod |
spec | object | Yes | The 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.
Kind | Description |
---|---|
Service | General service endpoint configuration |
Security | Security knobs to protect your endpoint |
Access | Define access control policies |
RateLimit | Rate limit different parts of your schema |
Observe | Let you define advanced configurations to observe your api |
Checks | Let you configure schema processing and linting checks |