Migrating to dynamic features

If you have followed the instructions in Upgrading to Caplin Platform 8 and have upgraded all components to Platform 8, then you are now ready to take advantage of Platform 8’s dynamic configuration.

Implementing dynamic features

Caplin Platform 8 provides three new dynamic configuration features that allow an adapter to provide configuration to Liberator and Transformer at the time of peer connection: Dynamic Peers, Dynamic Services, and Dynamic Fields.

Implementing dynamic configuration in your deployment, brings the following benefits:

  • For deployments that use the Deployment Framework, you no longer need to write your adapter as a Caplin Platform blade, deploy it to the framework, and restart the deployment.

  • For deployments that don’t use the Deployment Framework, you no longer need to manually paste your adapter’s configuration into Liberator and Transformer configuration files, and restart the deployment.

This increase in freedom requires a new way to handle trust. In Platform 8, a connecting component’s freedom to 'cold' connect to a deployment and configure it is managed by API keys — a shared secret that grants a connecting component a configurable level of trust.

If you wish to stage your adoption of dynamic features, we recommend you adopt them in the following order:

  1. Define API Keys and distribute them to components

  2. Implement Dynamic Fields

  3. Implement Dynamic Peers

  4. Implement Dynamic Services

1. Define API Keys

A Platform 8 API Key is a shared secret that grants a connecting component a configurable level of trust.

API Keys are not a requirement for dynamic features, but we recommend that you use them in production deployments. This recommendation extends to managed development environments too if they are critical to your projects and you wish to retain a degree of control.

Follow the steps below:

  1. Define an API key (add-apikey) in each component that receives incoming peer connections. In most deployments, this means Liberator and Transformer. When defining an API key, you also specify the dynamic features that a connecting component bearing this key may use.

    Once one API key is defined, all peers connecting to the component must bear an API key or their connection will be refused.
  2. Specify the API key in the configuration of all connecting peers (add-peer::apikey).

For detailed instructions, see:

2. Implement Dynamic Fields

Dynamic Fields is the easiest of the three dynamic features to implement.

If you upgraded all components to Platform 8 together, then you’ve nothing to do — Dynamic Fields is already enabled.

If you staged your upgrade and followed the advice above to disable Dynamic Fields until the upgrade was complete, then you can now re-enable Dynamic Fields by removing the configuration below from each component:

- datasrc-local-flags nofields

3. Implement Dynamic Peers

Follow the instructions in Enabling Dynamic Peers.

4. Implement Dynamic Services

Follow the instructions in Enabling Dynamic Services.