Version 3, last updated by Sean Connelly at March 09, 2010 23:02 UTC
Atmus Installer
Atmus and Atmus Broker are dependent on the installation of...
- GT.m, and
- LightTPD
GT.m is currently downloaded from source forge as a tar file and installed using an installation script.
One of the key objectives of Atmus is to simplify the installation and configuration of GT.m so that:-
- Novice developers can start using GT.m straight out of the box
- Developers have a rapid and productive development environment
- Novice administrators have simple to use tools for setting up and managing live GT.m instances (GUI based monitoring, journaling, backups and repairs)
GT.m is a Linux (and UNIX) based product that requires an intermediate understanding of administrating Linux and GT.m from a Linux command line. In particular software developers coming from a windows background will often find this a frustrating process. Atmus will remove as much of this brick wall as possible so that complete novices can be up and running in a matter of minutes.
In order to do this Atmus will make a number of decisions on how GT.m is packaged and installed.
To begin with Atmus will package the latest version of GT.m for Linux within its own tar file. Atmus will come with an installation script that will unpack this tar file and install both GT.m and Atmus in one installation process. This installation script will need to perform the following actions:-
- Create a new Linux group called "Atmus"
- Create the directory /opt/lsb-gtm/{gtm-version}
- Call the GT.m configure script with the following decisions...
- Installation target is /opt/lsb-gtm/{gtm-version}
- GT.m will belong to the "Atmus" group
- GT.m will default to UTF-8 support
- Increase the size of shmmax for 32k global support
- Create directories for the Atmus installations
- Install the Atmus Core
- Install the Atmus Broker
- Install the Atmus Manager
- Install the Atmus IDE server side API
- Create a new GT.m instance for the Atmus Core
- Install a boot up script so that the main Atmus service is started.
This installation can be simplified further for debian distributions using an apt-get installer.
Optionally Atmus should provide an alternative package without GT.m for seasoned developers and administrators that want to manage the installation of GT.m directly.
Atmus managed code will use libraries and projects to group related code in the following structure...
/opt/atmus/libraries/{domain}/{project}/{version}/
/opt/atmus/projects/{domain}/{project}/{version}/
The various Atmus libraries will be installed in the following directories...
/opt/atmus/libraries/atmus/core/0.1/
/opt/atmus/libraries/atmus/core/0.1/
General Atmus scripts will be installed into...
/opt/atmus/scripts/
Object code will be seperated from M source code and will be grouped into a single instance directory...
/opt/atmus/compiled/{instance}/
Temporary Atmus files will us the following directory...
/opt/atmus/temp/
The default location for database files will be...
/var/lib/atmus/data/{instance}/
A default database for the main Atmus core instance will be created in...
/var/lib/atmus/data/atmus/
The Atmus installation script should be readable and easy to amend so that customised versions of the script can be created. For instance, this will enable administrators to set up alternative locations for database files.
The default Atmus instance and user defined instances created via Atmus will have journaling and backups disabled by default. The Atmus manager will provide a simple GUI for setting up and enabling journaling and backups. In developer mode the Atmus start up script will automatically rundown databases during the core start up script. Events like this will be reported in the Atmus log.
In live mode the Atmus manager will provide GUI based tools for managing and repairing databases.
The installation scripts should be defensive and gracefully deal with problems. The installation scripts should also be able to repair installations that do not complete.
Once installed the Atmus manager will provide a much simpler approach to installing updates and completely new library code. The www.atmus.org site will provide a repository for Atmus libraries and third party libraries that want to also use Atmus as a method of managing and deploying code.
All libraries, including incremental updates will be packaged as complete library installations and organised into domains (e.g. organisation), library (product name) and version. The Atmus manager will provide a view of the libraries available. The Atmus manager will automatically download and install selected libraries. Atmus workspaces (GT.m instances) can be configured to use any version of an installed library. This same mechanism could be used to seamlessly download and install the latest version of GT.m from the Atmus manager screen. These would be repackaged GT.m downloads that would use local Atmus parameters for the installation.