Back up Pulumi stack state
Use this when state lives on Pulumi Cloud (including ephemeral agent accounts) and you need an offline copy, or when moving off SaaS invites entirely.
Export a checkpoint (always works)
From the org infra repo:
pulumi stack select <stack> pulumi stack export --file pulumi-state-<org>-<stack>.json
-
Default export redacts secrets. Add
--show-secretsonly on a locked machine when you intentionally need plaintext recovery material. -
Import later with
pulumi stack import --file …into a stack on the destination backend. -
An export of a never-applied stack is nearly empty JSON — still worth keeping after the first successful
pulumi up.
Schedule exports (Task Scheduler / cron / CI artifact) after every production apply if you stay on Pulumi Cloud Individual.
Prefer: self-managed backend (team without Team Edition)
Skip Pulumi Cloud membership entirely:
# Object storage (examples) pulumi login s3://your-company-pulumi-state pulumi login gs://your-company-pulumi-state # Local or synced directory (single operator or carefully shared path) pulumi login file:///path/to/pulumi-state pulumi login --local
Then collaboration is IAM + Git, not Pulumi invites. You must back up that bucket or directory yourself.
Read Pulumi secrets vs stack state if you expected the git repo alone to remember live Cloudflare resource IDs.
GUIs when rclone feels hostile
rclone is powerful and opaque. You do not have to live in the CLI. Options (not all tested here — pick one and try):
| Tool | Fit | Notes |
|---|---|---|
GUI over rclone |
Browse/sync/mount; multi-provider. Evaluate free vs paid tiers yourself. |
|
Free open-source browser |
S3, B2, Drive, many protocols. Same family as Mountain Duck. |
|
Mount as a drive |
Finder / Explorer mount; Backblaze documents B2 + S3-style clients in this class. |
|
Windows S3/B2-style buckets |
Object-storage focused (not Google Drive). |
|
Survey |
Community list of GUIs and sync tools — use when shopping; verify license and malware like any download portal. |
Backblaze’s own docs and marketing commonly point people at Cyberduck, Mountain Duck, and similar S3/B2 GUIs rather than raw rclone. Prefer those if Drive is only a temporary landing zone and B2/R2 will hold Pulumi state.
Google Drive as an export landing zone
Drive is a reasonable offline copy of pulumi stack export JSON. It is not a supported Pulumi state backend (do not pulumi login to Drive).
Options that fit this workstation:
| Tool | Role |
|---|---|
|
Preferred local CLI for Drive, S3, Spaces, R2, B2, etc. Known remotes on this machine include |
Composio Google Drive (MCP / agents) |
Same Drive account from Cursor agents; create folders / upload export JSON when |
DevCentr RepoDrive ( |
Unrelated — forge-repo virtual filesystem, not cloud object storage. |
Suggested Drive layout (founder Drive already has Pulumi backups with a nonprofit-resources/ child):
Pulumi backups/
nonprofit-resources/
nonprofit-resources-infra-prod-YYYYMMDD.json
foodtrucknerdz/
…
Treat exports as sensitive (resource IDs, sometimes secret ciphertext). Keep the folder private; do not attach exports to public issues.
Migrating off an ephemeral agent account
-
Export every stack:
pulumi stack export --file … -
Claim the agent account or log in as your lasting Individual user / point
pulumi loginat object storage -
pulumi stack init(if needed) +pulumi stack import --file … -
Confirm
pulumi previewis clean before the next apply -
Upload the same export JSON to Drive as a dated backup
See Pulumi Cloud org model for why free Organizations/invites are not the escape hatch.