No description
Find a file
2025-11-18 19:43:16 +05:30
common_utils feat: doc: examples for uuid generator 2025-11-17 18:17:58 +05:30
db_utils feat: init DB utils 2025-11-10 16:05:39 +05:30
dns feat: doc: examples for uuid generator 2025-11-17 18:17:58 +05:30
LICENSES feat: init neo workspace 2025-11-10 16:07:57 +05:30
src feat: init neo workspace 2025-11-10 16:07:57 +05:30
.envrc feat: init neo workspace 2025-11-10 16:07:57 +05:30
.gitignore fix: dont track .env files. Ones in tree are safe 2025-11-10 16:48:43 +05:30
Cargo.lock feat&fix: make expiry optional and use time fetcher from common_utils 2025-11-17 17:13:48 +05:30
Cargo.toml feat: query whois servers 2025-11-12 18:00:24 +05:30
devenv.lock feat: init neo workspace 2025-11-10 16:07:57 +05:30
devenv.nix feat: init neo workspace 2025-11-10 16:07:57 +05:30
devenv.yaml feat: init neo workspace 2025-11-10 16:07:57 +05:30
Makefile feat: init neo workspace 2025-11-10 16:07:57 +05:30
README.md feat: docs: list repo components and dev requirements 2025-11-18 15:00:29 +05:30
renovate.json Add renovate.json 2025-11-17 00:19:27 +00:00

Neo

An attempt to re-write a incomplete implementation

Workspaces (components)

This repository is divided into multiple cargo workspaces (essentially multiple crates) for faster compilation and better reusability.

  1. common_utils: utilities to work with CQRS. Might be used by other workspaces.
  2. db_utils: Database utilities to create, and drop databases. Also contains an implementation with the sqlx (postgres) crate.
  3. dns: LibrePages' DNS component. Create zones, and manage records.
  4. dns/libwhois: fetch WHOIS data from IANA > TLD authoritative WHOIS server > Registrar's WHOIS server. Runs on best-effort basis, since some TLDs (like .app don't publish WHOIS records)
  5. dns/migrations/libmigrator: Database migrations for the dns crate. Bakes in migrations using the SQLx macro. Also contains the general CQRS events table that cqrs-es crate requires.
  6. dns/migrations/migrator: CLI tool to run dns crate's migrations. Uses dns/migrations/libmigrator under the hood. Used for development to set up environments.

Development Requirements

  1. Nightly Rust (rustc 1.92.0-nightly (6501e64fc 2025-10-23))
  2. docker: optional, for dev dependencies like Postures)
  3. devenv, direnv via the nix-shell: optional, easy environment management

Note: A new version of Nightly Rust toolchain is released every **cough** every night. This repository is pinned to a certain version (see above) of the compiler. A later version MAY produce compilation errors, that might be rectified in the following night's toolchain release.