The latest release of Green Screens Services V5 for IBM i brings Auto-update Agent. A service module and desktop client tool to auto-update Green Screens Server with support for corporate environments.
When installed for the first time as a web module, auto-update will start automatically from an initially defined URL location. However, the auto-update module can be configured to custom update locations.
This is ideal to simplify updates for corporate environments where access to the Internet is limited or there are multiple Green Screen Servers.
Local update server
To change default values to a local server, change update URL address and SHA1 hash value of received update definition JSON file.
Scheduling an update
We also updated Scheduling Manager with a new task type called “Service Event”. A generic event trigger which can be used to send events to other web modules by its name.
As Auto Update Agent is an independent web module, it can be triggered at a specific time also. Simply, add a schedule task of type “Service Event” named “service.update”. Green Screens Server Task Scheduler will trigger an event at specified time to start auto-update and auto-restart all updated modules.
Client Update Agent
Client Update Agent is a native console app for 64bit version of MS Windows or Linux which purpose is to download and prepare files for local update server.
For an example, if a company is using DMZ (demilitarized network zone). This tool can be used in DMZ to automatically download new updates to local update server.
Client Update Agent use environment variables for setup. Here is a simple example.
set GS_AUTOUPDATE_HASH=42342452345234452452345
set GS_AUTOUPDATE_PATH=c:\server\standalone\deployments
set GS_AUTOUPDATE_URL=https://www.greenscreens.io/update/update.json
update.exe
Local server
If Internet access is not available or update is not available from greenscreens.io domain, any local server will do as NginX, Apache or so as an update server for Green Screen Services. Master update URL is a simple JSON structure pointing to update files URL's and their SHA1 hash URL files used to validate downloaded files before applying them to the system.
Here is simple update JSON definition file example:
{
"core" : {
"admin.war" : {
"hash" : "https://share.greenscreens.io/f/eacbafeaacfebabacefeba/?dl=1",
"url" : "https://share.greenscreens.io/f/1243124312431243/?dl=1"
}
}
}
Conclusion
The new Green Screens Server v5 release is a highly modular system compared to previous versions allowing us to develop extra usability tools, independent of web terminal and web spool printer.
Only restart sensitive services in Green Screens Server v5 are those related to live web terminal and printer sessions. All other service can be hot-deployed and hot-restarted without interfering end user operations. This allows use of different update JSON definitions. For an example, if GS V5 Core is stable and locked on production for specific release/version, other independent extra modules can be left enabled for auto-update process.