exo(1)
π 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.txtinstead ofa.txt) β it uploads under that new name, iconic behaviour, no notes π₯ -rfor 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 tofalse.-h,--help[=false]β help forupload. the classic. defaults tofalseπ-r,--recursive[=false]β upload directories recursively. nesting hours. defaults tofalseπͺ
π 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 varEXOSCALE_CONFIGπ-O,--output-format=""β output format, and the valid ones aretable,json,text. for the deets go seeexo 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 tofalse.--timeout=15sβ per-zone timeout for list operations;-1sdisables the timeout entirely. also reads the env varEXOSCALE_TIMEOUTβ±οΈ defaults to15s.-A,--use-account=""β account to use in the config file. also reads the env varEXOSCALE_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
- nixpkgs unstable: exoscale-cli 1.102.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms