Skip to content

Maintenance Mode

Maintenance Mode allows you to put a Product Deployment into a dedicated maintenance state. All containers are stopped, and all child stacks are set to Maintenance operation mode. This enables safe execution of maintenance tasks such as database migrations, hardware updates, or planned downtimes. The trigger system ensures that manually activated maintenance cannot be accidentally overridden by the observer.

AspectNormal ModeMaintenance Mode
Product StatusRunningStopped
Stack StatusRunningStopped
Operation ModeNormalMaintenance (propagated to all stacks)
TriggerManual or Observer
ExitOnly by the trigger that activated maintenance

The core principle: Whoever activated maintenance also controls when it ends.

  • Manual Trigger: Maintenance was activated by a user via the UI or API. Only the user can end maintenance — the observer has no effect.
  • Observer Trigger: Maintenance was automatically activated by the Maintenance Observer. Maintenance is only lifted when the observer reports Normal again.

Navigate to the Product Deployment Detail page. In normal state, you’ll see Operation Mode: Normal in the overview cards and the Enter Maintenance link in the action bar.

Product deployment in Normal mode with Enter Maintenance link


Click Enter Maintenance. You’ll be taken to a dedicated confirmation page that shows:

  • The product name and version
  • The environment
  • All affected stacks and their service counts
  • A warning that all containers will be stopped

Review the affected stacks before confirming.

Enter Maintenance confirmation page with stack preview


Click Enter Maintenance Mode to confirm. ReadyStackGo:

  1. Sets the product operation mode to Maintenance
  2. Propagates Maintenance mode to all child stacks
  3. Stops all containers

After successful activation, you’ll see a success page with the mode transition (Normal → Maintenance).

Maintenance activated successfully


On the Product Deployment Detail page, all stacks show Stopped status during maintenance. The product status also shows Stopped with a Maintenance badge.

Stacks showing Stopped status during maintenance


Click Exit Maintenance to navigate to the exit confirmation page. It shows the current maintenance info (trigger source, reason, duration) and the stacks that will be restarted.

Click Exit Maintenance Mode to confirm. ReadyStackGo restarts all containers and returns the product to Normal operation.

Maintenance deactivated successfully


Maintenance mode can also be controlled via the REST API:

PUT /api/environments/{environmentId}/product-deployments/{productDeploymentId}/operation-mode
FieldTypeRequiredDescription
modestringYes"Maintenance" or "Normal"
reasonstringNoOptional reason for the maintenance

Activate maintenance:

{
"mode": "Maintenance",
"reason": "Scheduled database migration"
}

Exit maintenance:

{
"mode": "Normal"
}
CodeMeaning
200Mode changed successfully
404Product deployment not found
409Transition blocked — trigger ownership violated (e.g., manually exiting observer maintenance)

SituationBehavior
Manual exit during observer maintenanceBlocked with HTTP 409 — observer controls the exit
Product already in the desired modeNo action, successful response (no-op)
Observer reports Normal during manual maintenanceNo action — manual trigger takes precedence