Concepts¶
This page explains the words that the screens and this manual use. The Glossary holds the short form of the same list.
Workspace¶
A workspace groups everything that belongs to one piece of software: the test runs, the analysis runs, the monitored devices, the comments and the status badges.
A workspace holds the addresses of the repositories, the node that does the work, and the commands that build and run the software. See Workspaces.
The HTTP API and the MCP tools call the same record a project. The screens call it a workspace, and so does this manual.
The picker at the top of the window selects the workspace in scope. Each screen then shows the records of that workspace, or the records of every workspace that the account may see.
Node¶
A node is a machine that carries out the work. Midair reaches a node over SSH. It checks out the sources there, it deploys the analyser there, and it runs the test suite there.
A node carries roles. A role says what kind of work the node accepts: testing, analysis, or monitoring relay. See Nodes.
Device¶
A device is a machine that Midair watches. A device does not run the work. An agent on the device reports the state of that device, and Midair compares each report with the accepted baseline. See Monitoring.
Template and run¶
Testing and analysis both use the same two record types.
A template describes what to run. It carries no results. A template is the record that you edit, and the record that a schedule or a webhook starts.
A run is one execution. It has a state, a log, results and a start time. Midair never writes over a run.
Each start makes a new run. A start from a template copies the template, and a start from an earlier run copies that run. The record that you pressed the button on stays as it was, so the results of a run stay with the configuration that produced them.
A run keeps three fields that place it in the history:
the template that it belongs to;
the record that Midair copied, which is the template or an earlier run;
the number of the run inside that template.
Run states¶
A test run and an analysis run pass through these states:
queuedMidair accepted the start and waits for a free slot.
runningThe work is in progress on the node.
analyzingThe work finished. Midair processes the log.
finishedThe run ended, and the results are ready.
failedThe run ended before it produced a full result. The record holds the last error.
stoppedAn operator stopped the run.
A template has no state, because a template never runs.
Result, finding and drift¶
The three areas produce three kinds of result, and each has its own word.
A test run produces a result tree. Each leaf is one test with an obtained verdict and an expected verdict.
An analysis run produces findings. A finding names a file, a line and a rule.
A device produces drift. Drift is the set of differences between the last report and the accepted baseline.
Team and seat¶
A workspace belongs to the account that created it, its owner. Other accounts do not see it.
A team gives a group of people access to a set of workspaces at a stated level. The level is viewer, developer or maintainer. A team can also give its members a set of nodes. On a shared instance, teams give nothing. See Users, teams and access.
Credential¶
A credential is a password or an SSH key that Midair keeps in the secret store. A node and a repository hold a reference to a credential, not the secret itself. One credential serves any number of records, and a rotation happens in one place.
Distribution¶
A distribution is a build that Midair deploys: an analyser, a test environment, or a monitoring agent. The local registry holds the bytes and the checksum, so a run deploys the same file every time. See Distributions.