Concepts
Deployments

Deployments

A Deployment is an instance of an application (Apache Airflow or Apache Superset) running on infrastructure managed by Onvera. Deployments belong to environments.

What is a Deployment?

A deployment represents:

  • A complete application instance with its own infrastructure
  • A dedicated database tenant
  • A unique subdomain (e.g., my-superset-abc123.onvera.io)
  • Isolated resources from other deployments
  • Belongs to an environment, which determines the isolation level

Deployment Lifecycle

Deployments go through a state machine with the following states:

Deployment Lifecycle

Deployments progress through several phases:

  1. Initialization - Deployment request is created
  2. Database Provisioning - Database is created and configured
  3. Infrastructure Provisioning - Compute, networking, and storage resources are provisioned
  4. Application Bootstrap - Application is installed and configured (Airflow-specific steps for migrations and health checks)
  5. Subdomain Configuration - Access URL is configured
  6. Ready - Deployment is ready and accessible

The exact phases vary by application type (Airflow includes additional bootstrap steps), but all deployments follow a consistent workflow.

Deployment Status

The deployment status is derived from the state machine:

  • provisioning - Deployment is being created
  • ready - Deployment is ready and accessible
  • destroying - Deployment is being destroyed
  • failed - Deployment failed (cannot be recovered)
  • destroyed - Deployment has been destroyed

Creating a Deployment

Deployments are created asynchronously. When you create a deployment:

  1. Onvera creates a Deployment resource
  2. Returns a Deployment ID and Operation ID
  3. Processes the deployment through the state machine
  4. Updates status as the deployment progresses

Example:

onvera deploy superset --name "My Superset"

This returns:

  • deployment_id - Unique identifier for the deployment
  • operation_id - Identifier for tracking the deployment operation

Deployment Properties

Each deployment has:

  • ID - Unique identifier (format: dep_...)
  • Name - Human-readable name
  • App Type - airflow or superset
  • Status - Current status
  • URL - Access URL (when ready)
  • Created At - Timestamp when deployment was created
  • Organization - Organization that owns the deployment

Accessing a Deployment

Once a deployment is ready, you can access it via its URL:

https://my-superset-abc123.onvera.io

Users are automatically provisioned in the application when they are added to the organization.

Destroying a Deployment

Destroying a deployment:

  1. Revokes user access
  2. Removes database tenant
  3. Tears down infrastructure resources
  4. Deletes the deployment record
⚠️

This operation is irreversible.

Related Concepts

  • Environments - Understand environment grouping and isolation
  • Operations - Learn about async operations performed on deployments