astro deployment create
info
The behavior and format of this command differs depending on what Astronomer product you're using. Use the following tabs to change product contexts.
Not available for Airflow 3 deployments
This feature is not available for Airflow 3.x Deployments.
- Astro
- Software
Create a Deployment on Astro. This command is functionally identical to using the Astro UI to create a Deployment.
Usage
astro deployment create
When you use astro deployment create
, it creates a Deployment with a default Worker Queue that uses default worker types.
Some Deployment configurations, including worker queue and worker type, can be set only by using the --deployment-file
flag to apply a Deployment file. See Manage Deployments as code.
Options
Option | Description | Possible Values |
---|---|---|
-p , --cloud-provider | The Cloud Provider to use for your Deployment. The default is azure . | Possible values are azure , aws , and gcp for both standard and dedicated clusters. |
-c , --cluster-id | (Astro Hybrid and Astro Hosted dedicated clusters only) The cluster in which you want to create a Deployment. | A valid cluster ID. |
--type | (Astro Hosted only) The type of cluster you want to run the Deployment on. The default is standard . | Either dedicated or standard . |
--dag-deploy | Enables DAG-only deploys for the Deployment. The default is disable . | Either enable or disable . |
--default-task-pod-cpu | (Astro Hosted only) The default task Pod CPUs to use for the Deployment. See Customize a task's Kubernetes Pod for more information. | A numeric value such as 0.25 . This number cannot exceed the values you configured in your Default pod resources in the UI or in your Deployment configuration file. |
--default-task-pod-memory | (Astro Hosted only) The default task pod memory to use for the Deployment in Gi. See Customize a task's Kubernetes Pod for more information. | A numeric value followed by Gi , such as 0.5Gi . This number cannot exceed the values you configured in your Default pod resources in the UI or in your Deployment configuration file. |
--deployment-file | Location of the template file that specifies the configuration of the new Deployment. File can be in either JSON or YAML format. See Create a Deployment with a Deployment File. | A valid file path for YAML or JSON template file |
-d ,--description | The description for the Deployment. | Any string. Multiple-word descriptions should be specified in quotations (" ) |
-m ,--development-mode | Set to 'enable' to enable development-only features such as hibernation. When enabled, the Deployment will not have guaranteed uptime SLAs. | enable or disable ˝ |
--cicd-enforcement | Specify that the Deployment can only accept code deploys from API tokens and keys. Note that in CLI versions before 1.23, this flag was --enforce-cicd . | None |
-e ,--executor | The executor to use for the Deployment. | CeleryExecutor or KubernetesExecutor |
-a , --high-availability | Enables high availability for the Deployment. The default is disable . | Either enable or disable . |
-n ,--name | The name of the Deployment. | Any string. Multiple-word descriptions should be specified in quotations |
--region | (Astro Hosted only) The region where you want to host the Deployment. | The code for any supported region |
--resource-quota-cpu | (Astro Hosted only) The Deployment's CPU resource quota for Kubernetes Pods. See Customize a task's Kubernetes Pod for more information. | A numeric value such as 10 . This number cannot exceed the values you configured in your Default pod resources in the UI or in your Deployment file configuration file. |
--resource-quota-memory | (Astro Hosted only) The Deployment's memory resource quota for Kubernetes Pods in Gi. See Customize a task's Kubernetes Pod for more information. | A numeric value followed by Gi , such as 20Gi . This number cannot exceed the values you configured in your Default pod resources in the UI or in your Deployment file configuration file. |
-v ,--runtime-version | The Astro Runtime version for the Deployment | Any supported version of Astro Runtime. Major, minor, and patch versions must be specified. |
-s ,--scheduler-size | The size of scheduler for the Deployment. The default is small . | Either small , medium , large , or extra_large . extra_large schedulers require a minimum Astro Runtime version of 9.7.0. |
--wait | Wait for the new Deployment to have a healthy status before completing the command. | None |
--workload-identity | The workload identity to use for the Deployment. You must use this flag with --cloud-provider . | A valid AWS arn . |
--workspace-id | The Workspace in which to create a Deployment. If not specified, your current Workspace is assumed. | Any valid Workspace ID |
Examples
# CLI prompts you for a Deployment name and cluster
astro deployment create
# Create a Deployment with all required information specified. The CLI will not prompt you for more information
astro deployment create -d="My Deployment Description" --name="My Deployment Name" --cluster-id="ckwqkz36200140ror6axh8p19"
# Specify the new Deployment's configuration with a yaml file
astro deployment create --deployment-file deployment.yaml
# Create a deployment on Astro Hosted using a standard cluster
astro deployment create --name="my-gcp-deployment" --region="us-central1"
# Create a deployment on Astro Hosted using a dedicated cluster
astro deployment create --name="my-gcp-deployment" --cluster-type="dedicated" --cluster-id="clj123n1311p901muj9hwpgjb"
Create a Deployment on Astronomer Software. This command is functionally identical to using the Software UI to create a Deployment.
Usage
astro deployment create
Options
Option | Description | Possible Values |
---|---|---|
-a ,--airflow-version | The Astronomer Certified version to use for the Deployment | Any supported version of Astronomer Certified |
-c , --cloud-role | An AWS or GCP IAM role to append to your Deployment's webserver, scheduler, and worker Pods | Any string |
-t , --dag-deployment-type | The DAG deploy method for the Deployment | Can be either image , git_sync , or volume . The default is image |
-d ,--description | The description for the Deployment | Any string. Multiple-word descriptions should be specified in quotations (" ) |
-e , --executor | The executor type for the Deployment | local , celery , or kubernetes . The default value is celery |
-b , --git-branch-name | The branch name of the git repo to sync your Deployment from. Must be specified with --dag-deployment-type=git_sync | Any valid git branch name |
-u , --git-repository-url | The URL for the git repository to sync your Deployment from. Must be specified with --dag-deployment-type=git_sync | Any valid git repository URL |
-v , --git-revision | The commit reference of the branch that you want to sync with your Deployment. Must be specified with --dag-deployment-type=git_sync | Any valid git revision |
--known-hosts | The public key for your Git provider, which can be retrieved using ssh-keyscan -t rsa <provider-domain> . Must be specified with --dag-deployment-type=git_sync | Any valid public key |
-l ,--label | The label for your Deployment | Any string |
-n ,--nfs-location | The location for an NFS volume mount. Must be specified with --dag-deployment-type=volume . | An NFS volume mount specified as: <IP>:/<path> . Input is automatically prepended with nfs:/ - do not include this in your input |
-r ,--release-name | A custom release name for the Deployment. See Customize release names | Any string of alphanumeric and hyphen characters |
--runtime-version | The Astro Runtime version for the Deployment | Any supported version of Astro Runtime. Major, minor, and patch versions must be specified. |
--ssh-key | The SSH private key for your Git repository. Must be specified with --dag-deployment-type=git_sync | Any valid SSH key |
-s ,--sync-interval | The time interval between checks for updates in your Git repository, in seconds. Must be specified with --dag-deployment-type=git_sync | Any integer |
-t ,--triggerer-replicas | Number of replicas to use for the Airflow triggerer | Any integer between 0 - 2. The default value is 1. |
--workspace-id | The Workspace in which to create a Deployment. If not specified, your current Workspace is assumed | Any valid Workspace ID |
Examples
$ astro deployment create
# CLI prompts you for a Deployment name
$ astro deployment create -l="My Deployment label" --workspace-id="ckwqkz36200140ror6axh8p19"
# Create a Deployment in a separate Workspace. The CLI will not prompt you for more information