Skip to content
Platform > Dynamic Components

Dynamic Components Quickstart

This guide adds a component to a running deployment, confirms it starts, and removes it again, without restarting AmiCore. It uses the admin console, the line-oriented control channel for the running process.

Prerequisites

  • A running 3forge Enterprise deployment.
  • The admin console port, printed in output.log at startup on a line of the form To access this admin console via command line: ssh -p 3285 user@<host>.
  • A console account. The startup line above always names user, the account a new deployment ships with. It is not updated when the deployment's accounts change, so take the port and host from that line and confirm the account against the deployment's own configuration.

Connect to the admin console

Connect over ssh to the admin console port, substituting your own account name and host:

ssh -p 3285 <account>@<host>

Confirm the connection by listing the current components:

ami.showComponents()

The result is a table of the running components, one row each, with a Status column reading RUNNING. To leave the console, enter quit.

Add a component

Add a WebBalancer named edge, running in the AmiCore process working directory:

ami.addComponent("edge", "WEBBALANCER", ".")

The console replies:

Component added: edge

The 3-argument form of addComponent both registers and starts the component, so no separate start step is needed. The addition is written to data/ami.components, so the component returns after a restart.

Confirm it is running

List the components again:

ami.showComponents()

The table now includes a row for edge, with console name ami_edge, type WEBBALANCER, and Status RUNNING. The other components keep their original start times, because adding a component does not restart the rest of the estate.

Remove the component

Remove edge:

ami.removeComponent("edge")

The console replies:

Component removed: edge

The component stops, its line is removed from data/ami.components, and ami.showComponents() returns to its original rows.

Result

A component was added to a running deployment and removed again, with no restart and no interruption to the other components. From here: