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.
- 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 gcp . | For standard clusters, possible values are aws and gcp . For dedicated clusters, possible values are aws , azure , and gcp . |
-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