Skip to main content

Source Provisioner UX Improvements

· 2 min read
Erik Osterman
Founder @ Cloud Posse

The source provisioner now provides better visual feedback with spinners during auto-provisioning, interactive confirmation prompts for delete operations, and interactive stack selection when --stack is omitted.

What Changed

Four UX improvements to the source provisioner:

  1. Auto-provisioning spinner: When components are automatically vendored on first use, you now see a spinner with progress instead of static messages
  2. Interactive delete confirmation: Running atmos terraform source delete without --force now prompts for confirmation instead of erroring
  3. Delete operation spinner: Deletion shows a spinner during the operation for consistent feedback
  4. Interactive stack selection: All source commands (pull, delete, describe, list) now prompt for stack selection when --stack is omitted

Why This Matters

These changes align the source provisioner with UX patterns used elsewhere in Atmos:

# Before: Static messages during auto-provisioning
ℹ Auto-provisioning source for component 'myapp'
✓ Auto-provisioned source to .workdir/terraform/dev-myapp

# After: Spinner shows progress
⠋ Auto-provisioning source for 'myapp'
✓ Auto-provisioned source to .workdir/terraform/dev-myapp
# Before: Delete required --force or failed
$ atmos terraform source delete myapp --stack dev
Error: --force flag required for safety

# After: Interactive confirmation when --force omitted
$ atmos terraform source delete myapp --stack dev
? Delete directory: .workdir/terraform/dev-myapp? [Yes!/No.]
⠋ Deleting .workdir/terraform/dev-myapp
✓ Deleted .workdir/terraform/dev-myapp
# Before: Required --stack flag or error
$ atmos terraform source pull myapp
Error: --stack flag is required

# After: Interactive stack selection when --stack omitted
$ atmos terraform source pull myapp
? Choose a stack
dev
> prod
staging
ℹ Selected stack `prod`
⠋ Provisioning source for 'myapp'
✓ Provisioned source to components/terraform/myapp

How to Use It

No configuration changes needed. The improvements apply automatically:

  • With TTY: Get interactive prompts and spinners
  • Without TTY (CI/scripts): Use --force to skip confirmation, spinners degrade gracefully
  • Force flag: Still available for scripted workflows: atmos terraform source delete myapp --stack dev --force