Deploying Extensions

Overview

Extension deployment processing steps

Upon extension upload 

  • Extension Service validates manifest and copies Jar to tmp dir 
  • Attempts to start the extension
  • If started, save Jar and Manifest info to DB
  • Broadcast to other nodes to start
  • Extensions are tracked by the manifest attribute 'extension-id'. Hence, we won't load two versions of the same thing. In case of multiple, the last jar will win

Upon extension reload

  • Extension service stops current plugin
  • Deletes current extension
  • Moves new extension to tmp dir
  • Starts new extension

On extension delete

  • Stops and deletes extension from tmp dir
  • Deletes extension from DB
  • Disassociates from all RP Apps

Upon server shutdown

  • Extension Service unloads all extension in tmp dir
  • Jar and config data stays persisted in the DB

Deploying in a cluster

The deployment process is the same for the cluster. Upon upload via CC UI:

  • Extension is started on the node processing the upload
  • If successful, the extension Jar is stored in the DB  
  • A cluster broadcast msg asks the other nodes to load the extension from DB and start it

Step 1 - Upload

Extensions can be added to the server by uploading via the Control Center UI. Admin access to Control Center is needed.
The extension will automatically be propagated to all nodes in case of a cluster.

Step 2 - Associate

Extensions must be associated with one or more RP Applications in the Control Center.

The Extension(s) associated with an RP Application will receive callbacks when the RP Application is used for registration or authentication.