Browse code

Add README.

Xavier G authored on 05/04/2020 16:12:05
Showing 1 changed files

1 1
new file mode 100644
... ...
@@ -0,0 +1,35 @@
1
+# CombinedFS
2
+
3
+CombinedFS stands for Completely Over-engineered, Melted Brain-Induced, Not Even Decent Fucking Solution.
4
+Well, no, it doesn't, but I like far-fetched acronyms.
5
+
6
+CombinedFS is a FUSE FileSystem that exposes a transformed, straightforward, read-only version of Let's Encrypt / Certbot's "live" directory for better integration with software that requires "combined" PEM files.
7
+
8
+## Features
9
+
10
+ - Dynamically concatenate and expose adequate PEM files;
11
+ - include PEM files from outside the Certbot directory, e.g. Diffie-Hellman parameters;
12
+ - hide symlinks, resulting in a single directory to expose to your TLS frontend;
13
+ - filter exposed certificates (whitelist / blacklist) using a regular expression;
14
+ - expose either a Certbot-like tree (e.g. my.domain.tld/combined.pem), suitable for those who just need filtering or concatenation...
15
+ - or a flattened directory (e.g. my.domain.tld_cert.pem), suitable for software that loads all PEM files in a given directory;
16
+ - specify Unix permissions: uid, gid, mode, either globally or on a per-file basis (not a per-cert basis though).
17
+
18
+## Implementation
19
+
20
+ - Python with [fusepy](https://github.com/fusepy/fusepy)
21
+ - YAML/JSON configuration file
22
+
23
+## How to use it
24
+
25
+```
26
+combinedfs.py /path/to/configuration.yaml /mount/point
27
+```
28
+
29
+Refer to `configuration.reference.yaml` to write your own configuration file.
30
+
31
+## Why?
32
+
33
+Certbot already offers hooks to handle pretty much everything, from mere concatenations to complex deployments to various kinds of clusters.
34
+So why write a Fuse FileSystem to cover only a small part of this scope?
35
+Well, duh. Because it's fun, here's why.