Managing Astro Deployments

by astronomercbe1141f547bNo license451 starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated today

Manage Astronomer production deployments with Astro CLI. Use when the user wants to authenticate, switch workspaces, create/update/delete deployments, or deploy code to production.

Instructions onlyDevOps & Cloud
AI-generated overview

Guides use of the Astro CLI to authenticate, manage workspaces, and create, update, delete, and deploy Astronomer production deployments.

What it does
This skill provides instructions and command examples for operating Astronomer production deployments through the Astro CLI. It covers authentication, workspace listing and switching, listing and inspecting deployments, creating, updating and deleting deployments, deploying code (full, DAG-only, image-only, forced), and managing deployment API tokens. It also includes common workflows such as first-time production deployment, iterative DAG development, and promoting code from staging to production.
When to use it
Use it when a user wants to authenticate to Astronomer, switch workspaces, create, update or delete deployments, or push code to a production Astronomer deployment. It is also relevant for managing deployment API tokens and following staging-to-production promotion workflows.
Requirements
Requires the Astro CLI installed and authenticated (astro login, browser-based OAuth); network access to Astronomer. No scripts are shipped; it is instructions only.

Astro Deployment Management

This skill helps you manage production Astronomer deployments using the Astro CLI.

For local development, see the managing-astro-local-env skill. For production troubleshooting, see the troubleshooting-astro-deployments skill.


Authentication

All deployment operations require authentication:

bash
# Login to Astronomer (opens browser for OAuth)astro login

Authentication tokens are stored locally for subsequent commands. Run this before any deployment operations.


Workspace Management

Deployments are organized into workspaces:

bash
# List all accessible workspacesastro workspace list
# Switch to a specific workspaceastro workspace switch <WORKSPACE_ID>

Workspace context is maintained between sessions. Most deployment commands operate within the current workspace context.


List and Inspect Deployments

bash
# List deployments in current workspaceastro deployment list
# List deployments across all workspacesastro deployment list --all
# Inspect specific deployment (detailed info)astro deployment inspect <DEPLOYMENT_ID>
# Inspect by name (alternative to ID)astro deployment inspect --deployment-name data-service-stg

What inspect Shows

  • Deployment status (HEALTHY, UNHEALTHY)
  • Runtime version and Airflow version
  • Executor type (CELERY, KUBERNETES, LOCAL)
  • Scheduler configuration (size, count)
  • Worker queue settings (min/max workers, concurrency, worker type)
  • Resource quotas (CPU, memory)
  • Environment variables
  • Last deployment timestamp and current tag
  • Webserver and API URLs
  • High availability status

Create Deployments

bash
# Create with default settingsastro deployment create
# Create with specific executorastro deployment create --label production --executor celeryastro deployment create --label staging --executor kubernetes
# Executor options:#   - celery: Best for most production workloads#   - kubernetes: Best for dynamic scaling, isolated tasks#   - local: Best for development only

Update Deployments

bash
# Enable DAG-only deploys (faster iteration)astro deployment update <DEPLOYMENT_ID> --dag-deploy-enabled
# Update other settings (use --help for full options)astro deployment update <DEPLOYMENT_ID> --help

Delete Deployments

bash
# Delete a deployment (requires confirmation)astro deployment delete <DEPLOYMENT_ID>

Destructive: This cannot be undone. All DAGs, task history, and metadata will be lost.


Deploy Code to Production

Full Deploy

Deploy both DAGs and Docker image (required when dependencies change):

bash
astro deploy <DEPLOYMENT_ID>

Use when:

  • Dependencies changed (requirements.txt, packages.txt, Dockerfile)
  • First deployment of new project
  • Significant infrastructure changes

DAG-Only Deploy (Recommended for Iteration)

Deploy only DAG files, skip Docker image rebuild:

bash
astro deploy <DEPLOYMENT_ID> --dags

Use when:

  • Only DAG files changed (Python files in dags/ directory)
  • Quick iteration during development
  • Much faster than full deploy (seconds vs minutes)

Requires: --dag-deploy-enabled flag set on deployment (see Update Deployments)

Image-Only Deploy

Deploy only Docker image, skip DAG sync:

bash
astro deploy <DEPLOYMENT_ID> --image-only

Use when:

  • Only dependencies changed
  • Dockerfile or requirements updated
  • No DAG changes

Force Deploy

Bypass safety checks and deploy:

bash
astro deploy <DEPLOYMENT_ID> --force

Caution: Skips validation that could prevent broken deployments.


Deployment API Tokens

Manage API tokens for programmatic access to deployments:

bash
# List tokens for a deploymentastro deployment token list --deployment-id <DEPLOYMENT_ID>
# Create a new tokenastro deployment token create \  --deployment-id <DEPLOYMENT_ID> \  --name "CI/CD Pipeline" \  --role DEPLOYMENT_ADMIN
# Create token with expirationastro deployment token create \  --deployment-id <DEPLOYMENT_ID> \  --name "Temporary Access" \  --role DEPLOYMENT_ADMIN \  --expiry 30  # Days until expiration (0 = never expires)

Roles:

  • DEPLOYMENT_ADMIN: Full access to deployment

Note: Token value is only shown at creation time. Store it securely.


Common Workflows

First-Time Production Deployment

bash
# 1. Loginastro login
# 2. Switch to production workspaceastro workspace listastro workspace switch <PROD_WORKSPACE_ID>
# 3. Create deploymentastro deployment create --label production --executor celery
# 4. Note the deployment ID, then deployastro deploy <DEPLOYMENT_ID>

Iterative DAG Development

bash
# 1. Enable fast deploys (one-time setup)astro deployment update <DEPLOYMENT_ID> --dag-deploy-enabled
# 2. Make DAG changes locally
# 3. Deploy quicklyastro deploy <DEPLOYMENT_ID> --dags

Promoting Code from Staging to Production

bash
# 1. Deploy to staging firstastro workspace switch <STAGING_WORKSPACE_ID>astro deploy <STAGING_DEPLOYMENT_ID>
# 2. Test in staging
# 3. Deploy same code to productionastro workspace switch <PROD_WORKSPACE_ID>astro deploy <PROD_DEPLOYMENT_ID>

Configuration Management

bash
# View CLI configurationastro config get
# Set configuration valueastro config set <KEY> <VALUE>
# Check CLI versionastro version
# Upgrade CLI to latest versionastro upgrade

Tips

  • Use --dags flag for fast iteration (seconds vs minutes)
  • Always test in staging workspace before production
  • Use deployment inspect to verify deployment health before deploying
  • Deployment IDs are permanent, names can change
  • Most commands work with deployment ID; inspect also accepts --deployment-name
  • Set --dag-deploy-enabled once per deployment for fast deploys
  • Keep workspace context visible with astro workspace list (shows asterisk for current)

Related Skills

  • troubleshooting-astro-deployments: Investigate deployment issues, view logs, manage environment variables
  • managing-astro-local-env: Manage local Airflow development environment
  • setting-up-astro-project: Initialize and configure Astro projects

Source and attribution

Source:astronomer/agentsinskills/managing-astro-deploymentsat commitcbe1141

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal