managing-astro-deployments

Управление продакшн-развертываниями Astronomer с помощью Astro CLI. Используйте, когда пользователь хочет аутентифицироваться, переключать рабочие пространства, создавать/обновлять/удалять развертывания или…

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

Больше skills от 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
Пользовательские экстракторы OpenLineage для неподдерживаемых операторов Airflow и сложных сценариев происхождения данных. Два подхода: добавление методов OpenLineage непосредственно в операторы, которыми вы владеете (рекомендуется), или создание пользовательских экстракторов для сторонних операторов, которые вы не можете изменить. Экстракторы перехватывают выполнение оператора в трех точках: перед выполнением для статического происхождения, после успешного выполнения для определения выходных данных во время выполнения и опционально после сбоя для частичного происхождения. Регистрируйте экстракторы через airflow.cfg или переменные окружения...
debugging-dags
astronomer
Систематический анализ первопричин и устранение неисправностей для упавших DAG-графов Airflow с использованием структурированных рабочих процессов расследования. Проводит через четырехэтапный процесс диагностики: выявление сбоя, извлечение деталей ошибки, сбор контекстной информации и предоставление практических шагов по исправлению. Классифицирует сбои на четыре типа (данные, код, инфраструктура, зависимости) для фокусировки расследования и предложения соответствующих исправлений. Предоставляет готовые к использованию команды CLI для извлечения журналов, сравнения запусков, очистки задач и 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
Развертывание DAG-файлов и проектов Airflow. Используйте, когда пользователь хочет развернуть код, отправить DAG-файлы, настроить CI/CD, выполнить развертывание в рабочей среде или спрашивает о стратегиях развертывания…
deploying-go-sdk-bundles
astronomer
Собирает, упаковывает и развёртывает скомпилированные пакеты Airflow Go SDK, чтобы ExecutableCoordinator мог их запускать. Используйте, когда пользователь хочет скомпилировать пакет задач Go, спрашивает…
testing-dags
astronomer
Итеративные циклы тестирования, отладки и исправления для DAG-файлов Airflow с комплексной диагностикой сбоев. Начните с af runs trigger-wait <dag_id> для запуска DAG и ожидания завершения; предварительные проверки не требуются. При сбое используйте af runs diagnose для получения сводки по сбоям и af tasks logs для просмотра деталей ошибок из конкретных задач. Поддерживает пользовательскую конфигурацию, тайм-ауты и повторные попытки; обрабатывает сценарии успеха, сбоя и тайм-аута с четкой интерпретацией результатов. Доступна быстрая проверка...
tracing-downstream-lineage
astronomer
Отслеживание нисходящей линии данных для оценки влияния изменений перед модификацией таблиц или DAG. Определяет прямых потребителей целевой таблицы или DAG через поиск исходного кода, зависимости представлений и подключения BI-инструментов. Строит полное дерево зависимостей, отображающее все нисходящие воздействия — от таблиц до дашбордов и ML-моделей. Классифицирует зависимости по критичности (критическая, высокая, средняя, низкая) для приоритизации коммуникации с заинтересованными сторонами и тестирования. Формирует отчет о влиянии с оценкой рисков, затронутыми...