Skip to content

Understanding Concepts

This guide explains the core concepts and data model of Mantis.

An Action is the smallest unit of execution in Mantis.

TypeDescriptionExample
CommandSingle shell commandsystemctl restart nginx
ScriptMulti-line scriptA bash script to deploy files
RestartService restartRestart an application service

Actions support semantic versioning:

  • Each action can have multiple versions (1.0.0, 1.1.0, 2.0.0)
  • Sequences reference specific action versions
  • This enables rollback and version pinning

A Sequence is an ordered collection of actions.

  • Actions execute in defined order
  • Each step waits for the previous to complete
  • Failure handling can be configured per step

A Solution is a deployable package containing sequences.

Solutions provide:

  • Bundling - Group related sequences together
  • Variables - Define configurable parameters
  • Versioning - Track deployable versions
  • Promotion - Move through environments (dev → staging → prod)

A Target is a machine where deployments execute.

Each target:

  • Runs the Tarsus client agent
  • Has a unique identity (certificate-based)
  • Can be tagged for grouping
  • Belongs to one or more environments

An Environment is a logical grouping of targets.

Common environments:

  • Development - For testing changes
  • Staging - Pre-production validation
  • Production - Live systems

A Tenant provides multi-tenant isolation.

Each tenant has:

  • Isolated resources (actions, solutions, targets)
  • Separate user access controls
  • Independent deployment history

A Deployment is an execution of a solution/sequence/action on targets.

Deployment states: