Skip to content

EC2 Tags

spore.host tags every instance it launches with spawn:* tags. These tags drive lifecycle management, filtering, and cost tracking.

Core tags

TagExampleDescription
spawn:managedtrueMarks this instance as spawn-managed. Used to filter in spawn list.
spawn:created2026-04-30T09:00:00ZISO 8601 timestamp when the instance was launched.
spawn:created-byaliceIAM username of the person who launched the instance.
spawn:version1.4.2Version of spawn that created the instance.
spawn:archx86_64CPU architecture of the instance.

Lifecycle tags

TagExampleDescription
spawn:ttl12hTime-to-live. Instance terminates after this duration.
spawn:ttl-remaining8h23mApproximate time until TTL-based termination (updated by spored).
spawn:on-completeterminateAction when TTL expires: terminate, stop, or hibernate.
spawn:idle-timeout30mTerminate/stop if idle for this duration.
spawn:hibernate-on-idletrueHibernate instead of stopping when idle.
spawn:session-timeout2hTerminate if no SSH session for this duration.
spawn:cost-limit50.00Stop/terminate when cumulative cost exceeds this amount (USD).

Naming and purpose

TagExampleDescription
Nameml-trainingHuman-readable instance name (standard AWS Name tag).
spawn:dns-nameml-training.a1b2c3.spore.hostAssigned DNS hostname.
spawn:purposeGPU training runFree-text description set at launch.
spawn:iam-useraliceIAM user identifier (may differ from created-by in federated environments).

Notification tags

TagExampleDescription
spawn:notify-urlhttps://hooks.slack.com/...Webhook URL for lifecycle notifications.
spawn:slack-workspace-idT03NE3GTYSlack workspace to notify.
spawn:notify-command/usr/local/bin/notify.shLocal command to run on lifecycle events.

Parameter sweeps

TagExampleDescription
spawn:sweep-idsweep-abc123Identifies which sweep this instance belongs to.
spawn:sweep-namelr-searchHuman name of the sweep.
spawn:sweep-size16Total number of instances in the sweep.
spawn:sweep-index3Zero-based index of this instance in the sweep.
spawn:steplr=0.001Parameter value(s) for this step.

Job arrays

TagExampleDescription
spawn:job-array-idarray-xyzJob array identifier.
spawn:job-array-namepreprocessHuman name of the array.
spawn:job-array-size8Total instances in the array.
spawn:job-array-index2Zero-based index of this instance.

MPI clusters

TagExampleDescription
spawn:mpi-enabledtrueThis instance is part of an MPI cluster.
spawn:mpi-processes-per-node4Number of MPI processes to run on each node.
spawn:rooti-0abc123Instance ID of the cluster head node.

Pipelines

TagExampleDescription
spawn:pipeline-idpipe-def456Pipeline identifier.
spawn:stage-idstage-ghi789Current pipeline stage.
spawn:stage-index1Stage index (0-based).

Teams

TagExampleDescription
spawn:team-idteam-jklTeam this instance belongs to.
spawn:team-namegenomics-labHuman name of the team.

FSx (Lustre integration)

TagExampleDescription
spawn:fsx-idfs-0abc1234FSx filesystem ID — written at launch so instance scripts can auto-mount without hardcoding the ID.
spawn:fsx-mount-nameq5pdvb4vPer-filesystem Lustre mount name (from LustreConfiguration.MountName). Required for the mount command: <dns>@tcp:/<mount-name>.
spawn:fsx-mount-point/fsxMount point for the FSx filesystem.
spawn:fsx-stack-namespawn-fsx-abcCloudFormation stack managing the FSx filesystem (set by --fsx-create).
spawn:fsx-storage-capacity1200FSx storage size in GiB.
spawn:fsx-import-paths3://bucket/input/S3 path FSx imports from.
spawn:fsx-export-paths3://bucket/output/S3 path FSx exports to.

EFS integration

TagExampleDescription
spawn:efs-idfs-0def5678EFS filesystem ID — written at launch so instance scripts can auto-mount.
spawn:efs-mount-point/efsMount point for the EFS filesystem.

Filtering instances

Use tags with spawn list or the AWS CLI:

sh
# List only your instances
spawn list --filter owner=alice

# AWS CLI: find all spawn-managed instances
aws ec2 describe-instances \
  --filters "Name=tag:spawn:managed,Values=true" \
  --query 'Reservations[].Instances[].{ID:InstanceId,Name:Tags[?Key==`Name`].Value|[0]}'