Feature #21504
closedarv-mount reference page
Description
For as much as our users use it, arv-mount is underdocumented. Basically the only resource dedicated to it is the tutorial page about it. Explaining a lot of the more advanced features and options there would be premature, because this first section of the tutorial is about data management, so details of the Arvados API haven't been introduced yet.
Write a new reference-level page with details about arv-mount options. It should cover every arv-mount option in a table, with details about the expected format, how the value is interpreted, and the default (if any). Try to group related options together, like "what gets mounted" options, cache options, log options, etc. Take inspiration from our API reference.
Where should this page live?
- One option is to add it to a new "Reference" section at the end of the user guide. Long-term we could probably split out a whole "User Reference" supersection out of the user guide, but until we have enough pages to justify that, this is a reasonable starting point.
- Another option would be to create a section for arv-mount under the SDK section. The obvious downside of this is arv-mount isn't really an SDK, so that's weird. But this section already has other reference material interesting to users (like the Python and CLI SDK references) so it keeps like pages together.
Neither of these options are perfect, but they're both decent short-term solutions without doing damage to the current documentation organization.
Related issues
Updated by Peter Amstutz 9 months ago
- Target version changed from To be scheduled to Development 2024-02-28 sprint
Updated by Brett Smith 9 months ago
Draft text for a --filters
option, since I just implemented it in #21452 and it's fresh in my head:
--filters
: Add arbitrary filters to limit which Arvados objects are accessible from this mount. Write filters in JSON format, using the same qualified field syntax as the groups/contents
API method [link]. You can provide the filter list either as a single JSON string on the command line, or as a path to a file with JSON to read.
Note that filters may not be consistently applied to objects you create via the mount.
Example value: Exclude all intermediate workflow outputs, log collections, and filter groups from this mount.
--filters='[["collections.properties.type", "not in", ["intermediate", "log"]], ["groups.class", "!=", "filter"]]'
Example value: Read and apply filters from the file at /etc/arvados/mount-filters.json
.
--filters=/etc/arvados/mount-filters.json
Updated by Brett Smith 9 months ago
21504-arv-mount-reference @ e0724a24547a1e22377a4ec2fa077b7c3597dbfd - developer-run-tests: #4057
As a practical matter, I was always going to start writing the documentation by copying and pasting the output from arv-mount --help
. So, I started by improving that output, making it more organized and consistent.
This branch adds a dedicated FUSE section to the SDK section. I think we should aim towards making the "SDK" section more of a "User Reference" section. It could cover both language SDKs and command line tools. We already do some of this. Note that we already had a page about installing arv-mount here, so this is just expanding that. More thorough reorganization can happen as part of/after #16055.
- All agreed upon points are implemented / addressed.
- Yes
- Anything not implemented (discovered or discussed during work) has a follow-up story.
- N/A
- Code is tested and passing, both automated and manual, what manual testing was done is described
- See above
- Documentation has been updated.
- That's all this branch does
- Behaves appropriately at the intended scale (describe intended scale).
- No change in scale
- Considered backwards and forwards compatibility issues between client and server.
- No change in compatibility
- Follows our coding standards and GUI style guidelines.
- Yes
Updated by Peter Amstutz 9 months ago
- Target version changed from Development 2024-02-28 sprint to Development 2024-03-13 sprint
Updated by Peter Amstutz 9 months ago
- Target version set to Development 2024-03-13 sprint
- Tracker changed from Idea to Feature
Updated by Lucas Di Pentima 9 months ago
The documentation updates look very nice, thanks!
I've found a bug in doc/Rakefile
, it wasn't possible to just run rake
or rake -T
to list the available options. This fixed it:
diff --git a/doc/Rakefile b/doc/Rakefile
index 3ec494f57d..f2932284d9 100644
--- a/doc/Rakefile
+++ b/doc/Rakefile
@@ -80,7 +80,7 @@ $build_sdks = begin
if sdk.can_build?
sdk
else
- puts "Warning: cannot build #{name.replace(/SDK$/, ' SDK')} documentation, skipping".colorize(:light_red)
+ puts "Warning: cannot build #{name.gsub(/SDK$/, ' SDK')} documentation, skipping".colorize(:light_red)
end
end
else
Updated by Brett Smith 9 months ago
- Related to Idea #19939: Fully document, illustrate how to use arv-mount --exec added