Service
Service config allows you to configure global (system) service settings, related to overall Inigo agent operability.
Configurations starting with path_
are telling the Inigo agent how to fetch key information used to process and analyze the request. These paths can be configured to fetch data from the request header, jwt token, or ctx object for middleware deployments.
Sample Config
service.yaml
kind: Service
name: demo
label: starwars
spec:
path_user_profile: jwt.user_profile
path_user_role: jwt.user_roles
path_user_id: jwt.user_name
anonymous_profile: guest
anonymous_roles:
- viewer
# Only applicable for sidecar deployments
polling_interval_schema: 300
enable_extensions_output: true
Spec
This section defines the format of Inigo's Service
type configuration files. Fields marked as required
must be specified if the parent is defined.
Field | Type | Description |
---|---|---|
registry | string | Attach registry to the service. |
path_trace_id | string default:"header.Inigo-Router-TraceID" | Path to the Trace ID header. Inigo can fetch the trace id from a header, ctx, or jwt. In each case prefix the path with the corresponding source. For example: "header.TRACE_ID" |
path_user_profile | string | Path to a user profile header. For JWT headers, you can use jwt.user_profile or jwt.<some_path_to_user_profile_key> . |
path_user_role | string | Path to a user role header. For JWT headers, you can use jwt.roles or jwt.<some_path_to_user_roles_key> . |
path_user_id | string | Path to a user ID header. For JWT headers, you can use jwt.user_id or jwt.<some_path_to_user_id_key> . |
path_client_info | string | Path to the client version header. |
path_client_address | string | Path to get the client address. Inigo can fetch the client address from headers only. If not provided agent will attempt to get data from the headers in the following sequence: 1. x-real-ip 2. x-forwarded-for |
path_organization_id | string | Path to organization id. examples: header.organization_id , jwt.<some_path_to_organization_id_key> or ctx.organizationId . |
path_user_state | string | Path to user state to be matched with minimum required state of the query. |
introspection_query_file | string | |
introspection_header | object | |
polling_interval_schema | int | Interval (in seconds) to poll the GraphQL schema from the application. |
polling_interval_profile | int | Interval (in seconds) to poll new configurations. |
enable_extensions_output | boolean | Enable the exposure of the GraphQL extensions response key. |
anonymous_profile | string | Name of an anonymous profile. |
anonymous_roles | [string] | List of roles that are considered anonymous. |
schema_files | [string] | Relative path to the filesystem location of your files containing GraphQL schemas. For example: ../../schemas/prod.graphql . |
reduct_extension_output | [string] | List of extensions JSON keys to reduce from the response. |
failure_mode | string default:open | Default action to take upon failure mode. One of: - open : Pass failed requests to the service.- block : Blocks failed requests from reaching the service.- query_only : Blocks failed requests from reaching the service. |
url | string | Public facing URL of the service (used to configure the ui playground) |
collect_variable_values | CollectVariableValues | Enable collection of query variable values. To omit certain sensitive inputs use the omit_args and omit_input_fields configurations. |
CollectVariableValues
Field | Type | Description |
---|---|---|
enabled | boolean | |
omit_args | [CollectVariablesOmitArgs] | |
omit_input_fields | [CollectVariablesOmitInput] |
CollectVariablesOmitArgs
Field | Type | Description |
---|---|---|
type | string | |
field | string | |
arg | string |
CollectVariablesOmitInput
Field | Type | Description |
---|---|---|
input | string | |
field | string |