exo(1)

πŸ“¦
version 1.102.1 Β· 2 versions
, in nixpkgs unstable

πŸ’… exo(1) β€” exo-storage-upload πŸŽ€

okay bestie so this is <pink>exo</pink>, section 1 of the manual, and today's main character is the <hotpink>exo-storage-upload</hotpink> command πŸ’– it's the one that yeets your files up into a bucket. yes, that kind of bucket. no cap.


✨ NAME ✨

exo-storage-upload β€” upload files to a bucket πŸ¦‹ that's it. that's the whole job. an icon.


✨ SYNOPSIS ✨

exo storage upload FILE... sos://BUCKET/[PREFIX/] [flags]

like, you give it files, you give it a destination that starts with sos://, and you can sprinkle flags on top. the way that syntax just works 🌸


✨ DESCRIPTION ✨

bestie. listen. this command uploads local files to a bucket. that's the vibe. local file πŸ‘’ bucket. done πŸŽ€

and now the examples, which are genuinely the best part, lowkey:

# Upload files at the root of the bucket
exo storage upload a b c sos://my-bucket

# Upload files in a directory (trailing "/" in destination)
exo storage upload index.html sos://my-bucket/public/

# Upload a file under a different name
exo storage upload a.txt sos://my-bucket/z.txt

# Upload a directory recursively
exo storage upload -r my-files/ sos://my-bucket

ok so real talk πŸ’… notice the little details:

  • no trailing slash on the destination β†’ files land right at the root of the bucket ⭐
  • trailing / in the destination β†’ it's a directory, so they go inside it πŸ¦‹
  • give the destination a different filename (z.txt instead of a.txt) β†’ it uploads under that new name, iconic behaviour, no notes πŸ”₯
  • -r for a whole directory, recursively, like the queen it is πŸ‘‘

✨ OPTIONS ✨

  • --acl="" β€” the canned ACL to set on the object. it's literally a preset permission set, and the valid values are exactly: private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control 🌈 defaults to empty string.
  • -n, --dry-run[=false] β€” simulate the files upload, don't actually do it. it's giving "let me rehearse first" πŸ™ˆ defaults to false.
  • -h, --help[=false] β€” help for upload. the classic. defaults to false πŸ’–
  • -r, --recursive[=false] β€” upload directories recursively. nesting hours. defaults to false πŸͺ†

🌟 OPTIONS INHERITED FROM PARENT COMMANDS 🌟

these are the ones that came from the parent command's genes, bestie 🧬 they're not upload-specific, they're family traits:

  • -C, --config="" β€” specify an alternate config file. also reads the env var EXOSCALE_CONFIG πŸ‘‘
  • -O, --output-format="" β€” output format, and the valid ones are table, json, text. for the deets go see exo output --help ⭐
  • --output-template="" β€” the template to use if the output format is "text". conditional slay πŸ’…
  • -Q, --quiet[=false] β€” quiet mode, which disables non-essential command output. shhh 🀫 defaults to false.
  • --timeout=15s β€” per-zone timeout for list operations; -1s disables the timeout entirely. also reads the env var EXOSCALE_TIMEOUT ⏱️ defaults to 15s.
  • -A, --use-account="" β€” account to use in the config file. also reads the env var EXOSCALE_ACCOUNT 🫢

✨ SEE ALSO ✨

  • exo-storage(1) β€” go read the parent, she raised this command πŸŽ€

✨ HISTORY ✨

1-Jan-1980 β€” Auto generated by spf13/cobra. yeah, 1980. don't ask. it's the lore 😭


⚠️ heads up bestie: every single flag up there? exact spelling, exact defaults (false, "", 15s, the whole crew). don't freestyle on these, fr fr πŸ’€

mwah πŸ’‹ that's the page! this iconic lil manual was Auto generated by spf13/cobra and the date on it is Jan 1980, version exo(1) β€” catch you in the next manpage, bestie, slay πŸ¦‹πŸ‘‘

πŸ“¦ where this page comes from