DDA Core Modules
ddaConfiguration
A configuration
- provides the effective Configuration and
- validates it
for specific ExecutionContexts.
ddaInit
The ddaInit crate provides an consistent cm environment across the different underlaying systems (dedicated node, vm, docker container, ...). After this phase the underlaying system has
- openssh installed and the service running,
- a pallet user configured and
- ssh authorized keys configured.
ddaBase
The ddaBase provides
- Instance-Support : The install and configuration phase, both are instance aware, so the software can be installed single or multiinstance.
- StateManagement : Different states will sprawl across the modules if not governed. So in DDA, the state is allowed only in one place - in the dda-base-crate. Therefore dda-base-crate reads and writes a statefile per module, where the module can manage its state.
- Version Management : After the first installation the modules will evolve and get new features and improvements. In order to support all the existing nodes, ddaBase supports versioned modules and an upgrade mechanism. To support different step sizes, collected upgrades are possible.
- Versions are handled on crate level. In code, the old version will be available as artifact, on nodes each crate will have its own state-mgm file.
ddaBase is a core crate and is used by other crates for an uniform environment to provide the features above.