API Reference Mishka installer v#0.1.6

Copy Markdown View Source

Modules

The MishkaInstaller.Event.Event module is the core of events, which comprises pre-prepared strategies for the implementation and management of plugins introduced to the system around various events. These implementation and management strategies are included in the Event module.

Serialises (re)compilation of the per-event plugin modules.

The MishkaInstaller.Event.Hook module provides a set of functionalities to manage event hooks within the Mishka Installer system.

The MishkaInstaller.Event.ModuleStateCompiler module is designed to dynamically create and manage event-driven modules that handle state and plugins within the Mishka Installer system. This module provides functions to create, purge, and verify the initialization state of these event modules.

Small, dependency-free helpers used across MishkaInstaller.

A focused Elixir wrapper around the Erlang :mnesia runtime database used by MishkaInstaller.

Turns raw Mnesia results into a normalised {:ok, :atomic} / {:error, error, description} shape and logs them.

Read-only introspection of the running Mnesia system.

Record-level Mnesia operations (read / write / delete / select / match).

Table lifecycle helpers (create / wait / clear / keys).

Runs Mnesia activities and maps aborted results to the installer's error shape.

Generates RFC 4122 version 4 UUIDs.

Serialises runtime library installs and replays previously installed libraries on boot.

The MishkaInstaller.Installer.Downloader module downloads a pre-built artifact — a tar.gz that contains a compiled ebin directory (ebin/*.beam + ebin/<app>.app).

When it comes to Erlang and Elixir, the process of runtime installing and runtime uninstalling a new library or runtime upgrading it is subject to a number of constraints.

This module provides programmers with a public APIs and helpers that allow them to load a pre-built Elixir/Erlang library (its compiled ebin) into a running system.

Boots, supervises and dynamically clusters the Mnesia store used by MishkaInstaller.

A thin FIFO queue wrapper over the Erlang :queue module.