Configuration #
The Universal ID Server configuration is written in YAML and saved in a file named
application.yaml
which is then mounted under the /deployments/config
dir of the container.
Creating a new profile is pretty straightforward, there are a few required components which must be configured along with some optional components.
Template #
Below is a template of the structure of an application.yaml
file showing the different components
that can be configured:
# Profile
"%profile-name":
universalid:
# License
license-key:
# Logger
log:
# Datasource
datasource:
# HTTP
http:
# Initialize database tables for configured schemas
initialize-database:
# Add SCIM core User resource
add-default-resources:
# Configure Swagger UI
swagger-ui:
# Define the User resources
resources: [
{
...
}
]
# Define the schemas for each resource and extension
schemas: [
{
...
}
]
Profile (required) #
At the root level of the configuration is the profile name. The name needs to be
quoted and prefixed with %
e.g. "%my-profile
. It acts as a namespace, allowing you to define
multiple profiles in one file.
After the name, the universalid
namespace contains the application’s configurable components.
Licence Key (optional) #
The application’s license key. Without a license, filter requests with more than one filter and editing resources functionality is disabled.
Logging (optional) #
If logging is not configured it will default to INFO
level.
Datasource (required) #
The connection details to the PostgreSQL database.
HTTP (required) #
Configure HTTPS, mTLS and other authentication options.
Database initialization (optional) #
Initialize the database and create the tables based in the configured resources and schemas.
Warning
This setting should only be used in non-production environments.
Default resources (optional) #
Adds the SCIM core User resource schema as defined in the SCIM 2.0 specification.
Swagger UI (optional) #
Enable/disable Swagger UI. By default it is disabled.
Resources (required) #
The User resources and their extensions.
Not required if:
add-default-resources: true
Schemas #
The schema definitions with the attributes of the resources and their extensions.