No description
  • Rust 98.7%
  • Makefile 1.1%
Find a file
2026-06-08 19:41:05 +05:30
antivirus feat: impl libantivirus::ScannerPort for clamav. Requires clamd running locally and accessible via UNIX socket. 2026-06-05 20:21:11 +05:30
archive_files_utils feat: expose private tar API for use in libantivirus 2026-06-05 15:59:16 +05:30
authz chore: update devenv 2026-06-04 18:17:09 +05:30
common_utils fix: typos 2026-05-02 18:49:57 +05:30
db_utils chore: update devenv 2026-06-04 18:17:09 +05:30
dns chore: update devenv 2026-06-04 18:17:09 +05:30
libgit chore: update devenv 2026-06-04 18:17:09 +05:30
LICENSES feat: init neo workspace 2025-11-10 16:07:57 +05:30
shared feat: replace FS adapters with S3 object store adapters from libobjstore 2026-06-08 17:21:35 +05:30
src feat: init neo workspace 2025-11-10 16:07:57 +05:30
static_site feat: executor service to effect local changes from CreateDeploymentCommand via libcaddy 2026-06-08 19:39:46 +05:30
tasker feat: impl async pool 2026-05-29 21:55:44 +05:30
.envrc feat: aggregate migrations from workspaces & run migrations via db_utils 2026-03-06 16:00:06 +05:30
.gitignore feat: use monorepo structure for devenv 2026-01-27 19:51:11 +05:30
Cargo.lock feat: def&mpl FS ports for S3 through libobjstore 2026-06-08 17:18:24 +05:30
Cargo.toml feat: def&mpl FS ports for S3 through libobjstore 2026-06-08 17:18:24 +05:30
devenv.lock chore: update devenv 2026-06-04 18:17:09 +05:30
devenv.nix feat: use monorepo structure for devenv 2026-01-27 19:51:11 +05:30
devenv.yaml feat: use monorepo structure for devenv 2026-01-27 19:51:11 +05:30
Makefile feat: update devenv 2026-06-01 03:55:48 +05:30
README.md feat: decouple DNS server impl into traits and server-specific impl 2025-11-20 13:57:23 +05:30
renovate.json Add renovate.json 2025-11-17 00:19:27 +00:00
rust-toolchain.toml feat: def AssetBundle aggregate and impl CreateAssetBundleService 2026-05-14 20:23:05 +05:30

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.

Crate Description
common_utils utilities to work with CQRS. Might be used by other workspaces.
db_utils Database utilities to create, and drop databases. Also contains an implementation with the sqlx (postgres) crate.
dns LibrePages' DNS component. Create zones, and manage records.
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)
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.
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.
dns/dnsserver/libdnsserver Library defining traits for LibrePages to work with a DNS server
dns/dnsserver/libbind9 bind9 implementation of libdnsserver

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.