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.
Configuration Schema
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"
}
Configuration Options
Instance Reference
A reference to a specific service instance. Requires both a resource identifier and a service role.
type
- Type:
string
(enum)
- Required: Yes
- Value:
"instance"
- Description: Identifies this as a reference to a specific instance
resourceId
- Type:
string
- Required: Yes (when
type
is "instance"
)
- Description: The unique identifier for the service instance
- Format: String identifier that references the specific instance
serviceRole
- 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
Managed Reference
A reference to a managed instance. Managed instances are automatically configured by Vidos.
type
- Type:
string
(enum)
- Required: Yes
- Value:
"managed"
- Description: Identifies this as a reference to a managed instance
Usage Patterns
Gateway Service Configuration
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 Configuration
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 Configuration
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 Types
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
Related Resources