managing-astro-deployments

Gestionar implementaciones de producción de Astronomer con Astro CLI. Úsalo cuando el usuario quiera autenticarse, cambiar de espacios de trabajo, crear/actualizar/eliminar implementaciones, o…

npx skills add https://github.com/astronomer/agents --skill managing-astro-deployments

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:

# 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:

# 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 and Inspect Deployments

# 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

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

# 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

Update Deployments

# 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

# 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):

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:

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:

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:

astro deploy <DEPLOYMENT_ID> --force

Caution: Skips validation that could prevent broken deployments.


Deployment API Tokens

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 deployment

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


Common Workflows

First-Time Production Deployment

# 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>

Iterative DAG Development

# 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

Promoting Code from Staging to Production

# 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>

Configuration Management

# 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

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

Más skills de astronomer

airflow-state-store
astronomer
Persists task and asset state across retries and DAG runs using Airflow 3.3's AIP-103 key/value stores (`task_state_store`, `asset_state_store`) and the…
creating-openlineage-extractors
astronomer
Extractores personalizados de OpenLineage para operadores de Airflow no soportados y escenarios complejos de linaje. Dos enfoques: agregar métodos de OpenLineage directamente a los operadores que posees (recomendado), o crear extractores personalizados para operadores de terceros que no puedes modificar. Los extractores interceptan la ejecución del operador en tres puntos: antes de la ejecución para linaje estático, después del éxito para salidas determinadas en tiempo de ejecución, y opcionalmente después del fallo para linaje parcial. Registra los extractores mediante airflow.cfg o variables de entorno...
debugging-dags
astronomer
Análisis sistemático de causa raíz y remediación para DAGs de Airflow fallidos con flujos de trabajo de investigación estructurados. Guía a través de un proceso de diagnóstico de cuatro pasos: identificar la falla, extraer detalles del error, recopilar información contextual y entregar pasos de remediación accionables. Clasifica las fallas en cuatro tipos (datos, código, infraestructura, dependencia) para enfocar la investigación y sugerir correcciones apropiadas. Proporciona comandos CLI listos para usar para recuperación de registros, comparación de ejecuciones, limpieza de tareas y DAG...
delegating-to-otto
astronomer
Drives Astronomer's Otto agent (`astro otto`) as a delegated sub-agent for Airflow, dbt, and data-engineering work. Use when the user explicitly asks to "use…
deploying-airflow
astronomer
Desplegar DAGs y proyectos de Airflow. Úsalo cuando el usuario quiera desplegar código, enviar DAGs, configurar CI/CD, desplegar a producción, o pregunte sobre estrategias de despliegue…
deploying-go-sdk-bundles
astronomer
Compila, empaqueta e implementa paquetes compilados del SDK de Airflow Go para que ExecutableCoordinator pueda ejecutarlos. Úsalo cuando el usuario quiera compilar un paquete de tareas de Go, solicite…
testing-dags
astronomer
Ciclos iterativos de prueba-depuración-corrección para DAGs de Airflow con diagnóstico completo de fallos. Comience con af runs trigger-wait <dag_id> para ejecutar un DAG y esperar su finalización; no se necesitan comprobaciones previas. En caso de fallo, use af runs diagnose para obtener un resumen completo del fallo y af tasks logs para inspeccionar los detalles del error de tareas específicas. Admite configuración personalizada, tiempos de espera e intentos de reintento; maneja escenarios de éxito, fallo y tiempo de espera con una interpretación clara de la respuesta. Validación rápida disponible...
tracing-downstream-lineage
astronomer
Rastrea el linaje de datos descendente para evaluar el impacto de cambios antes de modificar tablas o DAGs. Identifica los consumidores directos de una tabla o DAG objetivo mediante búsqueda en código fuente, dependencias de vistas y conexiones de herramientas de BI. Construye un árbol de dependencias completo que mapea todos los impactos descendentes, desde tablas hasta paneles y modelos de ML. Clasifica las dependencias por criticidad (crítica, alta, media, baja) para priorizar la comunicación con las partes interesadas y las pruebas. Genera un informe de impacto con evaluación de riesgos, afectados...