Skip to content

Service Instance Reference Configuration

A Service Instance Reference defines how to connect to a service instance within Vidos. This configuration is used throughout the system to specify which service instance should be used for specific operations.

Service Instance References use the type field determining the reference type:

{
// Reference to a specific instance
"type": "instance",
"resourceId": "string",
"serviceRole": {
// Service Role Reference - see Service Role Reference documentation
"owner": "account" | "managed",
"resourceId": "string"
}
}
// OR
{
// Reference to a managed instance
"type": "managed"
}

A reference to a specific service instance. Requires both a resource identifier and a service role.

  • Type: string (enum)
  • Required: Yes
  • Value: "instance"
  • Description: Identifies this as a reference to a specific instance
  • Type: string
  • Required: Yes (when type is "instance")
  • Description: The unique identifier for the service instance
  • Format: String identifier that references the specific instance
  • Type: object (Service Role Reference)
  • Required: Yes (when type is "instance")
  • Description: The role that should be used when accessing this instance
  • Format: See Service Role Configuration

A reference to a managed instance. Managed instances are automatically configured by Vidos.

  • Type: string (enum)
  • Required: Yes
  • Value: "managed"
  • Description: Identifies this as a reference to a managed instance

In gateway configurations, Service Instance References are extended to include a service field that specifies the service type. This allows the gateway to route requests to the appropriate service:

{
"paths": {
"auth": {
"destination": {
"type": "managed",
"service": "authorizer"
}
}
}
}

Authorizer configurations use Service Instance References to specify which validator and verifier instances should be used for policy enforcement:

{
"policies": {
"validate": {
"skip": false,
"validator": {
"type": "instance",
"resourceId": "main-validator",
"serviceRole": {
"owner": "account",
"resourceId": "custom-validator-role"
}
}
},
"verify": {
"skip": false,
"verifier": {
"type": "managed"
}
}
}
}

Verifier configurations use Service Instance References to specify which resolver instance to use for getting key material.

{
"resolver": {
"type": "instance",
"resourceId": "my-resolver-instance",
"serviceRole": {
"owner": "account",
"resourceId": "my-resolver"
}
}
}

Service instance references can point to various types of services based on the context. The primary service types include:

  • authorizer: Handles authentication and authorization
  • resolver: Performs identifier and address resolution
  • validator: Applies validation rules to data
  • verifier: Performs verification of credentials and claims