Types of configuration
Static configuration consists of properties and settings used by the ForgeRock Identity Platform. Examples of static configuration include AM realms, AM authentication trees, IDM social identity provider definitions, and IDM data mapping models for reconciliation.
Static configuration is stored in JSON configuration files. Because of this, static configuration is also referred to as file-based configuration.
You build static configuration into the
idm Docker images during development, using the
following general process:
Change the AM or IDM configuration in the CDK using the UIs and APIs.
Export the changes to your
Build a new AM or IDM Docker image that contains the updated configuration.
Restart ForgeRock Identity Platform services using the new Docker images.
Test your changes. Incorrect changes to static configuration might cause the platform to become inoperable.
Promote your changes to your test and production environments as desired.
In ForgeRock Identity Platform deployments, static configuration is immutable. Do not change static configuration in testing or production. Instead, if you need to change static configuration, return to the development phase, make your changes, and build new custom Docker images that include the changes. Then, promote the new images to your test and production environments.
Dynamic configuration consists of access policies, applications, and data objects used by the ForgeRock Identity Platform. Examples of dynamic configuration include AM access policies, AM agents, AM OAuth 2.0 client definitions, IDM identities, and IDM relationships.
Dynamic configuration can change at any time, including when the platform is running in production.
You’ll need to devise a strategy for managing AM and IDM dynamic configuration, so that you can:
Extract sample dynamic configuration for use by developers.
Back up and restore dynamic configuration.
You can use one or both of the following techniques to manage AM dynamic configuration:
Use the amster utility to manage AM dynamic configuration. For example:
Make modifications to AM dynamic configuration by using the AM admin UI.
Export the AM dynamic configuration to your local file system by using the amster utility. You might manage these files in a Git repository. For example:
$ cd /path/to/forgeops/bin $ mkdir /tmp/amster $ ./amster export /tmp/amster ** Cleaning up amster components Packing and uploading configs configmap/amster-files created configmap/amster-export-type created configmap/amster-retain created Deploying amster job.batch/amster created Waiting for amster job to complete. This can take several minutes. pod/amster-r99l9 condition met tar: Removing leading `/' from member names Updating amster config. Updating amster config complete. Cleaning up amster components job.batch "amster" deleted configmap "amster-files" deleted configmap "amster-export-type" deleted configmap "amster-retain" deleted
If desired, import these files into another AM deployment by using the amster import command.
Note that the amster utility automatically converts passwords in AM dynamic configuration to configuration expressions. Because of this, passwords in AM configuration files will not appear in cleartext. For details about how to work with dynamic configuration that has passwords and other properties specified as configuration expressions, see Export Utilities and Configuration Expressions.
Write REST API applications to import and export AM dynamic configuration. For more information, see Rest API in the AM documentation.
You can use one or both of the following techniques to manage IDM dynamic configuration:
A ForgeRock Identity Platform configuration profile is a named set of configuration that describes the operational characteristics of a running ForgeRock deployment. A configuration profile consists of:
AM static configuration
IDM static configuration
Configuration profiles reside in the following paths in the
User-customized configuration profiles are stored in subdirectories of these
paths. For example, a configuration profile named
my-profile would be stored
in the paths docker/am/config-profiles/my-profile and
Use Git to manage the directories that contain configuration profiles.