Skip to content

Rusty Guys Project. RabbitMQ killer 🐰💥🔫

Notifications You must be signed in to change notification settings

Toumash/ruuster

Repository files navigation

Ruuster

rabbitmq & kafka killer 🐰💥🔫

Setup

To run you can use GitPod (super fast), devcontainers (local docker + vscode) or just linux box

  1. Clone the repo
  2. Open in vscode
  3. Run docker compose up -d to start logs/traces collector UI: http://localhost:16686
  4. Build & run in the terminal
# to run the server
cargo watch -x 'run --bin server'  --ignore protos/
# to have watch on tests
cargo watch -x 'test'  --ignore protos/

Docker demo

# pull the published image
docker pull ghcr.io/toumash/ruuster:latest
# run the server container
docker run --rm -p 50051:50051 -e RUUSTER_SERVER_ADDR=0.0.0.0:50051 ghcr.io/toumash/ruuster:latest
# run a demo client against the container
cargo run --bin docker_demo -- --server-addr "http://127.0.0.1:50051"

Ruuster workspace

Crate Description
queues core ruuster functionalities (queues, acks)
internals declarations of internal types used by ruuster
exchanges library defining exchangers behavior / logic of message trasport
protos library with definitions of gRPC services (proto files)
ruuster-qrpc library containing implementation of gRPC server
utils library with common utilities
apps crate containing binaries built using our project

NixOs

To develop on NixOs you need to have direnv installed and enabled. Then just run direnv allow in the project root and it will automatically load the nix shell with all dependencies.

Also in user settings json you need those entries:

    "rust-analyzer.rustcSource": "discover",
    "rust-analyzer.cargo.allFeatures": true,
    "rust-analyzer.checkOnSave.command": "clippy"

In order to use CodeLLDB in VSCode on NixOS, use this configuration for vscode in pkgs:

  environment.systemPackages = with pkgs; [
    # your other packages

    # --- VSCODE FHS WRAPPER ---
    (symlinkJoin {
      name = "code";
      paths = [ vscode.fhs ];
      nativeBuildInputs = [ makeWrapper ];
      postBuild = ''
        wrapProgram $out/bin/code \
          --add-flags "--extensions-dir ~/.vscode-fhs-extensions"
      '';
    })

  ];

About

Rusty Guys Project. RabbitMQ killer 🐰💥🔫

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors