Skip to main content

Extend app lifecycle

Last updated on August 27, 2025

Overview

This article explains the standard workflow for managing the lifecycle of an Extend App, covering four major operations: Create, Deploy, Stop, and Delete. Each process has fallback mechanism that handle errors and timeouts gracefully. Also it is monitored and its status is reflected either in admin portal or can be queried via API.

extend app lifecycle diagram

Creating an Extend App

The application creation process is initiated when a user selects the "Create App" action. This triggers the Extend runtime to begin provisioning a new application.

Provisioning Lifecycle

  1. Initiation Upon triggering the creation action, the application status is set to provisioning in progress. At this stage, the Extend runtime continuously monitors the provisioning workflow.
  2. Possible Outcomes The provisioning process can result in one of the following states:
    • undeployed: Indicates the application was successfully created and is now ready for deployment.
    • provisioning failed: Signifies an error occurred during the creation process.
    • provisioning timeout: Indicates the operation exceeded the maximum allowed time (e.g., one hour) without a result.

Timeout Handling

In the event of a timeout, the Extend runtime automatically retries status polling to either recover or reassess the state of the provisioning process. Despite these retries, if the process ultimately fails, users are advised to delete and recreate the application to ensure a clean and stable environment.

Failure Handling

In the event of a failure, users are encouraged to delete the failed app and try recreating it. If the issue persists, please raise a support ticket.

Deploying or Starting an Extend App

Once the application has been successfully created and at least one image has been uploaded, users can proceed to deploy or start the application. Deployment is initiated manually by the user, after which the application status changes to starting. During this phase, all updated environment variables and secrets are applied. If the operation completes successfully, the application transitions to the running state.

Deployment States

During deployment, the application may enter one of the following states:

  • running: Indicates that the application has started successfully.
  • deployment failed: Signifies that an error occurred during the deployment process.
  • timeout: Indicates that the deployment exceeded the configured timeout period.

Timeout Handling

In the event of a timeout, the Extend runtime will recheck the deployment status and attempt retries where possible, similar to the behavior during the creation process.

Failure Handling

If a deployment fails or times out, users can manually trigger a redeployment to restart the process. If the issue persists, check the application logs via Grafana to determine if the problem originates from the application itself. If the issue is unclear or unfamiliar, please raise a support ticket.

Stopping an Extend App

When a user chooses to stop a running application, the "Stop" action is triggered. This sets the application's status to stopping, during which the system attempts to gracefully shut down the application.

Stopping Lifecycle

  1. Shutdown Process During the stopping state, the Extend runtime performs a controlled shutdown of the application.

  2. Possible Outcomes

    • stopped: Indicates that the application has been successfully terminated.
    • error: An error occurred that prevented a successful shutdown.
    • timeout: The shutdown process exceeded the expected duration.

Timeout Handling

If a timeout occurs, the Extend runtime will automatically poll the application's state and may reattempt the shutdown process. This behavior helps recover from incomplete transitions.

Manual Control

Users retain full control over the application’s runtime state and may manually trigger additional start or stop actions as needed to recover or stabilize the application.

Deleting an Extend App

The final step in the application lifecycle is deletion. When a user initiates the "Remove App" operation, the application transitions to the removing status, indicating that the platform is in the process of deleting all associated configurations and resources.

Deletion Lifecycle

  1. Removal Process During the removing state, the system performs cleanup of the application's metadata, images, and infrastructure resources.

  2. Possible Outcomes

    • removed: The application was successfully deleted and will soon be excluded from the application list.
    • timeout: The deletion process exceeded the expected duration, possibly due to infrastructure-related delays.

Timeout Handling

If a timeout occurs during deletion, users are encouraged to manually retry the removal operation to complete the process and ensure the application is fully deleted.