Skip to content

Solutions

A Solution is a top-level deployment package that bundles multiple Sequences together for coordinated execution across environments. Solutions are the primary unit for promoting deployments through your release pipeline.

Solutions represent complete, deployable applications or services. They sit at the top of the Mantis deployment hierarchy:

Each solution is:

  • Versioned - Track releases with semantic versioning
  • Promotable - Move through environments (Dev -> Staging -> Prod)
  • Configurable - Define variables that can be customized per environment
  • Auditable - Complete history of where and when deployed
ComponentDescription
NameSolution identifier (e.g., “My Web Application”)
VersionsSemantic versions with sequence configurations
SequencesOrdered list of sequences with version requirements
Variable TemplatesConfigurable parameters for deployments

Solutions progress through environments in a controlled promotion flow:

Each environment tracks:

  • Current Version - What’s deployed now
  • Deployment Time - When it was deployed
  • Deployed By - Who triggered the deployment
  • Target Count - How many machines are running this version

Solutions support variable templates for configuration that varies by environment:

PropertyDescriptionExample
NameVariable identifierdatabase_host
LabelDisplay name”Database Hostname”
Help TextGuidance for users”Enter the database server address”
Control TypeInput typetext, multiline, select, checkbox, sensitive
Default ValueOptional defaultlocalhost
RequiredMust have a valuetrue or false
TypeUse Case
textSingle-line text input
multilineMulti-line text or JSON
selectDropdown selection
checkboxBoolean toggle
sensitivePasswords, API keys (encrypted)

Variables can have different values per environment:

VariableDevelopmentStagingProduction
database_hostdev-db.localstaging-db.company.comprod-db.company.com
log_leveldebuginfowarn
replica_count125
  1. Navigate to Solutions in the sidebar
  2. Click New Solution
  3. Enter a name (e.g., “Customer Portal”)
  4. Specify the initial version (e.g., “1.0.0”)
  1. Click Add Sequence
  2. Select a sequence from the dropdown
  3. Specify the version requirement (e.g., ^1.0.0)
  4. Repeat for additional sequences
  5. Reorder sequences as needed
  1. Navigate to the Variables tab
  2. Click Add Variable Template
  3. Configure the template properties
  4. Save the template
  1. Navigate to an environment detail page
  2. Find the solution in the list
  3. Click Configure Variables
  4. Enter values for each template
  5. Save

The solution detail page shows deployment status across all environments:

EnvironmentVersionDeployedByTargets
Development1.2.02 hours agoalice2
Test1.1.01 day agobob4
Staging1.0.03 days agoalice4
Production1.0.05 days agoadmin12

From here you can:

  • Promote - Move to the next environment
  • Rollback - Revert to a previous version
  • View Logs - See deployment history
  • Configure Targets - Manage which machines receive deployments

Before promoting, ensure:

  1. Successful Deployment - Current environment deployment succeeded
  2. Soak Time (optional) - Minimum time in current environment met
  3. Approval (optional) - Required approvers have signed off
  4. No Freeze - No deployment freeze is active
  1. Navigate to the solution detail page
  2. Find the source environment row
  3. Click the Promote button
  4. Select the target environment
  5. Review the promotion summary
  6. Click Confirm Promotion

Mantis will:

  1. Resolve the target environment’s targets
  2. Create a promotion deployment record (deployment type “promotion”)
  3. Execute sequences on each target
  4. Update the environment state

If a deployment causes issues, you can rollback:

  1. Navigate to the solution detail page
  2. Find the environment to rollback
  3. Click the Rollback button
  4. Select the target version
  5. Confirm the rollback
TypeDescription
StandardRollback to a specific previous version
Point-in-TimeRollback to a specific timestamp

Keep solutions focused on a single deployable unit:

GoodBad
”Customer Portal API""All Backend Services"
"Payment Processing Service""Everything"
"Mobile App Backend""Q4 Release”

Use semantic versioning consistently:

  • Major (1.0.0 -> 2.0.0): Breaking changes, major features
  • Minor (1.0.0 -> 1.1.0): New features, backward compatible
  • Patch (1.0.0 -> 1.0.1): Bug fixes only

Group related variables with naming conventions:

database_host
database_port
database_name
database_user
database_password
cache_host
cache_port
cache_ttl