From 469a8fb1ea7b689399c30badbf33fc467531c561 Mon Sep 17 00:00:00 2001 From: Matthieu Date: Fri, 17 Sep 2021 18:41:56 +0400 Subject: basic com implementation & cache base --- docs/README.md | 1 + docs/common.md | 6 ++++++ docs/components/auto-scaler.md | 0 docs/components/cache.md | 0 docs/components/gateway.md | 0 docs/components/ratelimiter.md | 0 docs/components/webhook.md | 8 ++++++++ docs/exemples/config.yaml | 0 docs/structure.md | 15 +++++++++++++++ 9 files changed, 30 insertions(+) create mode 100644 docs/README.md create mode 100644 docs/common.md create mode 100644 docs/components/auto-scaler.md create mode 100644 docs/components/cache.md create mode 100644 docs/components/gateway.md create mode 100644 docs/components/ratelimiter.md create mode 100644 docs/components/webhook.md create mode 100644 docs/exemples/config.yaml create mode 100644 docs/structure.md (limited to 'docs') diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..fcc815a --- /dev/null +++ b/docs/README.md @@ -0,0 +1 @@ +# Nova documentation \ No newline at end of file diff --git a/docs/common.md b/docs/common.md new file mode 100644 index 0000000..3dce3ac --- /dev/null +++ b/docs/common.md @@ -0,0 +1,6 @@ +# Common packages + +Nova exposes common packages for all the different projects in the mono-repo. +Since Nova uses two different languages, it has two different common libraries, +one built in rust in [the common/rust](../common/rust) directory and one in Go +in [the common/](../common) directory. \ No newline at end of file diff --git a/docs/components/auto-scaler.md b/docs/components/auto-scaler.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/components/cache.md b/docs/components/cache.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/components/gateway.md b/docs/components/gateway.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/components/ratelimiter.md b/docs/components/ratelimiter.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/components/webhook.md b/docs/components/webhook.md new file mode 100644 index 0000000..76361ef --- /dev/null +++ b/docs/components/webhook.md @@ -0,0 +1,8 @@ +# Webhook + +> TD;TR The webhook component is an implementation of the discord interaction webhooks; You can either use the Gateway or the Webhooks. The webhooks __require__ an external https endpoint to work. + +The webhook source code is located in the [webhook](../../webhook) folder and is implemented in Rust. It's a simple http web server which implements the webhook signature verification and deserialization. Like the gateway, the messages are redirected using the [relaying system](../common#relaying_trait). + +The signature verification is done using libsodium via the libsodium-sys trait. +Subsequently, it uses code marked as "unsafe" in rust. It's built into the binary statically. Any route can be used to receive webhook messages. \ No newline at end of file diff --git a/docs/exemples/config.yaml b/docs/exemples/config.yaml new file mode 100644 index 0000000..e69de29 diff --git a/docs/structure.md b/docs/structure.md new file mode 100644 index 0000000..1f82ae3 --- /dev/null +++ b/docs/structure.md @@ -0,0 +1,15 @@ +# Workspace/System structure + +## System structure + +In the nova repository, two different types of projects exist, + +* The management projects primarly in Go \ + They manage the other components of the nova infrastructure. +* The data-path projects \ + They handle all the data transfer / management. + +### Gateway + +> The gateway interfaces with the discord gateway to retrive events in real time +It's implemented in rust and is in the gateway folder. \ No newline at end of file -- cgit v1.2.3