The Forge
Welcome to the Forge where you can build applications and expansion packs to enhance your Application Delivery Platform.(Download a Platform here)
There are 4 types of Application you can build:
Add-Ons |
Health Monitors |
flightPATHS |
jetPACKS |
Docker based applications | – Perl Based monitors | Advanced layer 7 rules | Configuration expansion packs |
The Forge is where Docker containers are turned into Smart-file applications ready for secure deployment onto an ADP.
Applications can be built and then packaged to Docker where the Edgenexus Forge can access them and built a Smart-file Application that can be deployed to their ADP.
If you think your App is useful to others or even valuable then you can apply to have it uploaded to the app store where it can be sold or provided for free.
Smart files are encoded and 3DES encrypted to a specific Machine ID.
I’m Ready to build – Take me to the Forge 🙂
How do i do it?
All Applications and expansion packs must first be built into a smart file format. The Smart fire format is 3des encrypted and contains information about your application. Its also encoded to only run on certain machines by using the MachineID. If the smartfile is distributed by the Appstore then its re encrypted for each download.
All apps require the following base information to create a smart file.
Application Name |
Application name, for example: Hello world version 10 |
MachineID |
The unique identifier of an ALB, that can be found in the System -> Licence page of ALB GUI. |
Description |
Description of application |
Application Version |
Version number of application. |
Vendor |
Your company name. |
Icon File |
Application logo in PNG format. Logo size must be less than 90 Kbytes. |
Add-Ons |
Add Ons are base on Docker images with enhanced metadata and scripting.
You can either direct convert an existing Docker image to an app or you can download the edgeNEXUS Docker base template (Right here) that contains a web server that can be used to configure and deploy scripts.
The base image will read the smart file content into the Web server GUI like below.
Once you have created your amazing new version of Hello world you can save it to a private repo on docker and then go to the Forge
The Forge will need additional information to create a Docker Add-On App
Docker Image Repository |
Docker image name, for example: mysql/mysql-server, httpd, tomcat. |
Docker Image Tag |
Docker image version, for example: latest, 14.10, centos6. |
Docker Registry |
Address of a server that stores Docker images. |
Docker Email |
If a Docker registry requires authentication, please supply your email. (not saved) |
Docker Password |
If a Docker registry requires authentication, please supply your password. (not saved) |
Docker Options |
You may supply options to ‘docker run’ command, for example to mount a host file or directory inside a container: -v /host/somedir:/container/otherdir |
Docker Environment Variables |
You may set environment variables in a container, for example: HOME=/root\nTERM=xterm.
Please use \n as a delimiter in case you supply more than one environment variable. Application GUI URL: If a Docker application has a web-based user interface, you may supply its URL here. The special term <IP> will be substituted with the IP address of a container. |
Health checks |
The Edgenexus load balancer and ADP platform can run customised application health checks.
They are based on Perl and can be passed a number of parameters from the GUI.
There are a number of examples on github you can use
Information is passed to the script using the following variables:
my $host = $_[0]; ### Host IP or name taken from the Real server IP address
my $port = $_[1]; ### Host Port taken from the Real Server config
my $content = $_[2]; ### INPUT: required content to check e.g. Server Up
my $notes = $_[3]; ### INPUT: url/Path i.e. 192.168.101.201/gary/index.html
my $page = $_[4]; ### Data GET request path (part of the URL after host address and port)
my $user = $_[5]; ### Username
my $password = $_[6]; ### Password
The script will return the following values
1 is the test is successful
2 if the test is un-successful
flightPATH |
flightPATH is the Layer 7 rules engine. More information can be found in the User guide.
Rules can be created in the GUI. The config file can then be exported and the rules removed and placed in a separate file that can be used with the forge.
The top top of each file should start with
#!jetpack
Example rules can be found on github here
Support is provided by the community here
jetPACKS |
jetPACKS are application templates
They can be downloaded form the app store or created in much the same way as a flightPATH
The top top of each file should start with
#!jetpack
Example jetPACKS can be found on github here
Support is provided by the community here