Skip to content

Fix Object Mount docs that no longer match the product - #693

Merged
egonelbre merged 16 commits into
mainfrom
object-mount-fixes
Nov 13, 2026
Merged

egonelbre merged 16 commits into
mainfrom
object-mount-fixes

Conversation

@egonelbre

Copy link
Copy Markdown
Member

Summary

These fixes correct Object Mount docs that no longer match the product. Each claim was checked against the Object Mount source, and each commit names the source file it relies on. There is one commit per problem, so any of them can be dropped on its own.

Linux install       real installer names, activation via CUNO_INSTALL_LICENSE /
                    `cuno creds activate` (the trial prompt is gone), installed links,
                    uninstall steps, Object-Mount-User-Guide.pdf
macOS install       macOS 13+, macFUSE minimum per macOS version
Linux CLI           CUNO_ROOT doesn't exist; Fusion --root must be a URI;
                    `cuno --flex <path> run`; CUNO_PROFILE only picks the reader;
                    unread credential keys; setposix true = enforced;
                    no -o allow_root with --posix; no setfacl; SSE flag names;
                    cachehome quoting; -filePrefetch disables prefetch;
                    `cuno creds license`
Desktop app         several mounts can be active; drive letter per mount;
                    "Copy/Move items here"; folders can be pinned; Clear Cache dialog
Links               #step-3-install-macfuse-required (was broken on storj.dev)

Evidence

  • Before: following the docs fails in several places. For example, cuno run --flex … tries to execute --flex, and cuno mount --fusion … --root /cuno/s3/… exits with code 62.
    After: the examples use the forms the scripts accept (cuno.in, create_petamount_from_template).
  • All Markdoc callout/tabs/tab tags are balanced, all docId: links resolve and all anchors point at existing headings. Checked with the Markdoc-to-Markdown converter the Object Mount repo uses to sync these pages.
  • Not rendered on the site. Not tested on real systems: whether CUNO_INSTALL_LICENSE reaches the apk post-install script on Alpine.

Merge Danger

Door: two-way

Docs only. Each commit reverts on its own.

Blast Radius: object-mount docs

27 pages under app/(docs)/object-mount/. No front matter, docIds or redirects change.

@github-actions

github-actions Bot commented Nov 12, 2026 •

Copy link
Copy Markdown

Firebase preview

Preview URL: https://storj-dev--pr-693-q6hitjuj.web.app

Expires: Thu, 19 Nov 2026 12:33:21 GMT

The installers are named cuno-<version>-x86_64-glibc-installer.run,
cuno_<version>_amd64_glibc_deb.run and so on (MakeCunoPackageUUID.sh);
the "mne" names and the separate "Intel x86" build don't exist.

The interactive "Press 1 for a trial / Press 2 for a key" prompt was
removed from the installer. It now activates from CUNO_INSTALL_LICENSE
or tells the user to run `cuno creds activate` (postinstall.sh), and
CUNO_INSTALL_* must be set after sudo. The scripted installer links
cuno, cuno.so and shell completions, not man pages (install.sh), and
the unpacked packages contain Object-Mount-User-Guide.pdf.

The activate page drops the free-trial option and notes that a key
file must have mode 0600, 0400 or 0500.
CUNO_ROOT is not set by anything; use the installation directory. The
scripted installer creates no man-page links (there is no
man8/cuno.so.8), but does create completion links. Package removal
leaves /opt/cuno/etc/license behind.
Object Mount is built for macOS 13.0 (13.5 for the Finder extension),
not 12. The app's minimum macFUSE depends on the macOS version
(MacHelper.cs): 4.4.0 on 13 up to 5.0.6 on 26, so "4.8.2 or later" is
too old for macOS 26.
Nothing sets or reads CUNO_ROOT. Use /opt/cuno (or ~/.local/opt/cuno),
or CUNO_BASEDIR inside a cuno shell; the library is lib/cuno.so. The
credentials lookup order follows the code: CUNO_CREDENTIALS,
XDG_CONFIG_HOME/cuno/creds, then cuno-config/creds next to the
install directory.
no-multipart-upload, no-copy-part and no-range-download are not read
by the credential parser (CloudClient.cpp). detectfeatures only
detects no-delete-objects and no-remote-copy for S3, and appends to
the given path unless it names an imported credential file, so the
examples now use the imported .s3c name.
`cuno mount --fusion` exits with code 62 unless --root is a URI such
as s3://bucket/path. --flex is only parsed before the subcommand, so
`cuno run --flex` fails; use `cuno --flex <path> run`. --flex adds
cloudrootover=<path>, not cloudrootover=exact. The log level is set
with CUNO_LOG, not CUNO_DEBUG.
CUNO_PROFILE only selects the download reader: hpc and direct pick
other readers, anything else (including M&E) uses the default
(ClientDownstream.cpp). It doesn't change metadata caching, logging
or memory use.
- `setposix ... true` is enforced mode; permissive is the
  non-enforced one. ENOTSUP is 95 on Linux.
- --posix already sets allow_other, and FUSE refuses allow_root
  together with it, so don't add -o allow_root.
- ACLs are not built in, so remove the setfacl example.
- POSIX metadata is stored in a hidden folder in each directory, not
  in one index file at the bucket root.
ALT_AWS_S3OPTIONS, ALT_GS_ENCRYPTION and altgs:// don't exist. The
flags are --sse-write-c/--sse-read-c, not awscli's --sse-c.
The default is /cunodb/;/dev/shm/, then XDG_CACHE_HOME/cuno and the
temp directory. The example must be quoted or the shell splits it at
the semicolons.
A leading - turns file prefetch off (PetageneEnvMode.cpp), and it is
on by default, so the advice slowed large reads down.
`cuno creds list` lists credentials; the license status comes from
`cuno creds license`.
The heading is "Install macFUSE", so the anchor is
step-3-install-macfuse-required.
Several mounts can be active at once; only mounts with overlapping
paths or cloud roots conflict (CunoMountService.cs). There is no
"Preferred drive letter" setting: each mount has a Drive Letter
choice, defaulting to Automatically assign.
The Explorer menu is Object Mount > Copy items here, or Move items
here after a Cut, in either direction. Folders can be pinned, with
three overlays. Clear Cache opens a dialog; Clear Disk Cache keeps
pinned items.
The tab is Settings, not Preferences, and the fields are Data cache,
S3 connections limit and Object Mount log level.
@AlexeyALeonov

Copy link
Copy Markdown
Collaborator

@egonelbre
egonelbre merged commit 678aaaa into main Nov 13, 2026
2 checks passed
@egonelbre
egonelbre deleted the object-mount-fixes branch November 13, 2026 09:14

This branch was successfully deployed

1 active deployment
Preview — 16701bc4 Deployed Nov 12, 2026 by github-actions[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants