Skip to content

Configuring DAM extensibility

This topic describes how to configure DAM extensibility in the configuration folder for Helm packages.

Configure DAM extensibility

Rendition and plug-in configurations are currently maintained as config maps. You can find these config maps (renditions-extensibility.json and plugin-extensibility.json) in the Helm configuration folder. You can deploy these into DAM through a Helm upgrade.

Refer to the section Planning your container deployment using Helm for more information on Helm support.

Once configured, DAM gets the latest config maps to handle assets and their transformations.

You must change the JSON files so the predefined values.yaml file is updated with the latest configuration.

configuration:
    # Digital asset management configurations
    digitalAssetManagement:
      # Configuration for extensibility
      extensibility:
        # File path for the rendition config JSON file
        renditionConfigFile: "configurations/renditions-extensibility.json"
        # File path for the plugin config JSON file
        pluginConfigFile: "configurations/plugin-extensibility.json"

Configure plug-in security

When using DAM extensibility, plug-ins come with security enabled by default. API requests are authenticated with the security key, which is sent and validated in both Plugin-API and Callback-API requests. You can configure these under the same config file (under security configuration) with the value authenticationKey. This value is sent for the plug-in configuration key attribute, and is sent by DAM with each request to authenticate.

# Security related configuration, e.g. default credentials
  security:
    # Security configuration for Image processor
    imageProcessor:
      # Authentication key for Plugin API
      authenticationKey: "PluginSecretAuthKey"

Sample key attribute of plug-in config:

{
    "plugins": {
        "image-processor": {
            "url": "http://localhost:8083/api/external/image",
            "key": "IMAGE_PROCESSOR_PLUGIN_SECRET_KEY",
            "actions": {
                "crop": {
                    "params": {}, 
                    "url": "/crop"
                },
                "resize": {
                    "params": {}, 
                    "url": "/resize"
                },
                "rotate": {
                    "params": {}, 
                    "url": "/rotate"
                }
            }
        },
        "thirdparty-image-processor": {
            "url": "http://localhost:8083/api/external/image",
            "key": "THIRD_PARTY_PLUGIN_SECRET_KEY",
            "actions": {
                "resize": {
                    "params": {}, 
                    "url": "/resize"
                }
            }
        }
    }
}

Last update: June 14, 2022