Init Config
This command is, in essence, the entrypoint to using daft launcher.
This will initialize an empty configuration file, named .daft.toml
, in the current working directory.
The file itself will contain some default values that you can tune to your liking.
Some of the values are required, while others are optional; which ones are which will be denoted as such.
Example
# initialize the default .daft.toml configuration file
daft init-config
# or, if you want, specify a custom name
daft init-config my-custom-config.toml
Config file specification
Each available configuration option is denoted below, as well as a small blurb on what it does and whether it is required or optional. If it is optional, its default value will be defined as well.
[setup]
# (required)
# The name of the cluster.
name = ...
# (required)
# The cloud provider that this cluster will be created in.
# Has to be one of the following:
# - "aws"
# - "gcp"
# - "azure"
provider = ...
# (optional; default = None)
# The IAM instance profile ARN which will provide this cluster with the necessary permissions to perform whatever actions.
# Please note that if you don't specify this field, Ray will create an automatic instance profile for you.
# That instance profile will be minimal and may restrict some of the feature of Daft.
iam_instance_profile_arn = ...
# (required)
# The AWS region in which to place this cluster.
region = ...
# (optional; default = "ec2-user")
# The ssh user name when connecting to the cluster.
ssh_user = ...
# (optional; default = 2)
# The number of worker nodes to create in the cluster.
number_of_workers = ...
# (optional; default = "m7g.medium")
# The instance type to use for the head and worker nodes.
instance_type = ...
# (optional; default = "ami-01c3c55948a949a52")
# The AMI ID to use for the head and worker nodes.
image_id = ...
# (optional; default = [])
# A list of dependencies to install on the head and worker nodes.
# These will be installed using UV (https://docs.astral.sh/uv/).
dependencies = [...]
[run]
# (optional; default = ['echo "Hello, World!"'])
# Any post-setup commands that you want to invoke manually.
# This is a good location to install any custom dependencies or run some arbitrary script.
setup_commands = [...]