implementation-components.d2 · 2510 B · ext
.d2 · seen 2× in SWHvia unique-primary
swh:1:cnt:e82e05751feab344a7be7a71de6b6be49ddd6f5a;origin=https://github.com/Adhalianna/wit;anchor=swh:1:rev:db89a716a47785862b9324c2311b940e3027d6c5;path=/docs/paper/img/implementation-components.d2
Show source
vars:{
d2-config: {
layout-engine: elk
}
}
classes: {
container: {
icon.near: top-center
label.near: outside-top-left
style.stroke-width: 1
}
icon: {
label.near: outside-top-left
style.bold: false
style.stroke-width: 1
}
libgit2: {
style.stroke: orangered
style.fill: papayawhip
icon: https://icons.terrastruct.com/dev%2Fgit.svg
}
rust: {
style.stroke: black
style.fill: whitesmoke
icon: https://icons.terrastruct.com/dev%2Frust.svg
}
git2: {
style.stroke: black
style.fill: whitesmoke
icon: https://icons.terrastruct.com/dev%2Frust.svg
}
git-odb: {
style.stroke: orangered
style.fill: peachpuff
icon: https://icons.terrastruct.com/essentials%2F117-database.svg
}
kademlia: {
style.fill: thistle
style.stroke: orchid
}
files: {
style.stroke: darkkhaki
style.fill: beige
icon: https://icons.terrastruct.com/essentials%2F257-file.svg
}
tier: {
style.italic: true
style.bold: false
style.stroke-width: 1
label.near: outside-top-center
grid-rows: 1
vertical-gap: 15
horizontal-gap: 20
}
stack: {
horizontal-gap: 25
vertical-gap: 15
style.bold: true
style.stroke-width: 2
}
}
Server: {
grid-rows: 3
class: [stack]
label: ""
presentation: - Presentation - {
class: [container; tier]
Client: CLI Client {
grid-columns: 1
class: stack
clap: {
class: [rust; icon]
}
git2: {
class: [git2; container]
libgit2: {
class: [libgit2; icon]
}
}
}
browser: Web Browser {
class: [icon]
icon: https://icons.terrastruct.com/dev%2Ffirefox.svg
}
}
logic: - Business Logic - {
class: [container; tier]
axum: {
class: [rust; container]
tower-cgi: {
class: [rust; container]
git-http-backend: {
class: [libgit2; icon]
}
}
markdown-it: {
class: [rust; icon]
}
}
libp2p: {
class: [rust; container]
kademlia: Kademlia DHT {
class: [kademlia]
}
}
}
storage: - Data - {
class: [container; tier]
git2: {
class: [git2; container]
libgit2: {
class: [libgit2; container]
git-odb: git ODB {
class: [git-odb; icon]
}
}
}
redb: {
class: [rust; container]
dbfile: DB File {
class: [files; icon]
}
}
}
}