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.
What is a Solution?
Section titled “What is a Solution?”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
Solution Structure
Section titled “Solution Structure”| Component | Description |
|---|---|
| Name | Solution identifier (e.g., “My Web Application”) |
| Versions | Semantic versions with sequence configurations |
| Sequences | Ordered list of sequences with version requirements |
| Variable Templates | Configurable parameters for deployments |
Environment Lifecycle
Section titled “Environment Lifecycle”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
Variable Templates
Section titled “Variable Templates”Solutions support variable templates for configuration that varies by environment:
Template Properties
Section titled “Template Properties”| Property | Description | Example |
|---|---|---|
| Name | Variable identifier | database_host |
| Label | Display name | ”Database Hostname” |
| Help Text | Guidance for users | ”Enter the database server address” |
| Control Type | Input type | text, multiline, select, checkbox, sensitive |
| Default Value | Optional default | localhost |
| Required | Must have a value | true or false |
Control Types
Section titled “Control Types”| Type | Use Case |
|---|---|
| text | Single-line text input |
| multiline | Multi-line text or JSON |
| select | Dropdown selection |
| checkbox | Boolean toggle |
| sensitive | Passwords, API keys (encrypted) |
Environment-Specific Values
Section titled “Environment-Specific Values”Variables can have different values per environment:
| Variable | Development | Staging | Production |
|---|---|---|---|
database_host | dev-db.local | staging-db.company.com | prod-db.company.com |
log_level | debug | info | warn |
replica_count | 1 | 2 | 5 |
Creating a Solution
Section titled “Creating a Solution”Step 1: Basic Information
Section titled “Step 1: Basic Information”- Navigate to Solutions in the sidebar
- Click New Solution
- Enter a name (e.g., “Customer Portal”)
- Specify the initial version (e.g., “1.0.0”)
Step 2: Add Sequences
Section titled “Step 2: Add Sequences”- Click Add Sequence
- Select a sequence from the dropdown
- Specify the version requirement (e.g.,
^1.0.0) - Repeat for additional sequences
- Reorder sequences as needed
Step 3: Configure Variable Templates
Section titled “Step 3: Configure Variable Templates”- Navigate to the Variables tab
- Click Add Variable Template
- Configure the template properties
- Save the template
Step 4: Set Environment Values
Section titled “Step 4: Set Environment Values”- Navigate to an environment detail page
- Find the solution in the list
- Click Configure Variables
- Enter values for each template
- Save
Viewing Environment State
Section titled “Viewing Environment State”The solution detail page shows deployment status across all environments:
| Environment | Version | Deployed | By | Targets |
|---|---|---|---|---|
| Development | 1.2.0 | 2 hours ago | alice | 2 |
| Test | 1.1.0 | 1 day ago | bob | 4 |
| Staging | 1.0.0 | 3 days ago | alice | 4 |
| Production | 1.0.0 | 5 days ago | admin | 12 |
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
Promotion Workflow
Section titled “Promotion Workflow”Prerequisites for Promotion
Section titled “Prerequisites for Promotion”Before promoting, ensure:
- Successful Deployment - Current environment deployment succeeded
- Soak Time (optional) - Minimum time in current environment met
- Approval (optional) - Required approvers have signed off
- No Freeze - No deployment freeze is active
Performing a Promotion
Section titled “Performing a Promotion”- Navigate to the solution detail page
- Find the source environment row
- Click the Promote button
- Select the target environment
- Review the promotion summary
- Click Confirm Promotion
Mantis will:
- Resolve the target environment’s targets
- Create a promotion deployment record (deployment type “promotion”)
- Execute sequences on each target
- Update the environment state
Rollback
Section titled “Rollback”If a deployment causes issues, you can rollback:
- Navigate to the solution detail page
- Find the environment to rollback
- Click the Rollback button
- Select the target version
- Confirm the rollback
Rollback Types
Section titled “Rollback Types”| Type | Description |
|---|---|
| Standard | Rollback to a specific previous version |
| Point-in-Time | Rollback to a specific timestamp |
Best Practices
Section titled “Best Practices”Solution Scope
Section titled “Solution Scope”Keep solutions focused on a single deployable unit:
| Good | Bad |
|---|---|
| ”Customer Portal API" | "All Backend Services" |
| "Payment Processing Service" | "Everything" |
| "Mobile App Backend" | "Q4 Release” |
Version Strategy
Section titled “Version Strategy”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
Variable Organization
Section titled “Variable Organization”Group related variables with naming conventions:
database_hostdatabase_portdatabase_namedatabase_userdatabase_password
cache_hostcache_portcache_ttlNext Steps
Section titled “Next Steps”- Creating Solutions - Detailed creation guide
- Variables - Variable template configuration
- Promotion Lifecycle - Environment progression
- Versioning - Version management strategies
