managing-astro-deployments
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.
Best use case
managing-astro-deployments is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
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.
Teams using managing-astro-deployments should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/managing-astro-deployments/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How managing-astro-deployments Compares
| Feature / Agent | managing-astro-deployments | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
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.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 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 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 ```bash # 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 ```bash # 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 ```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 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 ```bash # 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 ```bash # 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 ```bash # 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 ```bash # 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
Related Skills
troubleshooting-astro-deployments
Troubleshoot Astronomer production deployments with Astro CLI. Use when investigating deployment issues, viewing production logs, analyzing failures, or managing deployment environment variables.
setting-up-astro-project
Initialize and configure Astro/Airflow projects. Use when the user wants to create a new project, set up dependencies, configure connections/variables, or understand project structure. For running the local environment, see managing-astro-local-env.
managing-astro-local-env
Manage local Airflow environment with Astro CLI (Docker and standalone modes). Use when the user wants to start, stop, or restart Airflow, view logs, query the Airflow API, troubleshoot, or fix environment issues. For project setup, see setting-up-astro-project.
warehouse-init
Initialize warehouse schema discovery. Generates .astro/warehouse.md with all table metadata for instant lookups. Run once per project, refresh when schema changes. Use when user says "/astronomer-data:warehouse-init" or asks to set up data discovery.
tracing-upstream-lineage
Trace upstream data lineage. Use when the user asks where data comes from, what feeds a table, upstream dependencies, data sources, or needs to understand data origins.
tracing-downstream-lineage
Trace downstream data lineage and impact analysis. Use when the user asks what depends on this data, what breaks if something changes, downstream dependencies, or needs to assess change risk before modifying a table or DAG.
testing-dags
Complex DAG testing workflows with debugging and fixing cycles. Use for multi-step testing requests like "test this dag and fix it if it fails", "test and debug", "run the pipeline and troubleshoot issues". For simple test requests ("test dag", "run dag"), the airflow entrypoint skill handles it directly. This skill is for iterative test-debug-fix cycles.
profiling-tables
Deep-dive data profiling for a specific table. Use when the user asks to profile a table, wants statistics about a dataset, asks about data quality, or needs to understand a table's structure and content. Requires a table name.
migrating-airflow-2-to-3
Guide for migrating Apache Airflow 2.x projects to Airflow 3.x. Use when the user mentions Airflow 3 migration, upgrade, compatibility issues, breaking changes, or wants to modernize their Airflow codebase. If you detect Airflow 2.x code that needs migration, prompt the user and ask if they want you to help upgrade. Always load this skill as the first step for any migration-related request.
deploying-airflow
Deploy Airflow DAGs and projects. Use when the user wants to deploy code, push DAGs, set up CI/CD, deploy to production, or asks about deployment strategies for Airflow.
debugging-dags
Comprehensive DAG failure diagnosis and root cause analysis. Use for complex debugging requests requiring deep investigation like "diagnose and fix the pipeline", "full root cause analysis", "why is this failing and how to prevent it". For simple debugging ("why did dag fail", "show logs"), the airflow entrypoint skill handles it directly. This skill provides structured investigation and prevention recommendations.
creating-openlineage-extractors
Create custom OpenLineage extractors for Airflow operators. Use when the user needs lineage from unsupported or third-party operators, wants column-level lineage, or needs complex extraction logic beyond what inlets/outlets provide.