Configuring jdbc.properties for Kyvos Manager
This documentation is for Kyvos 2026.4.x. To view documentation for other Kyvos versions, click here. |
|---|
This section explains how to configure the jdbc.properties file used by Kyvos Manager to establish the JDBC connection with its PostgreSQL repository. This configuration ensures that Kyvos Manager can correctly access and manage its repository database.
Important
From Kyvos 2025.10 onwards, heterogeneous repository types are no longer supported.
Kyvos Manager supports and uses Postgres as its repository. Data source configuration is set in file jdbc.properties, located at kyvosmanagerdata/server/db/.
By default, Kyvos Manager uses installed Postgres as its repository. However, in cloud-based deployments, Kyvos Manager also supports using an external repository for AWS (RDS), or Azure (Flexible Server), GCP (CloudSQL).
For automated deployment (default Path), the location of the Kyvos Manager data folder is /data/kyvos/installs/kyvosmanager_war/
For non-automated deployments (i.e., on Prem or wizard-based deployments in a cloud environment), its location will be inside the kyvosmanager_war folder that was created initially.
Kyvos Manager has been enhanced to wait for the external repository to become fully operational during startup, similar to the behavior of the Analytical Server.
The following properties must be added or updated in the jdbc.properties file of the Kyvos Manager:
AWS:
repoIdentifier- Name of the Kyvos Manager PostgreSQL Server.
Azure:
repoIdentifier- Name of the Azure Database for PostgreSQL Flexible Server (Kyvos Manager).
resourceGroupName- Name of the resource group containing the PostgreSQL Flexible Server for Kyvos Manager.
repoInstallationDataDirPathPrefix= The default path is /var/lib/pgsql.
GCP:
serviceAccountName- Name of the service account.
jdbc.url- IP of the repository
Enter IP of the CloudSQL Kyvos Manager repository.
Enter IP of the installed PostgreSQL Kyvos Manager
Enter IP of the bundled PostgreSQL Kyvos Manager
cloudProvider- Enter cloud provider name.
SecretStoreIdentifier: Enter the name of the secret.
projectName: Enter the project name.
repoIdentifier: Enter the name of Cloud SQL of Kyvos Manager.
useBundledRepo: Set the value to true or false. By default, the value true is set.
true: If you use bundled repository.
false: If you use installed/cloudSQL repository.
manageBundledRepoService: Set the value to true or false. By default, the value true is set.
true: If you use bundled repository.
false: If you use installed/cloudSQL repository.
installedRepo=
Set the value to true or false. By default, the value is set to false.true: If you use installed repository.
false: If you use bundled/ cloudSQL repository.
Properties of jdbc.properties
jdbc-related core properties
jdbc.driverClassName=org.postgresql.Driver
jdbc.dialect=org.hibernate.dialect.PostgreSQLDialect
jdbc.url=jdbc:postgresql://localhost:45421/kmrepo
jdbc.username=kmdbuser
jdbc.password=
Password encryption-related configuration
cryptographyAlgorithm=AES_128_GCM
Cloud-specific configuration properties
secretStoreIdentifier=
cloudProvider=
projectName=
serviceAccountName=
repoIdentifier=
installedRepo=
Set the value to true or false. By default, the value false is set.
true: If you use installed PostgreSQL repository.
false: If you use bundled/cloudSQL repository.
Bundled Postgres management-related configuration values
useBundledRepo=true
homePathBundledRepo=
manageBundledRepoService=true
Installed Postgre16 Repository management-related configuration values:
repoInstallationDataDirPathPrefix=/var/lib/pgsql
installedRepo=
Set the value to true or false. By default, the value false is set.true: If you use installed Postgres repository.
false: If you use bundled/ cloudSQL repository.
Configuring jdbc.properties
You can configure jdbc properties for:
Automated deployment
Bundled Postgres: No manual configuration is necessary in jdbc.properties since it works well with default configuration values provided in jdbc.properties.
External Repository (AWS RDS, Flexible server, CloudSQL): No manual configuration is required in jdbc.properties as everything is configured automatically.
Installed PostgreSQL Repository: No manual configuration is required in jdbc.properties as everything is configured automatically.
Wizard based deployment
Bundled Postgres: No manual configuration changes are required in the jdbc.properties as everything works well with default provided configuration values in jdbc.properties
External Repository (AWS:RDS, Azure: Flexible server, and CloudSQL):
Before configuring the jdbc.properties file, ensure that Kyvos Manager is not started.
Replace the server name in jdbc url with the FQDN server name of the external repository instance, port and SSL.
For example, jdbc.url=jdbc:postgresql://kyvosmanager-postgresserver-5122.postgres.database.azure.com:5432/kmrepo?sslmode=requirejdbc.username should be kmdbuser.
Set the value of useBundledRepo and manageBundledRepoService to ‘false.’
For other properties for GCP, check here.
Installed PostgreSQL Repository: Set the value true or false.
true: If you use installed Postgres repository.
false: If you use bundled/ cloudSQL repository.
Depending on whether switching from bundled to external or external to bundled, you need to set some properties values and making values of irrelevant properties as blank.
Changing jdbc.properties
Case 1
To use an external repository for Kyvos Manager either during fresh deployment or upgrade or switching to an external repository as a Kyvos Manager repository, in this case, you must update the following properties in the jdbc.properties file.
Set the value of useBundledRepo and manageBundledRepoService to ‘false.’
jdbc.url
repoIdentifier
Important
When you switch to an external repository, such as the Kyvos Manager repository, while currently using bundled Postgres, data migration from the bundled Postgres to the external repository becomes a prerequisite and a manual activity.
You must use the export and import commands for database.
Case 2
Update the following properties when migrating from external repository to bundled Postgres:
Set the value of useBundledRepo and manageBundledRepoService to true.
Set the appropriate value for the homePathBundledRepo property.
Specify the jdbc.url
Leave the external repository-related properties blank.
Important
When you switch to a bundled repository as the Kyvos Manager repository while currently using the external repository, data migration from the external repository to a bundled repository becomes a prerequisite and a manual activity.
You must use the export and import commands for database.
Case 3
Update the following properties when migrating from Flexible Server to Single Server:
jdbc.url
jdbc.username
Note
In the jdbc file,
If using Single Server, you must add @servername in the username field.
If using Flexible Server, you must remove @servername from the username field in the jdbc file.
Other properties
The username and password must be updated if they are not the default.
jdbc.username=kmdbuser
jdbc.password=
During Kyvos Manager bootup or cluster deployment, it will be encrypted even if a password is added in plain text. If a plain text password is provided, ensure that the value for the property cryptographyAlgorithm is blank.
After restarting Kyvos Manager or completing the cluster deployment, if the specified password is used, it will also be moved to the secret used in the cluster.
After the cluster deployment, the following properties automatically configured through Kyvos Manager if external repository is in use as Kyvos Manager repository.
secretStoreIdentifier
cloudProvider
projectName
serviceAccountName
Warning
Do not modify the values for jdbc.driverClassName and jdbc.dialect properties. Kyvos Manager currently only supports Postgres as its repository and is certified to use it.
When changing the database server or switching between bundled and external, update the IP, port, or SSL attributes as applicable in the jdbc.url.
jdbc.url=jdbc:postgresql://localhost:45421/kmrepoThe value of the ‘localhost’ must be REPLACED with the ACTUAL hostname or IP.