From 4bf6d7442aad9a2a013e6eb990b8d41a83f3fcd4 Mon Sep 17 00:00:00 2001 From: Raphael Date: Sun, 12 Apr 2026 16:28:27 +0200 Subject: [PATCH 01/16] feat: default configuration for runtimes services --- service.configuration.json | 37 ++++++++++++------------------------- 1 file changed, 12 insertions(+), 25 deletions(-) diff --git a/service.configuration.json b/service.configuration.json index f7107f1..983476f 100644 --- a/service.configuration.json +++ b/service.configuration.json @@ -1,30 +1,17 @@ { - "actions": [ + "actions": [], + "runtimes": [ { - "token": "token", - "identifier": "discord", - "configs": [ - { - "project_id": 1, - "configs": [ - { - "identifier": "send_message", - "value": { - "channel_id": "123456789012345678", - "content": "Hello from bot" - } - }, - { - "identifier": "assign_role", - "value": { - "guild_id": "987654321098765432", - "user_id": "111111111111111111", - "role_id": "222222222222222222" - } - } - ] - } - ] + "identifier": "taurus", + "token": "HsCEzbCuaUtUGSCrvwsSbJSlS2HH6TrW0ZeEKUZGTiOH8vPEZxyAEOx974Ku72l4" + }, + { + "identifier": "draco-rest", + "token": "SBO3dRKmhszmGH6KxpgKoYGp0gBfgWqV6WEiKtMxldyeWiYLqJx6vwLuVLKRhu8H" + }, + { + "identifier": "draco-cron", + "token": "VuTFgCj1PO6yr8smk43XLmeTUtlyKa2wjA0zvmz7WZDtgfXC62Ypd1b8fjJl8HvI" } ] } From eeb0dc2f207d088f175f7f1ee376fe28210f4c1b Mon Sep 17 00:00:00 2001 From: Raphael Date: Sun, 12 Apr 2026 17:48:52 +0200 Subject: [PATCH 02/16] docs: adjusted docs to include latest configuration --- docs/Guides/dev.md | 23 ++++++--- docs/Guides/setup.md | 112 ++++++++++++++++++++++++++++++++++--------- 2 files changed, 106 insertions(+), 29 deletions(-) diff --git a/docs/Guides/dev.md b/docs/Guides/dev.md index 6218721..989121d 100644 --- a/docs/Guides/dev.md +++ b/docs/Guides/dev.md @@ -8,21 +8,30 @@ Follow this guide to develop Aquila. To contribute to Aquila's development, you need the following expertise and tools: -- **Rust Knowledge**: Proficient in Rust programming, including complex abstractions and performance optimizations. -- **Experience with gRPC**: Familiarity with building and consuming gRPC services. -- **NATS**: Understand Pub/Sub and JetStream. +- **[Rust Knowledge](https://rust-lang.org/)** +- **[Experience with gRPC](https://grpc.io)** +- **[NATS](https://nats.io)** --- +## Setting Up a Virtual Development Environment (Prefered) + +[Visit Setup Guide](https://docs.code0.tech/general/install/) + +Use the Docker-Compose to start our application. Make shure to stop Aquila for development. Alternatively `COMPOSE_PROFILES` can be set to only `ide` to exclude all runtimes services (manual NATS start is required) + ## Setting Up a Local Development Environment 1. **Install Rust and Cargo** Install the latest versions of Rust and its package manager, Cargo. Use [Rustup](https://rustup.rs/) for an easy installation. 2. **Set Up Local NATS Instance** - - Install NATS on your local machine or use the Dockerimage. - - Ensure its running and accessible for Aquila. - - Activate JetStream - - For any help refer to the [NATS documentation](https://docs.nats.io/running-a-nats-service/introduction/installation) + - Install NATS on your local machine or use the Dockerimage. + - Ensure its running and accessible for Aquila. + - Activate JetStream + - For any help refer to the [NATS documentation](https://docs.nats.io/running-a-nats-service/introduction/installation) +3. **Setup Sagittarius** + - Ensure Sagittarius gRPC is running and accessible for Aquila. + - [Repository](https://github.com/code0-tech/sagittarius) --- diff --git a/docs/Guides/setup.md b/docs/Guides/setup.md index 63348c1..9132bba 100644 --- a/docs/Guides/setup.md +++ b/docs/Guides/setup.md @@ -18,8 +18,7 @@ Follow this guide to set up Aquila. ### Manual Installation -1. **Download the Latest Binary** - Download the latest Aquila binary from . +1. **Clone Aquila** 2. **Set Up Environment Variables** Configure the `.env` file in the root folder with the required settings. 3. **Ensure Required Service Is Running** @@ -29,33 +28,102 @@ Follow this guide to set up Aquila. - For any help refer to the [NATS documentation](https://docs.nats.io/running-a-nats-service/introduction/installation) - **Sagittarius**: Ensure a Sagittarius instance is reachable. 4. **Start the Application** - Execute the binary to start Aquila. --- ## Environment Variables -Below is a list of required environment variables for configuring Aquila: - -| Name | Description | Default | -|-----------------------|------------------------------------------------------------------------------------------------------------------------------------|---------------| -| `MODE` | Specifies the application mode. `Static`: Startup using a flow file & `Dynamic`: Startup and continuously update from Sagittarius. | `static` | -| `ENVIRONMENT` | Defines the application environment for logging and debugging (e.g., `development`, `production`). | `developemnt` | -| `NATS_URL` | The URL of the NATS instance Aquila connects to. | `flow_store` | -| `NATS_BUCKET` | The name of the bucket Aquila uses to store flows. | | -| `SAGITTARIUS_URL` | The URL of the Sagittarius instance Aquila communicates with. | | -| `FLOW_FALLBACK_PATH` | Path to the flow file used for static configuration in `Static` mode. | | -| `RUNTIME_TOKEN` | A runtime token for authenticated communication between Aquila and Sagittarius. | | -| `GRPC_HOST` | Hostname for the Aquila instance. | | -| `GRPC_PORT` | gRPC Port for the Aquila instance. | | -| `WITH_HEALTH_SERVICE` | If activated Aquila will start with the gRPC-health-service for monitoring. | `false` | +Below is a list of environment variables for configuring Aquila. The configuration is split into +common variables and mode-specific variables. ---- +### Common (Static + Dynamic) + +| Name | Description | Default | +|-------------------------|-----------------------------------------------------------------------------------------------------|---------------------------------| +| `MODE` | Application mode. `static` starts from a local flow file. Any non-`static` mode runs dynamic mode. | `static` | +| `ENVIRONMENT` | Logging/behavior environment (`development`, `staging`, `production`). | `development` | +| `NATS_URL` | URL of the NATS instance Aquila connects to. | `nats://localhost:4222` | +| `NATS_BUCKET` | Name of the NATS KV bucket used to store flows. | `flow_store` | +| `GRPC_HOST` | Hostname for the Aquila gRPC server. | `127.0.0.1` | +| `GRPC_PORT` | Port for the Aquila gRPC server. | `8081` | +| `WITH_HEALTH_SERVICE` | If `true`, Aquila enables the gRPC health service. | `false` | +| `SERVICE_CONFIG_PATH` | Path to the service configuration file used for action/runtime tokens and default action configs. | `./service.configuration.json` | + +### Static Mode + +Set `MODE=static` to start Aquila from a local flow file and insert flows into the NATS KV store. -### Notes +| Name | Description | Default | +|----------------------|---------------------------------------------------------|--------------------| +| `FLOW_FALLBACK_PATH` | Path to the flow JSON file loaded on startup. | `./flowExport.json`| -- Ensure that all required services (NATS, Sagittarius) are properly configured and accessible before - starting Aquila. -- If using Docker, remember to map necessary ports and volumes based on your deployment requirements. +### Dynamic Mode + +Dynamic mode keeps flows updated by streaming from Sagittarius. Any non-`static` mode value will +start dynamic mode (for example `MODE=hybrid` if supported by your `code0_flow` version). + +| Name | Description | Default | +|-------------------|-----------------------------------------------------------------------------------|---------------------------| +| `SAGITTARIUS_URL` | URL of the Sagittarius instance Aquila connects to for flow/action configuration. | `http://localhost:50051` | +| `RUNTIME_TOKEN` | Token used to authenticate Aquila with Sagittarius. | `default_session_token` | --- + +## Service Configuration File + +To add services like `Taurus`, `Draco` or an `Action` to the runtime, the serivce needs to be configured inside of `Aquila` to make shure its authorized. + +`SERVICE_CONFIG_PATH` points to a JSON file that defines allowed runtime/action tokens and optional +default action configurations. This file is loaded on startup; if it is missing or invalid, Aquila +starts with an empty service configuration. + +By default `Aquila` has a config for that is pre-configured for runtime services. + +Default: + +```json +{ + "actions": [], + "runtimes": [ + { + "identifier": "taurus", + "token": "HsCEzbCuaUtUGSCrvwsSbJSlS2HH6TrW0ZeEKUZGTiOH8vPEZxyAEOx974Ku72l4" + }, + { + "identifier": "draco-rest", + "token": "SBO3dRKmhszmGH6KxpgKoYGp0gBfgWqV6WEiKtMxldyeWiYLqJx6vwLuVLKRhu8H" + }, + { + "identifier": "draco-cron", + "token": "VuTFgCj1PO6yr8smk43XLmeTUtlyKa2wjA0zvmz7WZDtgfXC62Ypd1b8fjJl8HvI" + } + ] +} +``` +You can just add as many runtimes as you want. To add an `Action` just add an entry to `actions`. To provide a configuration for an `Acion` you can add `config` objects to the `Action` + +```json +{ + "actions": [ + { + "token": "action_token", + "identifier": "discord", + "configs": [ + { + "project_id": 1, + "configs": [ + { + "identifier": "send_message", + "value": { + "channel_id": "123456789012345678", + "content": "Hello from bot" + } + } + ] + } + ] + } + ], + "runtimes": [] +} +``` From 7fe23b44d50fb32b06f99bb3ac433e97685be579 Mon Sep 17 00:00:00 2001 From: Raphael Date: Sun, 12 Apr 2026 18:14:21 +0200 Subject: [PATCH 03/16] docs: fix typos --- docs/Guides/dev.md | 27 ++++++++++++++------------- docs/Guides/setup.md | 23 +++++++++++------------ docs/index.mdx | 13 +++++++------ 3 files changed, 32 insertions(+), 31 deletions(-) diff --git a/docs/Guides/dev.md b/docs/Guides/dev.md index 989121d..d2889c5 100644 --- a/docs/Guides/dev.md +++ b/docs/Guides/dev.md @@ -2,42 +2,43 @@ title: Aquila Development Guide --- -Follow this guide to develop Aquila. +Use this guide to set up a development environment for Aquila. Choose either the virtual environment (recommended) or a fully local setup. ## Requirements -To contribute to Aquila's development, you need the following expertise and tools: +To contribute to Aquila, you should be comfortable with: -- **[Rust Knowledge](https://rust-lang.org/)** -- **[Experience with gRPC](https://grpc.io)** +- **[Rust](https://rust-lang.org/)** +- **[gRPC](https://grpc.io)** - **[NATS](https://nats.io)** --- -## Setting Up a Virtual Development Environment (Prefered) +## Setting Up a Virtual Development Environment (Preferred) [Visit Setup Guide](https://docs.code0.tech/general/install/) -Use the Docker-Compose to start our application. Make shure to stop Aquila for development. Alternatively `COMPOSE_PROFILES` can be set to only `ide` to exclude all runtimes services (manual NATS start is required) +Use Docker Compose to start the application. Make sure Aquila is stopped while you are developing locally. +Alternatively, set `COMPOSE_PROFILES=ide` to exclude runtime services (you will need to start NATS manually). ## Setting Up a Local Development Environment 1. **Install Rust and Cargo** Install the latest versions of Rust and its package manager, Cargo. Use [Rustup](https://rustup.rs/) for an easy installation. 2. **Set Up Local NATS Instance** - - Install NATS on your local machine or use the Dockerimage. - - Ensure its running and accessible for Aquila. - - Activate JetStream - - For any help refer to the [NATS documentation](https://docs.nats.io/running-a-nats-service/introduction/installation) -3. **Setup Sagittarius** - - Ensure Sagittarius gRPC is running and accessible for Aquila. + - Install NATS locally or use a Docker image. + - Ensure it is running and reachable by Aquila. + - Enable JetStream. + - For help, refer to the [NATS documentation](https://docs.nats.io/running-a-nats-service/introduction/installation). +3. **Set Up Sagittarius** + - Ensure Sagittarius gRPC is running and reachable by Aquila. - [Repository](https://github.com/code0-tech/sagittarius) --- ## Additional Notes -- Ensure all dependencies are compatible with the version of Aquila you are working on. +- Ensure all dependencies are compatible with the Aquila version you are working on. - Use the provided `.env` file as a reference for setting up your environment variables. --- diff --git a/docs/Guides/setup.md b/docs/Guides/setup.md index 9132bba..6737c69 100644 --- a/docs/Guides/setup.md +++ b/docs/Guides/setup.md @@ -2,7 +2,7 @@ title: Aquila Setup Guide --- -Follow this guide to set up Aquila. +Use this guide to install and configure Aquila. ## Setup Options @@ -11,21 +11,21 @@ Follow this guide to set up Aquila. 1. **Pull the Docker Image** Pull the latest Docker image from ``. 2. **Configure Environment Variables** - Set up the necessary environment variables in a `.env` file (see [Environment Variables](#environment-variables) - section). + Set up the necessary environment variables in a `.env` file (see the [Environment Variables](#environment-variables) section). 3. **Start the Application** Run the Docker container using the appropriate command. ### Manual Installation 1. **Clone Aquila** + Clone the repository to your local machine. 2. **Set Up Environment Variables** Configure the `.env` file in the root folder with the required settings. -3. **Ensure Required Service Is Running** +3. **Ensure Required Services Are Running** - **NATS**: - Ensure a NATS instance is reachable. - - Activate JetStream - - For any help refer to the [NATS documentation](https://docs.nats.io/running-a-nats-service/introduction/installation) + - Enable JetStream. + - For help, refer to the [NATS documentation](https://docs.nats.io/running-a-nats-service/introduction/installation). - **Sagittarius**: Ensure a Sagittarius instance is reachable. 4. **Start the Application** @@ -33,8 +33,7 @@ Follow this guide to set up Aquila. ## Environment Variables -Below is a list of environment variables for configuring Aquila. The configuration is split into -common variables and mode-specific variables. +Below is a list of environment variables for configuring Aquila. The configuration is split into common variables and mode-specific variables. ### Common (Static + Dynamic) @@ -55,7 +54,7 @@ Set `MODE=static` to start Aquila from a local flow file and insert flows into t | Name | Description | Default | |----------------------|---------------------------------------------------------|--------------------| -| `FLOW_FALLBACK_PATH` | Path to the flow JSON file loaded on startup. | `./flowExport.json`| +| `FLOW_FALLBACK_PATH` | Path to the flow JSON file loaded on startup. | `./flowExport.json` | ### Dynamic Mode @@ -71,13 +70,13 @@ start dynamic mode (for example `MODE=hybrid` if supported by your `code0_flow` ## Service Configuration File -To add services like `Taurus`, `Draco` or an `Action` to the runtime, the serivce needs to be configured inside of `Aquila` to make shure its authorized. +To add services like `Taurus`, `Draco`, or an `Action` to the runtime, the service must be configured in Aquila to ensure it is authorized. `SERVICE_CONFIG_PATH` points to a JSON file that defines allowed runtime/action tokens and optional default action configurations. This file is loaded on startup; if it is missing or invalid, Aquila starts with an empty service configuration. -By default `Aquila` has a config for that is pre-configured for runtime services. +By default, Aquila includes a configuration that is preconfigured for runtime services. Default: @@ -100,7 +99,7 @@ Default: ] } ``` -You can just add as many runtimes as you want. To add an `Action` just add an entry to `actions`. To provide a configuration for an `Acion` you can add `config` objects to the `Action` +You can add as many runtimes as you need. To add an `Action`, add an entry to `actions`. To provide a configuration for an `Action`, add `config` objects to that action. ```json { diff --git a/docs/index.mdx b/docs/index.mdx index 334b0ec..f3c301e 100644 --- a/docs/index.mdx +++ b/docs/index.mdx @@ -1,17 +1,18 @@ --- title: Welcome to the Documentation for Aquila -description: Find out how Aquila works +description: Learn how Aquila works and how to build with it template: splash --- ## What is Aquila? -Aquila is a service running inside the execution block. It acts as the gateway to external services. -Any request that needs to enter or exit the execution environment is routed through Aquila. +Aquila runs inside the execution block and acts as the gateway to external services. Any request that enters or leaves the execution environment is routed through Aquila. -Aquila keeps internal workflows updated so the execution service knows what’s happening. -It communicates with actions to receive their configurations, structures, and much more. +Aquila keeps internal workflows up to date so the execution service knows what is happening. It also communicates with actions to receive their configurations, schemas, and related metadata. --- -Refer to the guides if you want to work on or with Aquila. +If you want to work on or with Aquila, start here: + +- **[Setup Guide](./Guides/setup)**: install and configure Aquila for local or containerized use. +- **[Development Guide](./Guides/dev)**: prerequisites and workflow for contributing. From 2bda2f9b84c084075ac3e3c95e56ac515dda5311 Mon Sep 17 00:00:00 2001 From: Raphael Date: Sun, 12 Apr 2026 18:26:01 +0200 Subject: [PATCH 04/16] fix: correct paths for guides --- docs/index.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/index.mdx b/docs/index.mdx index f3c301e..1519f98 100644 --- a/docs/index.mdx +++ b/docs/index.mdx @@ -14,5 +14,5 @@ Aquila keeps internal workflows up to date so the execution service knows what i If you want to work on or with Aquila, start here: -- **[Setup Guide](./Guides/setup)**: install and configure Aquila for local or containerized use. -- **[Development Guide](./Guides/dev)**: prerequisites and workflow for contributing. +- **[Setup Guide](Guides/setup)**: install and configure Aquila for local or containerized use. +- **[Development Guide](Guides/dev)**: prerequisites and workflow for contributing. From cce3687939fe1f5eb4b0a52612449238d273555d Mon Sep 17 00:00:00 2001 From: Raphael Date: Sun, 12 Apr 2026 18:26:10 +0200 Subject: [PATCH 05/16] feat: simplified docs --- docs/Guides/dev.md | 27 ++------------------------- docs/Guides/setup.md | 13 +++++++------ 2 files changed, 9 insertions(+), 31 deletions(-) diff --git a/docs/Guides/dev.md b/docs/Guides/dev.md index d2889c5..32ef13a 100644 --- a/docs/Guides/dev.md +++ b/docs/Guides/dev.md @@ -14,31 +14,8 @@ To contribute to Aquila, you should be comfortable with: --- -## Setting Up a Virtual Development Environment (Preferred) +## Runtime Infrastructure Overview -[Visit Setup Guide](https://docs.code0.tech/general/install/) +Under construction -Use Docker Compose to start the application. Make sure Aquila is stopped while you are developing locally. -Alternatively, set `COMPOSE_PROFILES=ide` to exclude runtime services (you will need to start NATS manually). -## Setting Up a Local Development Environment - -1. **Install Rust and Cargo** - Install the latest versions of Rust and its package manager, Cargo. Use [Rustup](https://rustup.rs/) for an easy installation. -2. **Set Up Local NATS Instance** - - Install NATS locally or use a Docker image. - - Ensure it is running and reachable by Aquila. - - Enable JetStream. - - For help, refer to the [NATS documentation](https://docs.nats.io/running-a-nats-service/introduction/installation). -3. **Set Up Sagittarius** - - Ensure Sagittarius gRPC is running and reachable by Aquila. - - [Repository](https://github.com/code0-tech/sagittarius) - ---- - -## Additional Notes - -- Ensure all dependencies are compatible with the Aquila version you are working on. -- Use the provided `.env` file as a reference for setting up your environment variables. - ---- diff --git a/docs/Guides/setup.md b/docs/Guides/setup.md index 6737c69..707377e 100644 --- a/docs/Guides/setup.md +++ b/docs/Guides/setup.md @@ -8,12 +8,13 @@ Use this guide to install and configure Aquila. ### Using Docker -1. **Pull the Docker Image** - Pull the latest Docker image from ``. -2. **Configure Environment Variables** - Set up the necessary environment variables in a `.env` file (see the [Environment Variables](#environment-variables) section). -3. **Start the Application** - Run the Docker container using the appropriate command. + +### Setting Up a Virtual Development Environment (Preferred) + +[Visit Setup Guide](https://docs.code0.tech/general/install/) + +Use Docker Compose to start the application. Make sure Aquila is stopped while you are developing locally. +Alternatively, set `COMPOSE_PROFILES=ide` to exclude runtime services (you will need to start NATS manually). ### Manual Installation From f63237e5128cea2f0d98ccf3c587f7e1dce4d3d1 Mon Sep 17 00:00:00 2001 From: Raphael Date: Sun, 19 Apr 2026 16:53:53 +0200 Subject: [PATCH 06/16] docs: more docs --- docs/Guides/dev.md | 4 ++++ docs/Guides/setup.md | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/Guides/dev.md b/docs/Guides/dev.md index 32ef13a..db72581 100644 --- a/docs/Guides/dev.md +++ b/docs/Guides/dev.md @@ -14,6 +14,10 @@ To contribute to Aquila, you should be comfortable with: --- +## Whats Static/Dynamic Mode + +Under construction + ## Runtime Infrastructure Overview Under construction diff --git a/docs/Guides/setup.md b/docs/Guides/setup.md index 707377e..106a329 100644 --- a/docs/Guides/setup.md +++ b/docs/Guides/setup.md @@ -14,7 +14,7 @@ Use this guide to install and configure Aquila. [Visit Setup Guide](https://docs.code0.tech/general/install/) Use Docker Compose to start the application. Make sure Aquila is stopped while you are developing locally. -Alternatively, set `COMPOSE_PROFILES=ide` to exclude runtime services (you will need to start NATS manually). +Alternatively, set `COMPOSE_PROFILES=ide` to exclude runtime services (you will need to start NATS & Aquila manually). ### Manual Installation From 8d321a276d71e5daeca7783304b53f5e4e9e7d8b Mon Sep 17 00:00:00 2001 From: Raphael Date: Sun, 19 Apr 2026 16:54:06 +0200 Subject: [PATCH 07/16] fix: added store set true --- src/sagittarius/retry.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/sagittarius/retry.rs b/src/sagittarius/retry.rs index c2613da..f9c0a50 100644 --- a/src/sagittarius/retry.rs +++ b/src/sagittarius/retry.rs @@ -37,6 +37,8 @@ pub async fn create_channel_with_retry( match channel.connect().await { Ok(ch) => { + ready.store(true, Ordering::SeqCst); + log::info!("Successfully connected to `{}` using `{}`", channel_name, url); return ch; } Err(err) => { From ec280581334ff641141b00ba99b25074989c0090 Mon Sep 17 00:00:00 2001 From: Raphael Date: Wed, 22 Apr 2026 19:29:32 +0200 Subject: [PATCH 08/16] feat: added more docs --- docs/Guides/dev.md | 109 +++++++++++++++++++++++++++++++++++-- docs/Guides/setup.md | 127 ++++++++++++++++++++++++------------------- docs/index.mdx | 10 ++-- 3 files changed, 179 insertions(+), 67 deletions(-) diff --git a/docs/Guides/dev.md b/docs/Guides/dev.md index db72581..d5a730e 100644 --- a/docs/Guides/dev.md +++ b/docs/Guides/dev.md @@ -2,11 +2,11 @@ title: Aquila Development Guide --- -Use this guide to set up a development environment for Aquila. Choose either the virtual environment (recommended) or a fully local setup. +Use this guide to understand Aquila's runtime architecture and choose the right development mode. ## Requirements -To contribute to Aquila, you should be comfortable with: +To contribute to Aquila, you should be familiar with: - **[Rust](https://rust-lang.org/)** - **[gRPC](https://grpc.io)** @@ -14,12 +14,109 @@ To contribute to Aquila, you should be comfortable with: --- -## Whats Static/Dynamic Mode +## Runtime Infrastructure Overview -Under construction +For a working runtime, the following services are required: -## Runtime Infrastructure Overview +- Aquila acts as the gateway between the IDE layer and the execution layer. + - Keeps runtime definitions up to date + - Keeps the latest flows available in the runtime + - Handles authentication and node execution for actions +- Draco is the runtime flow trigger (for example HTTP requests and cron jobs) +- Taurus is the runtime execution engine +- Actions are Taurus add-ons that extend runtime functionality +- Sagittarius persists definitions and flows +- NATS provides queueing for flow execution and KV storage for flows + +```mermaid +graph TD + +%% === Middle Layer === +Sagittarius["`**Sagittarius** +Persists flows, users, and related runtime metadata. Acts as a middle layer between frontend services and the execution block.`"] + +Actions["`**Actions** +Acts as runtime add-ons. Can execute single nodes or send flow groups to the execution layer.`"] + +%% === Runtime / Execution Block === +subgraph ExecutionBlock["Runtime Block"] + Aquila["`**Aquila** + Gateway to the execution block. Keeps execution state updated and informs Sagittarius about service state changes (for example DataTypes, FlowTypes, and RuntimeDefinitions).`"] + + Draco["`**Draco** + Protocol handler (for example an HTTP server). Accepts requests and triggers flow execution.`"] + + Taurus["`**Taurus** + Flow runtime engine. Executes functions and parameters defined in flows.`"] + + NATS[(NATS)] +end + +%% === Connections === +Sagittarius --> Aquila +Actions --> Aquila + +Draco --> Aquila +Taurus --> Aquila +Draco --> NATS +Taurus --> NATS +Aquila --> NATS +``` + +## Static vs Dynamic Mode + +Static and dynamic are runtime-level operating modes, not Aquila-only concepts. +In static mode, the runtime is standalone and does not depend on Sagittarius. +In dynamic mode, Aquila maintains an active connection to Sagittarius to keep runtime data synchronized. + +### Dynamic + +In dynamic mode, the runtime follows the first diagram above: Aquila stays connected to Sagittarius. + +Reasons to run dynamic mode: +- Flows are updated frequently and should be synchronized automatically +- You expect continuous growth in flow count + +### Static + +In static mode, Sagittarius is not part of the runtime path. Flows and runtime configuration are loaded from local files. + +Reasons to run static mode: +- Runtime needs to be standalone +- No flow updates are needed anymore +- Infrastructure resources are constrained and should be dedicated to execution + +Infrastructure for static mode: + +```mermaid +graph TD + +%% === Middle Layer === +Actions["`**Actions** +Acts as runtime add-ons. Can execute single nodes or send flow groups to the execution layer.`"] + +%% === Runtime / Execution Block === +subgraph ExecutionBlock["Runtime Block"] + Aquila["`**Aquila** + Gateway to the execution block.`"] + + Draco["`**Draco** + Protocol handler (for example an HTTP server). Accepts requests and triggers flow execution.`"] + + Taurus["`**Taurus** + Flow runtime engine. Executes functions and parameters defined in flows.`"] + + NATS[(NATS)] +end -Under construction +%% === Connections === +Actions --> Aquila +Draco --> Aquila +Taurus --> Aquila +Draco --> NATS +Taurus --> NATS +Aquila --> NATS +``` +> In static mode, flow data and service authorization are loaded from local files (for example `FLOW_FALLBACK_PATH` and `SERVICE_CONFIG_PATH`) before runtime execution starts. diff --git a/docs/Guides/setup.md b/docs/Guides/setup.md index 106a329..23a356e 100644 --- a/docs/Guides/setup.md +++ b/docs/Guides/setup.md @@ -6,101 +6,114 @@ Use this guide to install and configure Aquila. ## Setup Options -### Using Docker +### Using Docker Compose +Use Docker Compose to run Aquila and related services. +If you are developing Aquila locally, make sure the Aquila container is stopped to avoid port conflicts. +If your compose setup supports profiles, you can set `COMPOSE_PROFILES=ide` to run only IDE-related services and start Aquila manually. -### Setting Up a Virtual Development Environment (Preferred) +### Virtual Development Environment (Preferred) -[Visit Setup Guide](https://docs.code0.tech/general/install/) +Use the shared environment setup from the main platform docs: -Use Docker Compose to start the application. Make sure Aquila is stopped while you are developing locally. -Alternatively, set `COMPOSE_PROFILES=ide` to exclude runtime services (you will need to start NATS & Aquila manually). +- [Visit Setup Guide](https://docs.code0.tech/general/install/) ### Manual Installation -1. **Clone Aquila** - Clone the repository to your local machine. -2. **Set Up Environment Variables** - Configure the `.env` file in the root folder with the required settings. -3. **Ensure Required Services Are Running** +1. **Clone Aquila** + Clone this repository to your local machine. +2. **Set up environment variables** + Configure `.env` in the project root with the required settings. + You can use `.env-example` as a starting point. +3. **Ensure required services are running** - **NATS**: - - Ensure a NATS instance is reachable. - - Enable JetStream. - - For help, refer to the [NATS documentation](https://docs.nats.io/running-a-nats-service/introduction/installation). - - **Sagittarius**: Ensure a Sagittarius instance is reachable. -4. **Start the Application** + - Ensure a NATS instance is reachable + - Enable JetStream + - See [NATS installation docs](https://docs.nats.io/running-a-nats-service/introduction/installation) + - **Sagittarius**: + - Required for dynamic mode (`MODE=hybrid`) + - Ensure the configured endpoint is reachable +4. **Start Aquila** + Run: + +```bash +cargo run +``` --- ## Environment Variables -Below is a list of environment variables for configuring Aquila. The configuration is split into common variables and mode-specific variables. +Aquila configuration is split into shared variables and mode-specific variables. ### Common (Static + Dynamic) -| Name | Description | Default | -|-------------------------|-----------------------------------------------------------------------------------------------------|---------------------------------| -| `MODE` | Application mode. `static` starts from a local flow file. Any non-`static` mode runs dynamic mode. | `static` | -| `ENVIRONMENT` | Logging/behavior environment (`development`, `staging`, `production`). | `development` | -| `NATS_URL` | URL of the NATS instance Aquila connects to. | `nats://localhost:4222` | -| `NATS_BUCKET` | Name of the NATS KV bucket used to store flows. | `flow_store` | -| `GRPC_HOST` | Hostname for the Aquila gRPC server. | `127.0.0.1` | -| `GRPC_PORT` | Port for the Aquila gRPC server. | `8081` | -| `WITH_HEALTH_SERVICE` | If `true`, Aquila enables the gRPC health service. | `false` | -| `SERVICE_CONFIG_PATH` | Path to the service configuration file used for action/runtime tokens and default action configs. | `./service.configuration.json` | +| Name | Description | Default | +|-----------------------|--------------------------------------------------------------------------------------------------------------|---------------------------------| +| `MODE` | Runtime mode. `static` loads local flows. `hybrid` enables dynamic synchronization with Sagittarius. | `static` | +| `ENVIRONMENT` | Runtime environment (`development`, `staging`, `production`). | `development` | +| `NATS_URL` | URL of the NATS instance Aquila connects to. | `nats://localhost:4222` | +| `NATS_BUCKET` | Name of the NATS KV bucket used to store flows. | `flow_store` | +| `GRPC_HOST` | Hostname for the Aquila gRPC server. | `127.0.0.1` | +| `GRPC_PORT` | Port for the Aquila gRPC server. | `8081` | +| `WITH_HEALTH_SERVICE` | Enables the gRPC health service when set to `true`. | `false` | +| `SERVICE_CONFIG_PATH` | Path to the JSON service-configuration file used for runtime/action authorization and default action configs. | `./service.configuration.json` | ### Static Mode -Set `MODE=static` to start Aquila from a local flow file and insert flows into the NATS KV store. +Set `MODE=static` to load flows from a local JSON file and insert them into the NATS KV store on startup. -| Name | Description | Default | -|----------------------|---------------------------------------------------------|--------------------| -| `FLOW_FALLBACK_PATH` | Path to the flow JSON file loaded on startup. | `./flowExport.json` | +| Name | Description | Default | +|----------------------|-----------------------------------------------|---------------------| +| `FLOW_FALLBACK_PATH` | Path to the flow JSON file loaded at startup. | `./flowExport.json` | ### Dynamic Mode -Dynamic mode keeps flows updated by streaming from Sagittarius. Any non-`static` mode value will -start dynamic mode (for example `MODE=hybrid` if supported by your `code0_flow` version). +Set `MODE=hybrid` to keep flows synchronized from Sagittarius. -| Name | Description | Default | -|-------------------|-----------------------------------------------------------------------------------|---------------------------| -| `SAGITTARIUS_URL` | URL of the Sagittarius instance Aquila connects to for flow/action configuration. | `http://localhost:50051` | -| `RUNTIME_TOKEN` | Token used to authenticate Aquila with Sagittarius. | `default_session_token` | +| Name | Description | Default | +|-------------------|-----------------------------------------------------------------------------------|--------------------------| +| `SAGITTARIUS_URL` | URL of the Sagittarius instance Aquila connects to for flow and action updates. | `http://localhost:50051` | +| `RUNTIME_TOKEN` | Token used by Aquila to authenticate with Sagittarius. | `default_session_token` | --- ## Service Configuration File -To add services like `Taurus`, `Draco`, or an `Action` to the runtime, the service must be configured in Aquila to ensure it is authorized. +To authorize services like `Taurus`, `Draco`, or an `Action`, they must be declared in Aquila's service configuration file. -`SERVICE_CONFIG_PATH` points to a JSON file that defines allowed runtime/action tokens and optional -default action configurations. This file is loaded on startup; if it is missing or invalid, Aquila -starts with an empty service configuration. +`SERVICE_CONFIG_PATH` points to a JSON file that defines: +- Allowed runtime tokens +- Allowed action tokens +- Optional default action configurations -By default, Aquila includes a configuration that is preconfigured for runtime services. +This file is loaded on startup. If the file is missing or invalid, Aquila starts with an empty service configuration. Default: ```json { - "actions": [], - "runtimes": [ - { - "identifier": "taurus", - "token": "HsCEzbCuaUtUGSCrvwsSbJSlS2HH6TrW0ZeEKUZGTiOH8vPEZxyAEOx974Ku72l4" - }, - { - "identifier": "draco-rest", - "token": "SBO3dRKmhszmGH6KxpgKoYGp0gBfgWqV6WEiKtMxldyeWiYLqJx6vwLuVLKRhu8H" - }, - { - "identifier": "draco-cron", - "token": "VuTFgCj1PO6yr8smk43XLmeTUtlyKa2wjA0zvmz7WZDtgfXC62Ypd1b8fjJl8HvI" - } - ] + "actions": [], + "runtimes": [ + { + "identifier": "taurus", + "token": "HsCEzbCuaUtUGSCrvwsSbJSlS2HH6TrW0ZeEKUZGTiOH8vPEZxyAEOx974Ku72l4" + }, + { + "identifier": "draco-rest", + "token": "SBO3dRKmhszmGH6KxpgKoYGp0gBfgWqV6WEiKtMxldyeWiYLqJx6vwLuVLKRhu8H" + }, + { + "identifier": "draco-cron", + "token": "VuTFgCj1PO6yr8smk43XLmeTUtlyKa2wjA0zvmz7WZDtgfXC62Ypd1b8fjJl8HvI" + } + ] } ``` -You can add as many runtimes as you need. To add an `Action`, add an entry to `actions`. To provide a configuration for an `Action`, add `config` objects to that action. + +You can add as many runtimes as needed. +To add an `Action`, add an entry under `actions`. +To provide default Action-level config, add `configs` entries for that action. ```json { diff --git a/docs/index.mdx b/docs/index.mdx index 1519f98..e38f415 100644 --- a/docs/index.mdx +++ b/docs/index.mdx @@ -1,18 +1,20 @@ --- -title: Welcome to the Documentation for Aquila +title: Welcome to Aquila Documentation description: Learn how Aquila works and how to build with it template: splash --- ## What is Aquila? -Aquila runs inside the execution block and acts as the gateway to external services. Any request that enters or leaves the execution environment is routed through Aquila. +Aquila runs inside the execution block and serves as the gateway for external runtime communication. +Requests entering or leaving the execution environment are routed through Aquila. -Aquila keeps internal workflows up to date so the execution service knows what is happening. It also communicates with actions to receive their configurations, schemas, and related metadata. +Aquila keeps flows and runtime definitions synchronized so execution services stay current. +It also communicates with Actions to receive configuration, schema, and related metadata updates. --- If you want to work on or with Aquila, start here: - **[Setup Guide](Guides/setup)**: install and configure Aquila for local or containerized use. -- **[Development Guide](Guides/dev)**: prerequisites and workflow for contributing. +- **[Development Guide](Guides/dev)**: runtime architecture From 8c06d8b920c5affc91fea52978997e6ce39ddc1c Mon Sep 17 00:00:00 2001 From: Raphael Date: Wed, 22 Apr 2026 21:30:30 +0200 Subject: [PATCH 09/16] ref: correct formatting for md --- docs/Guides/dev.md | 11 ++++++++--- docs/Guides/setup.md | 4 +++- docs/index.mdx | 4 ++-- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/docs/Guides/dev.md b/docs/Guides/dev.md index d5a730e..3b73f17 100644 --- a/docs/Guides/dev.md +++ b/docs/Guides/dev.md @@ -33,7 +33,8 @@ graph TD %% === Middle Layer === Sagittarius["`**Sagittarius** -Persists flows, users, and related runtime metadata. Acts as a middle layer between frontend services and the execution block.`"] +Persists flows, users, and related runtime metadata. +Acts as a middle layer between frontend services and the execution block.`"] Actions["`**Actions** Acts as runtime add-ons. Can execute single nodes or send flow groups to the execution layer.`"] @@ -41,7 +42,8 @@ Acts as runtime add-ons. Can execute single nodes or send flow groups to the exe %% === Runtime / Execution Block === subgraph ExecutionBlock["Runtime Block"] Aquila["`**Aquila** - Gateway to the execution block. Keeps execution state updated and informs Sagittarius about service state changes (for example DataTypes, FlowTypes, and RuntimeDefinitions).`"] + Gateway to the execution block. Keeps execution state updated and informs Sagittarius +about service state changes (for example DataTypes, FlowTypes, and RuntimeDefinitions).`"] Draco["`**Draco** Protocol handler (for example an HTTP server). Accepts requests and triggers flow execution.`"] @@ -74,6 +76,7 @@ In dynamic mode, Aquila maintains an active connection to Sagittarius to keep ru In dynamic mode, the runtime follows the first diagram above: Aquila stays connected to Sagittarius. Reasons to run dynamic mode: + - Flows are updated frequently and should be synchronized automatically - You expect continuous growth in flow count @@ -82,6 +85,7 @@ Reasons to run dynamic mode: In static mode, Sagittarius is not part of the runtime path. Flows and runtime configuration are loaded from local files. Reasons to run static mode: + - Runtime needs to be standalone - No flow updates are needed anymore - Infrastructure resources are constrained and should be dedicated to execution @@ -119,4 +123,5 @@ Taurus --> NATS Aquila --> NATS ``` -> In static mode, flow data and service authorization are loaded from local files (for example `FLOW_FALLBACK_PATH` and `SERVICE_CONFIG_PATH`) before runtime execution starts. +> In static mode, flow data and service authorization are loaded from local +files (for example `FLOW_FALLBACK_PATH` and `SERVICE_CONFIG_PATH`) before runtime execution starts. diff --git a/docs/Guides/setup.md b/docs/Guides/setup.md index 23a356e..40c2992 100644 --- a/docs/Guides/setup.md +++ b/docs/Guides/setup.md @@ -10,7 +10,8 @@ Use this guide to install and configure Aquila. Use Docker Compose to run Aquila and related services. If you are developing Aquila locally, make sure the Aquila container is stopped to avoid port conflicts. -If your compose setup supports profiles, you can set `COMPOSE_PROFILES=ide` to run only IDE-related services and start Aquila manually. +If your compose setup supports profiles, you can set `COMPOSE_PROFILES=ide` to run only +IDE-related services and start Aquila manually. ### Virtual Development Environment (Preferred) @@ -83,6 +84,7 @@ Set `MODE=hybrid` to keep flows synchronized from Sagittarius. To authorize services like `Taurus`, `Draco`, or an `Action`, they must be declared in Aquila's service configuration file. `SERVICE_CONFIG_PATH` points to a JSON file that defines: + - Allowed runtime tokens - Allowed action tokens - Optional default action configurations diff --git a/docs/index.mdx b/docs/index.mdx index e38f415..68180c7 100644 --- a/docs/index.mdx +++ b/docs/index.mdx @@ -16,5 +16,5 @@ It also communicates with Actions to receive configuration, schema, and related If you want to work on or with Aquila, start here: -- **[Setup Guide](Guides/setup)**: install and configure Aquila for local or containerized use. -- **[Development Guide](Guides/dev)**: runtime architecture +- **[Setup Guide](Guides/setup.md)**: install and configure Aquila for local or containerized use. +- **[Development Guide](Guides/dev.md)**: runtime architecture From 0b7f66a7780a3023f3a82ce57f3eb6cfacdf4a85 Mon Sep 17 00:00:00 2001 From: Raphael Date: Wed, 22 Apr 2026 21:35:55 +0200 Subject: [PATCH 10/16] ref: correct formatting for markdown --- docs/Guides/dev.md | 2 +- docs/Guides/setup.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/Guides/dev.md b/docs/Guides/dev.md index 3b73f17..daeec71 100644 --- a/docs/Guides/dev.md +++ b/docs/Guides/dev.md @@ -123,5 +123,5 @@ Taurus --> NATS Aquila --> NATS ``` -> In static mode, flow data and service authorization are loaded from local +> In static mode, flow data and service authorization are loaded from local files (for example `FLOW_FALLBACK_PATH` and `SERVICE_CONFIG_PATH`) before runtime execution starts. diff --git a/docs/Guides/setup.md b/docs/Guides/setup.md index 40c2992..7bf9d12 100644 --- a/docs/Guides/setup.md +++ b/docs/Guides/setup.md @@ -10,7 +10,7 @@ Use this guide to install and configure Aquila. Use Docker Compose to run Aquila and related services. If you are developing Aquila locally, make sure the Aquila container is stopped to avoid port conflicts. -If your compose setup supports profiles, you can set `COMPOSE_PROFILES=ide` to run only +If your compose setup supports profiles, you can set `COMPOSE_PROFILES=ide` to run only IDE-related services and start Aquila manually. ### Virtual Development Environment (Preferred) From 8c52d9263b32c08095b95a28ff28c03ec2d4c578 Mon Sep 17 00:00:00 2001 From: Raphael Date: Sat, 25 Apr 2026 17:55:58 +0200 Subject: [PATCH 11/16] docs: converted setup to steps --- docs/{Guides => }/dev.md | 0 docs/index.mdx | 4 ++-- docs/{Guides/setup.md => setup.mdx} | 35 +++++++++++++++++++++++------ 3 files changed, 30 insertions(+), 9 deletions(-) rename docs/{Guides => }/dev.md (100%) rename docs/{Guides/setup.md => setup.mdx} (92%) diff --git a/docs/Guides/dev.md b/docs/dev.md similarity index 100% rename from docs/Guides/dev.md rename to docs/dev.md diff --git a/docs/index.mdx b/docs/index.mdx index 68180c7..2ad1830 100644 --- a/docs/index.mdx +++ b/docs/index.mdx @@ -16,5 +16,5 @@ It also communicates with Actions to receive configuration, schema, and related If you want to work on or with Aquila, start here: -- **[Setup Guide](Guides/setup.md)**: install and configure Aquila for local or containerized use. -- **[Development Guide](Guides/dev.md)**: runtime architecture +- **[Setup Guide](setup.md)**: install and configure Aquila for local or containerized use. +- **[Development Guide](dev.mdx)**: runtime architecture diff --git a/docs/Guides/setup.md b/docs/setup.mdx similarity index 92% rename from docs/Guides/setup.md rename to docs/setup.mdx index 7bf9d12..9618d3c 100644 --- a/docs/Guides/setup.md +++ b/docs/setup.mdx @@ -2,6 +2,8 @@ title: Aquila Setup Guide --- +import {Step, Steps} from 'fumadocs-ui/components/steps'; + Use this guide to install and configure Aquila. ## Setup Options @@ -21,12 +23,25 @@ Use the shared environment setup from the main platform docs: ### Manual Installation -1. **Clone Aquila** - Clone this repository to your local machine. -2. **Set up environment variables** - Configure `.env` in the project root with the required settings. - You can use `.env-example` as a starting point. -3. **Ensure required services are running** + + + +####**Clone Aquila** + +Clone this repository to your local machine. + + + + +####**Set up environment variables** + +Configure `.env` in the project root with the required settings. +You can use `.env-example` as a starting point. + + + + +####**Ensure required services are running** - **NATS**: - Ensure a NATS instance is reachable - Enable JetStream @@ -34,13 +49,19 @@ Use the shared environment setup from the main platform docs: - **Sagittarius**: - Required for dynamic mode (`MODE=hybrid`) - Ensure the configured endpoint is reachable -4. **Start Aquila** + + + + +####**Start Aquila** Run: ```bash cargo run ``` + + --- ## Environment Variables From ebc5ca05a2b109a4faa6cbd159fa26849dfbaa24 Mon Sep 17 00:00:00 2001 From: Raphael Date: Sat, 25 Apr 2026 18:22:50 +0200 Subject: [PATCH 12/16] fix: correct file ending --- docs/index.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/index.mdx b/docs/index.mdx index 2ad1830..b9dd214 100644 --- a/docs/index.mdx +++ b/docs/index.mdx @@ -16,5 +16,5 @@ It also communicates with Actions to receive configuration, schema, and related If you want to work on or with Aquila, start here: -- **[Setup Guide](setup.md)**: install and configure Aquila for local or containerized use. -- **[Development Guide](dev.mdx)**: runtime architecture +- **[Setup Guide](/setup.mdx)**: install and configure Aquila for local or containerized use. +- **[Development Guide](/dev.md)**: runtime architecture From bdb2f43eb714203c811561ad12331b55cb1d1ca1 Mon Sep 17 00:00:00 2001 From: Raphael Date: Sat, 25 Apr 2026 18:25:30 +0200 Subject: [PATCH 13/16] ref: renamed setup => installation --- docs/index.mdx | 4 ++-- docs/{setup.mdx => installation.mdx} | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) rename docs/{setup.mdx => installation.mdx} (99%) diff --git a/docs/index.mdx b/docs/index.mdx index b9dd214..a593940 100644 --- a/docs/index.mdx +++ b/docs/index.mdx @@ -16,5 +16,5 @@ It also communicates with Actions to receive configuration, schema, and related If you want to work on or with Aquila, start here: -- **[Setup Guide](/setup.mdx)**: install and configure Aquila for local or containerized use. -- **[Development Guide](/dev.md)**: runtime architecture +- **[Setup Guide](installation.mdx)**: install and configure Aquila for local or containerized use. +- **[Development Guide](dev.md)**: runtime architecture diff --git a/docs/setup.mdx b/docs/installation.mdx similarity index 99% rename from docs/setup.mdx rename to docs/installation.mdx index 9618d3c..cb081f3 100644 --- a/docs/setup.mdx +++ b/docs/installation.mdx @@ -1,5 +1,5 @@ --- -title: Aquila Setup Guide +title: Aquila Installation Guide --- import {Step, Steps} from 'fumadocs-ui/components/steps'; From 0bac0db494b37f41f6c86199002aa4f2f0d6c92b Mon Sep 17 00:00:00 2001 From: Raphael Date: Sat, 25 Apr 2026 18:32:03 +0200 Subject: [PATCH 14/16] ref: correct md --- docs/installation.mdx | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/docs/installation.mdx b/docs/installation.mdx index cb081f3..b6c27d6 100644 --- a/docs/installation.mdx +++ b/docs/installation.mdx @@ -26,6 +26,7 @@ Use the shared environment setup from the main platform docs: + ####**Clone Aquila** Clone this repository to your local machine. @@ -33,6 +34,7 @@ Clone this repository to your local machine. + ####**Set up environment variables** Configure `.env` in the project root with the required settings. @@ -41,9 +43,11 @@ You can use `.env-example` as a starting point. + ####**Ensure required services are running** - - **NATS**: - - Ensure a NATS instance is reachable + + - **NATS**: + - Ensure a NATS instance is reachable - Enable JetStream - See [NATS installation docs](https://docs.nats.io/running-a-nats-service/introduction/installation) - **Sagittarius**: @@ -53,12 +57,15 @@ You can use `.env-example` as a starting point. + ####**Start Aquila** - Run: + +Run: ```bash cargo run ``` + From c00644cd16476cf189d3a3bbde7681e13aaab81e Mon Sep 17 00:00:00 2001 From: Raphael Date: Sat, 25 Apr 2026 18:39:53 +0200 Subject: [PATCH 15/16] ref: fixed docs --- docs/installation.mdx | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/docs/installation.mdx b/docs/installation.mdx index b6c27d6..f3801a2 100644 --- a/docs/installation.mdx +++ b/docs/installation.mdx @@ -27,7 +27,7 @@ Use the shared environment setup from the main platform docs: -####**Clone Aquila** +#### **Clone Aquila** Clone this repository to your local machine. @@ -35,7 +35,7 @@ Clone this repository to your local machine. -####**Set up environment variables** +#### **Set up environment variables** Configure `.env` in the project root with the required settings. You can use `.env-example` as a starting point. @@ -44,21 +44,22 @@ You can use `.env-example` as a starting point. -####**Ensure required services are running** +#### **Ensure required services are running** - - **NATS**: - - Ensure a NATS instance is reachable - - Enable JetStream - - See [NATS installation docs](https://docs.nats.io/running-a-nats-service/introduction/installation) - - **Sagittarius**: - - Required for dynamic mode (`MODE=hybrid`) - - Ensure the configured endpoint is reachable +**NATS**: + - Ensure a NATS instance is reachable + - Enable JetStream + - See [NATS installation docs](https://docs.nats.io/running-a-nats-service/introduction/installation) + +**Sagittarius**: + - Required for dynamic mode (`MODE=hybrid`) + - Ensure the configured endpoint is reachable -####**Start Aquila** +#### **Start Aquila** Run: From 655516777d067815d1a085c63759d9303dfb46b5 Mon Sep 17 00:00:00 2001 From: Raphael Date: Sat, 25 Apr 2026 18:43:49 +0200 Subject: [PATCH 16/16] ref: fix docs --- docs/installation.mdx | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/installation.mdx b/docs/installation.mdx index f3801a2..17a9a54 100644 --- a/docs/installation.mdx +++ b/docs/installation.mdx @@ -47,13 +47,15 @@ You can use `.env-example` as a starting point. #### **Ensure required services are running** **NATS**: - - Ensure a NATS instance is reachable - - Enable JetStream - - See [NATS installation docs](https://docs.nats.io/running-a-nats-service/introduction/installation) + +- Ensure a NATS instance is reachable +- Enable JetStream +- See [NATS installation docs](https://docs.nats.io/running-a-nats-service/introduction/installation) **Sagittarius**: - - Required for dynamic mode (`MODE=hybrid`) - - Ensure the configured endpoint is reachable + +- Required for dynamic mode (`MODE=hybrid`) +- Ensure the configured endpoint is reachable