Initial Start - adamantius7877/Luna GitHub Wiki

Introduction

This page goes over the process of what Luna does when first loaded.

Initial Prototype

  1. Uses redis to see if a "nervous" system already exists and connects to it if so
  2. If no existing system is detected then it looks for local configuration files that might already exist at the current and default locations (if they differ)
  3. If configuration files are found then the system will validate what all configurations are found and use default values for any not found. The system will validate after rebuilding the configuration files and make sure that everything works together that has to. Any invalid configurations will currently be overridden by the default value but eventually I would like the system to hang on to existing configuration conflicts for after the system has been rebuilt and is operational so that Luna can go through them and see if they can be salvaged.
  4. Once the configuration files have been initialized then the system starts
  5. Upon starting, the system attempts to start the "nervous" system.
  6. Once the "nervous" system is online Luna then attempts to start the configured senses

Any attempt to start or connect to a service that fails triggers the system to go into "recovery" mode. Recovery mode will evaluate the health of the system and see what parts exist and what needs to be setup/fix/reconfigured