Keyfactor API appsetting.json File
The KeyfactorAPI appsettings.json configuration file allows you to view or change the Keyfactor Command Keyfactor API
An API is a set of functions to allow creation of applications. Keyfactor offers the Keyfactor API, which allows third-party software to integrate with the advanced certificate enrollment and management features of Keyfactor Command. configuration settings.
Windows Installations Under IIS
To update the appsettings.json file:
-
Navigate to the KeyfactorAPI\Configuration folder on your server, located by default at:
C:\Program Files\Keyfactor\Keyfactor Platform\KeyfactorAPI\Configuration - Browse to open the appsettings.json file in a text editor (for example, Notepad) and adjust the values as needed.
- Save the files.
{
"NLogConfigFile": "Configuration/NLog_KeyfactorAPI.config",
"NLogPoller": {
"Enabled": false,
"PollingInterval": 10
},
"ExtensionsDirectory": "Extensions",
"ActiveDirectoryEnforced": false,
"SqlRetryConfiguration": {
"NumberOfTries": "5",
"DeltaTime": "00:00:00.5",
"MaxTimeInterval": "00:02:00"
}
}
Container Installations Under Kubernetes
The configurations from the appsettings.json file can be updated in one of two ways for container installations:
-
To update one or two settings, set an environment variable in your custom values file.
-
To update a large number of settings or the entire contents of the appsettings.json file, create a ConfigMap containing the appsettings.json file contents and mount it as a volume to replace the existing appsettings.json file.
To set an environment variable for one or two configuration values:
-
On your Kubernetes server, edit your values file to add an additionalEnvironmentVariables section (if one does not already exist) and environment variable names and values for the settings to change. For example, the following shows a portion of the example values file (see Install Keyfactor Command in Containers Under Kubernetes) with the ExtensionsDirectory value set to ext.
additionalEnvironmentVariables: - name: ExtensionsDirectory value: 'ext' workloadDefaults: volumes: - name: root-cas configMap: name: ca-roots items: - key: ca-certificates.crt path: ca-certificates.crt volumeMounts: - name: root-cas mountPath: /etc/pki/tls/certs/ca-bundle.crt # Common CA bundle path for Command containers subPath: ca-certificates.crt # Source path for your CA bundle may varyNote: Parameters are referenced by full name, including parent parameter
A parameter or argument is a value that is passed into a function in an application. name, if applicable. A SQL retry configuration setting would be, for example, SqlRetryConfiguration_NumberOfTries. -
Load the new values, referencing the deployment name, Namespace, your customized values file, the Helm chart, and version. For example:
sudo helm upgrade Helm_Deployment_Name --namespace keyfactor-command --values values-local.yaml oci://repo.keyfactor.com/charts/command --version 26.2.1
To provide the appsettings.json file as a ConfigMap:
-
On your Kubernetes server, create an appsettings.json file with the full contents of the file, including the updates you want to make. For example:
Copy{
"NLogConfigFile": "Configuration/NLog_KeyfactorAPI.config",
"NLogPoller": {
"Enabled": false,
"PollingInterval": 10
},
"ExtensionsDirectory": "Extensions",
"ActiveDirectoryEnforced": false,
"SqlRetryConfiguration": {
"NumberOfTries": "5",
"DeltaTime": "00:00:00.5",
"MaxTimeInterval": "00:02:00"
}
}Important: This file needs to be called appsettings.json when you create the ConfigMap for it, not something like appsettings-keyfactorapi.json. -
On your Kubernetes server, create a ConfigMap containing the appsettings.json file. For example:
sudo kubectl create configmap appsettings-keyfactorapi --namespace keyfactor-command --from-file=/opt/kyf_command/appsettings.json -
Edit your values file to add a api section under appConfig (if one does not already exist) and a volume and volumeMount for the ConfigMap of the appsettings.json file within that. For example:
appConfig: api: volumes: - name: appsettings-api-volume configMap: name: appsettings-keyfactorapi volumeMounts: - name: appsettings-api-volume mountPath: /app/Configuration/appsettings.json subPath: appsettings.json -
Load the new values, referencing the deployment name, Namespace, your customized values file, the Helm chart, and version. For example:
sudo helm upgrade Helm_Deployment_Name --namespace keyfactor-command --values values-local.yaml oci://repo.keyfactor.com/charts/command --version 26.2.1
Configuration Settings
The following table shows the configuration settings for the Keyfactor Command KeyfactorAPI application available in the appsettings.json file.
Table 74: KeyfactorAPI Appsetting.json File Parameters
| Setting | Description | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
ActiveDirectoryEnforced
|
A Boolean that indicates whether Active Directory authentication is in use for the Keyfactor Command server (True) or not (False). This should be set to False if you are not using Active Directory. An IIS reset is required to apply changes to this setting. | ||||||||||
|
APILockRetryConfiguration
|
These settings control retry and timeout behavior for API requests. They are not included by default and can be added manually if needed. If not configured, the default values shown below are used. These settings are supported only by select API operations (for example, PUT Security Roles ID Claims (v2)). An iisreset is required following changes to this setting.
|
||||||||||
|
ExtensionsDirectory
|
Enter the file path to the extensions to be loaded by the extension loader (for support of custom extensions such as registration handlers and workflow steps). The default value is Extensions. For Windows installations under IIS, this is a subdirectory of the KeyfactorAPI directory. This translates to, for example, for Windows installations under IIS: C:\Program Files\Keyfactor\Keyfactor Platform\KeyfactorAPI\Extensions
Container installations under Kubernetes: /app/Configuration/Extensions
|
||||||||||
|
NLogConfigFile
|
Enter the file path to the NLog_KeyfactorAPI.config file as a subdirectory of the KeyfactorAPI directory. The default is: Configuration\\NLog_KeyfactorAPI.config
This translates to, for example: C:\Program Files\Keyfactor\Keyfactor Platform\KeyfactorAPI\Configuration\NLog_KeyfactorAPI.config
This value is not used for container installations under Kubernetes. |
||||||||||
|
NLogPoller
|
If turned on, the NLog poller service periodically queries for updates to the custom NLog file.
|
||||||||||
|
SqlRetryConfiguration
|
SQL retry settings (seeChanging SQL Retry Settings for more information). |
Was this page helpful? Provide Feedback