You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This repository contains various plugins for [XRootD](https://github.com/xrootd/xrootd)'s "Open Storage System" (OSS) layer,
3
+
which affects how XRootD serves objects from storage.
4
+
5
+
The plugins in the repository include:
6
+
-`XrdOssHttp`: Exposes a backend HTTP(S) server as a backend storage.
7
+
-`XrdOssS3`: Exposes a backend S3-compatible interface as a backend storage.
8
+
-`XrdOssFilter`: A "stacking" plugin (meant to be loaded on top of another OSS plugin)
9
+
that exports only files/directories matching a given list of Unix globs.
10
+
-`XrdOssPosc`: A "stacking" plugin that causes in-progress files being written from being
11
+
visible to the filesystem and to be deleted if not successfully closed. Here, "POSC"
12
+
stands for "Persist on Successful Close" and is similar in spirit to the POSC functionality
13
+
in the core XRootD (with the addition of making in-progress files not-visible in the namespace).
1
14
2
-
# S3/HTTP filesystem plugins for XRootD
3
-
These filesystem plugins for [XRootD](https://github.com/xrootd/xrootd) allow you to serve objects from S3 and HTTP backends through an XRootD server.
4
15
5
16
## Building and Installing
6
17
Assuming XRootD, CMake>=3.13 and gcc>=8 are already installed, run:
@@ -18,28 +29,25 @@ make
18
29
If building XRootD from source instead, add `-DXROOTD_DIR` to the CMake command line
19
30
to point it at the installed directory.
20
31
32
+
Dependency packages (tinyxml, gtest, and minio/mc for tests) are automatically downloaded
33
+
if they are not present in the build environment.
34
+
21
35
### Building with Tests
22
36
23
37
Unit tests for this repository require `gtest`, which is included as a submodule of this repo. The tests can be compiled with a slight modification to your build command:
24
38
25
39
```
26
40
mkdir build
27
41
cd build
28
-
cmake -DXROOTD_PLUGINS_BUILD_UNITTESTS=ON ..
42
+
cmake -DBUILD_TESTING=ON ..
29
43
make
30
44
```
31
45
32
-
This creates the directory `build/test` with two unit test executables that can be run:
33
-
-`build/test/s3-gtest`
34
-
-`build/test/http-gtest`
46
+
To run the test framework, execute `ctest` from the build directory:
35
47
36
-
Alternatively, `gtest` can be installed externally. For example, on RHEL-based linux distributions:
37
-
38
-
```bash
39
-
dnf install gtest
40
48
```
41
-
42
-
Add `-DXROOTD_PLUGINS_EXTERNAL_GTEST=ON` to your `cmake` command if you're using an external installation.
49
+
ctest
50
+
```
43
51
44
52
## Configuration
45
53
@@ -48,7 +56,7 @@ Add `-DXROOTD_PLUGINS_EXTERNAL_GTEST=ON` to your `cmake` command if you're using
48
56
To configure the HTTP server plugin, add the following line to the Xrootd configuration file:
0 commit comments