diff --git a/pages/docs/_meta.json b/pages/docs/_meta.json index 383f97f..940342b 100644 --- a/pages/docs/_meta.json +++ b/pages/docs/_meta.json @@ -5,5 +5,6 @@ }, "index": "Introduction", "getting-started": "Getting Started", - "user-guide": "User Guide" + "user-guide": "User Guide", + "advanced": "Advanced" } diff --git a/pages/docs/advanced/_meta.json b/pages/docs/advanced/_meta.json new file mode 100644 index 0000000..e45808d --- /dev/null +++ b/pages/docs/advanced/_meta.json @@ -0,0 +1,5 @@ +{ + "project-structure": "Project structure", + "how-it-works": "How it works ?", + "getting-involved": "Getting Involved" +} diff --git a/pages/docs/getting-involved.mdx b/pages/docs/advanced/getting-involved.mdx similarity index 100% rename from pages/docs/getting-involved.mdx rename to pages/docs/advanced/getting-involved.mdx diff --git a/pages/docs/advanced/how-it-works.mdx b/pages/docs/advanced/how-it-works.mdx new file mode 100644 index 0000000..af432b3 --- /dev/null +++ b/pages/docs/advanced/how-it-works.mdx @@ -0,0 +1,37 @@ +import Image from 'next/image'; +import Architecture from '../../../public/images/architecture.png'; + +## How it works ? + +
+ Lambdo Architecture +
+ +Lambdo is structured into three main components: + +### 1. Initramfs CLI + +The CLI is responsible for generating initial RAM file systems (initramfs) +utilized by the virtual machines (VMs). + +### 2. API + +The API component consists of several parts: + +- **HTTP Server**: This server listens to user code execution requests, + processing incoming requests, and forwarding them to the VM manager. + +- **VM Manager**: The VM manager maintains a record of all previously launched + VMs and can initiate the creation of new VMs using "Lumper" if no VMs are + currently available. Additionally, it includes a gRPC server that allows VMs + to register themselves with the VM manager once they have started, as well as + a gRPC client for sending code execution requests to available VMs. + +### 3. Agent + +The agent runs inside the VMs and is comprised of both a gRPC client and server. +Within the agent, the runner engine takes care of tasks such as creating code +files, executing code, and retrieving the output. + +The VMs are launched using "Lumper" and are equipped with a Linux kernel built +along with the previously generated initramfs. diff --git a/pages/docs/project-structure.mdx b/pages/docs/advanced/project-structure.mdx similarity index 100% rename from pages/docs/project-structure.mdx rename to pages/docs/advanced/project-structure.mdx diff --git a/public/images/architecture.png b/public/images/architecture.png new file mode 100644 index 0000000..89a4f4e Binary files /dev/null and b/public/images/architecture.png differ