Start sequence
Regardless of plattform start sequence looks the same. Server uses the bundled JRE located under <phenixid server root>/jre. Status of start sequence can be found in server.log.
Initial load - from bootstrap file
On startup PhenixID server locates and load the bootstrap file, boot.json. Modules defined in boot.json is loaded and started on the current node.
Failing to parse, load or start module will result in shutdown. Cause of startup failure is logged in log file.
If /mods directory does not contain required modules PhenixID server starts installing modules, (install sequence is described later). When all modules are successfully started PhenixID server proceed to loading node specific configuration.
Additional load - from configuration store
After initial load PhenixID server node verifies access to configuration store where it tries to find it self. If not found the node creates an entry using the hostname as the key.
If node entry is found the node runs through the list of modules it has assigned and tries to load and start the module.
Load or start failure will result in shutdown.
If /mods directory does not contain required modules PhenixID server starts installing modules, (install sequence is described later). When all modules are successfully started PhenixID server startup is complete.
Since the boot preccess is asynchronous the start sequence may behave diffrently between startup due to external factors such as network speed or external database speed.
Module installation
When a node requires a specific module it tries to locate it in a number of predefined sources. Source list is found in repos.txt under <phenixid server root>/classes. Sources are tried starting from the top.
No internet access i required for base installation. All necessary modules are pre bundled and found under the repo directory.