Merge branch '21762-flaky-search-test'
[arvados.git] / services / fuse / README.rst
1 .. Copyright (C) The Arvados Authors. All rights reserved.
2 ..
3 .. SPDX-License-Identifier: AGPL-3.0
4
5 ========================
6 Arvados Keep FUSE Driver
7 ========================
8
9 Overview
10 --------
11
12 This package provides a FUSE driver for Keep, the Arvados_ storage
13 system.  It allows you to read data from your collections as if they
14 were on the local filesystem.
15
16 .. _Arvados: https://arvados.org/
17
18 Installation
19 ------------
20
21 Installing under your user account
22 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23
24 This method lets you install the package without root access.  However,
25 other users on the same system will need to reconfigure their shell in order
26 to be able to use it. Run the following to install the package in an
27 environment at ``~/arvclients``::
28
29   python3 -m venv ~/arvclients
30   ~/arvclients/bin/pip install arvados_fuse
31
32 Command line tools will be installed under ``~/arvclients/bin``. You can
33 test one by running::
34
35   ~/arvclients/bin/arv-mount --version
36
37 You can run these tools by specifying the full path every time, or you can
38 add the directory to your shell's search path by running::
39
40   export PATH="$PATH:$HOME/arvclients/bin"
41
42 You can make this search path change permanent by adding this command to
43 your shell's configuration, for example ``~/.bashrc`` if you're using bash.
44 You can test the change by running::
45
46   arv-mount --version
47
48 Installing on Debian and Ubuntu systems
49 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50
51 Arvados publishes packages for Debian 11 "bullseye," Debian 12 "bookworm," Ubuntu 20.04 "focal," and Ubuntu 22.04 "jammy." You can install the Python SDK package on any of these distributions by running the following commands::
52
53   sudo install -d /etc/apt/keyrings
54   sudo curl -fsSL -o /etc/apt/keyrings/arvados.asc https://apt.arvados.org/pubkey.gpg
55   sudo tee /etc/apt/sources.list.d/arvados.sources >/dev/null <<EOF
56   Types: deb
57   URIs: https://apt.arvados.org/$(lsb_release -cs)
58   Suites: $(lsb_release -cs)
59   Components: main
60   Signed-by: /etc/apt/keyrings/arvados.asc
61   EOF
62   sudo apt update
63   sudo apt install python3-arvados-fuse
64
65 Installing on Red Hat, AlmaLinux, and Rocky Linux
66 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
67
68 Arvados publishes packages for RHEL 8 and distributions based on it. Note that these packages depend on, and will automatically enable, the Python 3.9 module. You can install the Python SDK package on any of these distributions by running the following commands::
69
70   sudo tee /etc/yum.repos.d/arvados.repo >/dev/null <<EOF
71   [arvados]
72   name=Arvados
73   baseurl=http://rpm.arvados.org/CentOS/\$releasever/os/\$basearch/
74   gpgcheck=1
75   gpgkey=http://rpm.arvados.org/CentOS/RPM-GPG-KEY-arvados
76   EOF
77   sudo dnf install python3-arvados-fuse
78
79 Configuration
80 -------------
81
82 This driver needs two pieces of information to connect to
83 Arvados: the DNS name of the API server, and an API authorization
84 token.  `The Arvados user
85 documentation
86 <http://doc.arvados.org/user/reference/api-tokens.html>`_ describes
87 how to find this information in the Arvados Workbench, and install it
88 on your system.
89
90 Testing and Development
91 -----------------------
92
93 Debian packages you need to build llfuse::
94
95   sudo apt install python-dev pkg-config libfuse-dev libattr1-dev
96
97 This package is one part of the Arvados source package, and it has
98 integration tests to check interoperability with other Arvados
99 components.  Our `hacking guide
100 <https://dev.arvados.org/projects/arvados/wiki/Hacking_Python_SDK>`_
101 describes how to set up a development environment and run tests.