Ops Agent
With a vision for AgoraOps personnel not being a full time developers it should be easy enough for them to change configuration or push configuration to edge apps running on gateway from outside or from any simple UI Interface.
In general, the Ops Agent watches for *.zip files in its FileIn folder. When files arrive, it starts a state machine to move the file to a working folder, unzip it, Update (more below), and the move to a Processed folder. If there are errors during any of this the agent will log that - and in the future, notify AgoraOps.
During Update there are several options. There are three behaviors supported in the config file: REPLACE, OVERLAY (default), and CLEANALL. To apply these commands to the configuration file, add a file of that name in the Root folder of the archive.
For example,
(AEABroker.zip)
/REPLACE (file) <-- the command
/AEABroker (folder) <-- the app folder
/AEA.json
/routes.json
/keys (folder)
The Ops Agent expects to have a shared volume on the host with respective path for EdgeApp Receiving Configurations like shown below, it will push/Replace/recreate .zip files to the root /Configurations path
Update Commands
REPLACE
Removes all files in every App folder and then moves the files from the zip file into the App folder. The config folder and config/keys folder are not removed, even if they don't exist in the *.zip file.
OVERLAY
Copies (and replaces) the files from the *.zip, but does not remove any existing files. This is useful if you only want to update a single file or key in the configuration.
CLEANALL
Cleans (removes all files in all apps). It does nothing with the rest of the zip file - even if it contains files... (that could be improved, but that is how it works today...)