Skip to main content
Version: Next

WRPR Configuration Reference

This reference documents the configuration variables used by the one-wallet-relying-party-registry service.

info

As a Spring Boot application, the WRPR supports additional standard Spring Boot properties beyond those listed here. For comprehensive Spring Boot configuration options, refer to the Spring Boot Common Application Properties.

The variables documented below are either:

  • Required for functionality
  • Commonly configured for deployments
  • Custom properties specific to Procivis One

Spring Database Configuration

VariableTypeDefaultDescription
spring.datasource.urlstring-Database connection URL (format: jdbc:mysql://${MYSQL_HOST}:port/${MYSQL_DB})
spring.datasource.usernamestring-Database username
spring.datasource.passwordstring-Database password
spring.datasource.hikari.connectionTimeoutinteger30000Maximum time (ms) to wait for connection from pool
spring.datasource.hikari.maximumPoolSizeinteger10Maximum number of connections in the pool
spring.flyway.enabledbooleantrueEnable/disable Flyway database migrations
spring.flyway.locationsstringclasspath:db/migrationLocation of Flyway migration scripts
spring.jpa.hibernate.ddl-autostring-Hibernate DDL auto mode (for example, validate, update, create)
spring.jpa.open-in-viewbooleantrueEnable Open Session in View pattern

See the mariadb docs for further configurations.

Server and HTTP Settings

VariableTypeDefaultDescription
server.portinteger8080HTTP port for the application server
server.tomcat.accessLogEnabledbooleanfalseEnable Tomcat access logging
server.tomcat.accessLogPatternstring-Pattern for Tomcat access logs (for example, "%a %t %r %s %b")
server.tomcat.relaxed-query-charsstring-Characters allowed in URL query strings without encoding
spring.mvc.async.request-timeoutinteger-Async request timeout in milliseconds (30 minutes recommended for large CSV exports)

Service Integration

Core Integration

All WRPR deployments require integration with the Procivis One Core service.

VariableTypeDefaultDescription
core.enabledboolean-Enable Core service integration
core.urlstring-Core service base URL
core.api.authenticationstring-Authentication mode: UNSAFE_NONE, UNSAFE_STATIC, or STS
core.api.staticTokenstring-Static authentication token if using UNSAFE_STATIC mode (must match Core's app.authToken or ONE_app__authToken)
core.history.export.entryLimitinteger-Maximum number of entries for history export operations

Authentication

VariableTypeDefaultDescription
auth.modestring-Authentication mode: UNSAFE_NONE, UNSAFE_STATIC, or STS
auth.staticTokenstring-Static authentication token (if using UNSAFE_STATIC mode)
auth.stsTokenValidation.audstring-Expected audience claim for STS token validation
auth.stsTokenValidation.issstring-Expected issuer claim for STS token validation
auth.stsTokenValidation.jwksUristring-JWKS endpoint URL for STS token verification
auth.stsTokenValidation.ttlJwksinteger-Time-to-live for cached JWKS keys (in seconds)
technical.tokenenabledBoolean-Enable WRPR as a technical user of your IAM
technical.tokeniamTokenEndpointUrlstring-Issuer URL of your IAM provider. Used to validate tokens issued to WRPR.
technical.tokenclientIdstring-Client ID of the WRPR service account in your IAM provider
technical.tokenclientSecretstring-Client secret of the WRPR service account in your IAM provider
technical.tokenstsTokenEndpointUrlstring-STS token issuer URL of your BFF service

Application Configuration

VariableTypeDefaultDescription
spring.application.namestring-Application name identifier
spring.config.importstring-Import additional configuration files (for example, environment-specific properties)
spring.profiles.activestring-Active Spring profile(s)
spring.main.banner-modestringconsoleSpring Boot banner display mode
app.versionstring-Application version identifier
app.configurationPathstring-Specify the path to the configuration file (for example: "/app/config.json")
app.stacktrace.enabledboolean-Enable/disable stacktrace in error responses
typestring-Deployment environment type (for example, localdev)

APIs

VariableTypeDefaultDescription
app.enableExternalEndpointsstring-Enable publicly accessible endpoints for querying registered wallet-relying parties
app.enableManagementEndpointsstring-Enable internal management endpoints: /api/*
public-api.privateKeystring-Private key for signing JWTs of the public API
public-api.audstring-Audience to be specified in JWT header
public-api.issstring-Issuer to be specified in JWT header
public-api.maxTokenValiditystring-Maximum validity in seconds of the JWTs

Certificate Signing

VariableTypeDefaultDescription
registrationCertificateProvider.certificatePolicyurl-URL for certificate policy
registrationCertificateProvider.signerstring-Core config instance to use for signing Registration Certificates
accessCertificateProvider.signerstring-Core config instance to use for signing Access Certificates

History Configuration

VariableTypeDefaultDescription
history.typestring-History storage backend type, only REMOTE_REST supported
history.enabledboolean-Enable/disable history; pushes to Core history endpoint

Management and Monitoring

VariableTypeDefaultDescription
management.endpoints.access.defaultstring-Default access level for management endpoints
management.endpoint.health.probes.enabledboolean-Enable Kubernetes health probes
management.endpoint.health.accessstring-Access level for health endpoint (for example, unrestricted)
management.endpoint.info.accessstring-Access level for info endpoint (for example, unrestricted)
management.endpoint.prometheus.accessstring-Access level for Prometheus metrics endpoint (for example, unrestricted)

API Documentation (Springdoc)

VariableTypeDefaultDescription
springdoc.show-actuatorboolean-Include Spring Boot Actuator endpoints in API docs
springdoc.api-docs.versionstring-OpenAPI specification version (for example, openapi_3_1)
springdoc.packages-to-scanstring-Package names to scan for API documentation
springdoc.paths-to-matchstring-Path patterns to include in API documentation (comma-separated)
springdoc.cache.disabledboolean-Disable API documentation caching
springdoc.swagger-ui.operations-sorterstring-Operation sorting method in Swagger UI (for example, alpha)

Data Serialization

VariableTypeDefaultDescription
spring.jackson.serialization.write_dates_as_timestampsbooleanfalseSerialize dates as timestamps vs ISO-8601 strings
spring.jackson.deserialization.read-unknown-enum-values-using-default-valuebooleanfalseUse default enum value when encountering unknown enum values during deserialization
spring.jackson.default-property-inclusionstring-Default property inclusion strategy (for example, NON_NULL)

Logging

VariableTypeDefaultDescription
logging.level.org.springframework.securitystring-Log level for Spring Security (for example, DEBUG, INFO, WARN)