*looks in your general direction*

Related tags

Utilities mirror
Overview

mirror

the distributed mirroring service you never wanted (but i delivered to you anyway)

what

a distributed channel mirroring service for multiple services. currently, the source code in this repository implements the discord node, but later on this repository will hold code for other service nodes.

mirror uses an architecture where the focal point is a rabbitmq and scylladb cluster. with these services, communication between mirror nodes is facilitated. at the very least, a node has to handle either mirroring messages from a rabbitmq stream to at least one service, or handle publishing from at least one service to a rabbitmq stream. it is important to note that there can be multiple nodes doing the same task for the same service as long as the nodes are capable of ensuring that no messages are duplicated. currently, in the discord node, this is handled by using node queues that allow nodes to signal to each other that new tasks are being spun up so that they can sort out duplication among themselves (𐐘).

how

mirror can be set up relatively easily by doing the following steps:

  • fetch the latest rabbitmq and scylladb images from docker hub

  • create a scylladb container (e.g. cephalopod). this will need ports 9042 and 19042 published

  • create a rabbitmq container (e.g. lagomorph). this will need ports 5672 and 15672 published

  • write the schema (in schema.cql) to the scylladb node. i will not instruct you on how to do this. have fun

  • i was just joking, you can run podman exec -it cephalopod cqlsh and copy each of the queries to the console, assuming you've named your container cephalopod and you're using podman. if you're using docker you can substitute podman for docker and it should work

  • create a configuration file in the directory where you plan to run mirror from with the name config.toml and read the source code to understand your configuration options as there is no documentation for them yet

  • run the bot :3

You might also like...
miette is a diagnostic library for Rust. It includes a series of traits/protocols that allow you to hook into its error reporting facilities, and even write your own error reports!
miette is a diagnostic library for Rust. It includes a series of traits/protocols that allow you to hook into its error reporting facilities, and even write your own error reports!

miette is a diagnostic library for Rust. It includes a series of traits/protocols that allow you to hook into its error reporting facilities, and even write your own error reports!

Awtomate your 🦀 microservices with awto

awto Awtomate your 🦀 microservices with awto What is awto? Awto treats your rust project as the source of truth for microservices, and generates data

Clean up the lines of files in your code repository

lineman Clean up the lines of files in your code repository NOTE: While lineman does have tests in place to ensure it operates in a specific way, I st

A service for helping your cat find other cats
A service for helping your cat find other cats

Check back later! Discord Self-hosting This is an open-source service! Feel free to host you own private instances. All we ask is you credit us and li

Helps positioning your tauri windows.

Tauri plugin positioner A plugin for tauri that helps positioning you windows at well known locations. Install Rust [dependencies] tauri-plugin-positi

Ditch your status bar for some snazzy desktop notifications.
Ditch your status bar for some snazzy desktop notifications.

citron Ditch your panel for some snazzy desktop notifications. citron is: a non-intrusive alternative to status bars. on-demand, i.e. does not run in

Licensebat - 🔐⛵ Effortless dependency compliance with your license policies

Licensebat All docs here are temporary. Thougths For the moment, it seems it makes sense to have all the collectors sharing the same trait. That doesn

Dr-dotnet - 🩺 One-click diagnosis of your dotnet applications. Works both locally or remotely as a web service

Dr-dotnet - 🩺 One-click diagnosis of your dotnet applications. Works both locally or remotely as a web service. Based on the lowest level dotnet profiling APIs and using the rust language 🦀 for a minimal runtime penalty.

Tagref helps you maintain cross-references in your code.

Tagref helps you maintain cross-references in your code. You can use it to help keep things in sync, document assumptions, manage invariants, etc. Airbnb uses it for their front-end monorepo. You should use it too!

Owner
null
Simple timer for your terminal

consoleTimer Simple timer that allows you to initiate countdown from N seconds. Usage: consoletimer [time in seconds] consoletimer [time in minutes]m

Arthur 20 Apr 4, 2022
🌲 Open the current remote repository in your browser

gitweb Some of the flags and options are subject to change in the future. Ideas are welcome. Ideas are bulletproof (V). gitweb is a command line inter

Yoann Fleury 26 Dec 17, 2022
Gather metadata about your S3 buckets

S3 Meta This tool has been migrated into s3-utils, please use that crate for future updates. A simple tool to gather data about an S3 bucket (or subse

Isaac Whitfield 48 Dec 27, 2022
A nifty commandline tool to manage your workstation.

workstation It's a nifty commandline rust tool to make you sit slightly away from your screen by blacking out the screen if you come too close and loc

Amar Lakshya (desi_tux) 16 May 6, 2022
Keep your dependencies up-to-date

Deps.rs - Dependency status at a glance Deps.rs is a service that shows you at a glance if any of your dependencies are out of date or insecure. This

deps.rs 369 Jan 5, 2023
Cross-platform bookmarks manager for your shell

shellmark: bookmark manager for shell THIS IS AN EARLY ALPHA. It works for me, but requires better UX and more polish. shellmark is a cross-platform b

Artem Pyanykh 25 Nov 10, 2022
Czkawka is a simple, fast and easy to use app to remove unnecessary files from your computer.

Multi functional app to find duplicates, empty folders, similar images etc.

Rafał Mikrut 9.2k Jan 4, 2023
🦸‍♂️ Recast migrates your old extensions to AndroidX, making them compatible with the latest version of Kodular.

Recast Recast helps make your old extensions compatible with Kodular Creator version 1.5.0 or above. Prerequisites To use Recast, you need to have Jav

Shreyash Saitwal 13 Dec 28, 2022
Add nice user-facing diagnostics to your errors without being weird about it.

thisdiagnostic is a Rust library for adding rich diagnostic metadata to errors, for some really fancy and customizable error reporting!

Kat Marchán 14 Feb 2, 2022
Combine internet connections, increase your download speed

dispatch A SOCKS proxy that balances traffic between network interfaces. Should work on macOS, Windows, and Linux. Only tested on macOS for now. This

Alexandre Kirszenberg 90 Jan 7, 2023