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.
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.
All deployment operations require authentication:
# Login to Astronomer (opens browser for OAuth)
astro login
Authentication tokens are stored locally for subsequent commands. Run this before any deployment operations.
Deployments are organized into workspaces:
# List all accessible workspaces
astro workspace list
# Switch to a specific workspace
astro workspace switch <WORKSPACE_ID>
Workspace context is maintained between sessions. Most deployment commands operate within the current workspace context.
# List deployments in current workspace
astro deployment list
# List deployments across all workspaces
astro 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
inspect Shows# Create with default settings
astro deployment create
# Create with specific executor
astro deployment create --label production --executor celery
astro 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
# 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 a deployment (requires confirmation)
astro deployment delete <DEPLOYMENT_ID>
Destructive: This cannot be undone. All DAGs, task history, and metadata will be lost.
Deploy both DAGs and Docker image (required when dependencies change):
astro deploy <DEPLOYMENT_ID>
Use when:
requirements.txt, packages.txt, Dockerfile)Deploy only DAG files, skip Docker image rebuild:
astro deploy <DEPLOYMENT_ID> --dags
Use when:
dags/ directory)Requires: --dag-deploy-enabled flag set on deployment (see Update Deployments)
Deploy only Docker image, skip DAG sync:
astro deploy <DEPLOYMENT_ID> --image-only
Use when:
Bypass safety checks and deploy:
astro deploy <DEPLOYMENT_ID> --force
Caution: Skips validation that could prevent broken deployments.
Manage API tokens for programmatic access to deployments:
# List tokens for a deployment
astro deployment token list --deployment-id <DEPLOYMENT_ID>
# Create a new token
astro deployment token create \
--deployment-id <DEPLOYMENT_ID> \
--name "CI/CD Pipeline" \
--role DEPLOYMENT_ADMIN
# Create token with expiration
astro 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 deploymentNote: Token value is only shown at creation time. Store it securely.
# 1. Login
astro login
# 2. Switch to production workspace
astro workspace list
astro workspace switch <PROD_WORKSPACE_ID>
# 3. Create deployment
astro deployment create --label production --executor celery
# 4. Note the deployment ID, then deploy
astro deploy <DEPLOYMENT_ID>
# 1. Enable fast deploys (one-time setup)
astro deployment update <DEPLOYMENT_ID> --dag-deploy-enabled
# 2. Make DAG changes locally
# 3. Deploy quickly
astro deploy <DEPLOYMENT_ID> --dags
# 1. Deploy to staging first
astro workspace switch <STAGING_WORKSPACE_ID>
astro deploy <STAGING_DEPLOYMENT_ID>
# 2. Test in staging
# 3. Deploy same code to production
astro workspace switch <PROD_WORKSPACE_ID>
astro deploy <PROD_DEPLOYMENT_ID>
# View CLI configuration
astro config get
# Set configuration value
astro config set <KEY> <VALUE>
# Check CLI version
astro version
# Upgrade CLI to latest version
astro upgrade
--dags flag for fast iteration (seconds vs minutes)deployment inspect to verify deployment health before deployinginspect also accepts --deployment-name--dag-deploy-enabled once per deployment for fast deploysastro workspace list (shows asterisk for current)