Skip to content

Commit 36263eb

Browse files
authored
docs: add core-service architecture diagram (#2882)
1 parent a0630b4 commit 36263eb

File tree

5 files changed

+111
-45
lines changed

5 files changed

+111
-45
lines changed

docs/cheatsheet/conf.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
4343
# ones.
4444
extensions = [
45+
"plantweb.directive",
4546
"sphinx.ext.autodoc",
4647
"sphinx_tabs.tabs",
4748
"sphinx.ext.napoleon",

docs/conf.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
4343
# ones.
4444
extensions = [
45+
"plantweb.directive",
4546
"sphinx.ext.autodoc",
4647
"sphinx.ext.coverage",
4748
"sphinx.ext.doctest",
@@ -359,7 +360,6 @@
359360
("py:class", "Path"),
360361
("py:class", "Persistent"),
361362
("py:class", "optional"),
362-
("py:class", "persistent.Persistent"),
363363
("py:class", '"LocalClient"'),
364364
("py:class", '"ValueResolver"'),
365365
("py:exc", "errors.ParameterError"),
@@ -369,5 +369,6 @@
369369
("py:class", r"calamus.*"),
370370
("py:class", r"docker.*"),
371371
("py:class", r"marshmallow.*"),
372+
("py:class", r"persistent.*"),
372373
("py:class", r"yaml.*"),
373374
]

docs/reference/service.rst

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,51 @@ Renku Core Service
2121
The Renku Core service exposes a functionality similar to the Renku CLI via a
2222
JSON-RPC API.
2323

24+
Components:
25+
26+
.. uml::
27+
28+
@startuml
29+
skinparam componentStyle rectangle
30+
skinparam lineStyle ortho
31+
32+
component Frontend {
33+
[Views] -down-> RequestModel
34+
ResponseModel -up-> [Views]
35+
}
36+
37+
component "Business Logic" as bl {
38+
[Controllers] --> renku.core
39+
[Jobs] --> renku.core
40+
}
41+
42+
database "External Git" as git {
43+
folder "Remote Projects" as rp
44+
}
45+
46+
database "Redis" as redis {
47+
frame "Metadata" as metadata
48+
frame "Jobs" as jobs
49+
}
50+
51+
database "File Cache" as filecache {
52+
folder "Projects" as projects
53+
folder "Uploaded Files" as files
54+
}
55+
56+
RequestModel -down-> bl
57+
bl -up-> ResponseModel
58+
[Controllers] -right-> rp
59+
[Workers] -right-> bl
60+
bl -left-> [Workers]
61+
[Workers] -down-> jobs
62+
bl -down-> filecache
63+
bl -down-> redis
64+
65+
projects -[hidden]down-> files
66+
metadata -[hidden]down-> jobs
67+
@enduml
68+
2469

2570
API Specification
2671
-----------------

poetry.lock

Lines changed: 60 additions & 43 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ pathspec = "<1.0.0,>=0.8.0"
9696
patool = "==1.12"
9797
pexpect = { version = "<4.9.0,>=4.8.0", optional = true }
9898
pillow = { version = ">=9.0.0,<9.2", optional = true }
99+
plantweb = { version = ">=1.2.1,<1.3.0", optional = true }
99100
pluggy = "==1.0.0"
100101
poetry-dynamic-versioning = { version = "^0.14.0", optional = true }
101102
portalocker = ">=2.2.1,<2.5"
@@ -206,7 +207,7 @@ tests = [
206207
"types-tabulate"
207208
]
208209
toil = ["toil"]
209-
docs = ["renku-sphinx-theme", "sphinx-rtd-theme", "sphinxcontrib-spelling", "sphinx-tabs"]
210+
docs = ["plantweb", "renku-sphinx-theme", "sphinx-rtd-theme", "sphinxcontrib-spelling", "sphinx-tabs"]
210211
all = [
211212
"apispec",
212213
"apispec-webframeworks",
@@ -225,6 +226,7 @@ all = [
225226
"mypy",
226227
"pexpect",
227228
"pillow",
229+
"plantweb",
228230
"poetry-dynamic-versioning",
229231
"ptvsd",
230232
"pydocstyle",

0 commit comments

Comments
 (0)