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
{{ message }}
This repository was archived by the owner on Nov 9, 2024. It is now read-only.
Copy file name to clipboardExpand all lines: DESIGN-v1.md
+11-11
Original file line number
Diff line number
Diff line change
@@ -9,20 +9,20 @@
9
9
Lodestone is made up of a handful of components, each isolated to its own Docker container.
10
10
At runtime each component is started by docker-compose, and glued together into a single application via a [reverse proxy](https://github.com/AnalogJ/lodestone/issues/31).
11
11
12
-
-**ElasticSearch cluster** - acts as data storage for all document content.
12
+
-:ballot_box_with_check:**ElasticSearch cluster** - acts as data storage for all document content.
13
13
-**Collector - Filesystem Watcher** - filesystem watcher that continuously watches directories for new files to process
14
14
-**Collector - Email Watcher** - email watcher that continuously watches an inbox for new emails
15
-
-**Storage** - S3 compatible blob storage api that can be used to serve files (and thumbnails) via the UI
15
+
-:ballot_box_with_check:**Storage** - S3 compatible blob storage api that can be used to serve files (and thumbnails) via the UI
16
16
-**Queue** - used to coordinate and schedule Collectors
17
-
-**Web** - Static frontend for user to interact with
18
-
-**API** - extendable API layer used by Web component. Used to control all other components
19
-
-**Reverse Proxy** - Front door for application
17
+
-:ballot_box_with_check:**Web** - Static frontend for user to interact with
18
+
-:ballot_box_with_check:**API** - extendable API layer used by Web component. Used to control all other components
19
+
-:ballot_box_with_check:**Reverse Proxy** - Front door for application
20
20
21
21
## API
22
22
23
23
We have a couple of different options for our API design, `Unified`, `Direct/Component` or `Framework` API
24
24
25
-
### Unified
25
+
### :ballot_box_with_check:Unified
26
26
27
27
- We can create a comprehensive API that wraps all the functionality of our components (storage/collectors/elasticsearch),
28
28
providing a unified API that we can then iterate on
@@ -35,8 +35,8 @@ providing a unified API that we can then iterate on
35
35
36
36
- Other components that do not have an API (but need to be available via HTTP) can be accessed via top level paths
37
37
38
-
-`/web`
39
-
-`/storage`
38
+
-:ballot_box_with_check:`/web`
39
+
-:ballot_box_with_check:`/storage`
40
40
41
41
- Any components that do not support a path prefix will need to have a API translation endpoint.
0 commit comments