grapl
cargo2nix
grapl | cargo2nix | |
---|---|---|
8 | 12 | |
671 | 325 | |
- | 3.7% | |
9.8 | 6.7 | |
over 1 year ago | 16 days ago | |
Rust | Nix | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
grapl
-
Rust – Faster compilation with the parallel front-end in nightly
https://github.com/grapl-security/grapl/
I just did a clean build `cargo build`, 19 minutes 44 seconds.
I added 1 line (`dbg!("foo")`) and it took 14.76s
-
Introduction to Curp Protocol
Awesome. So, CURP was pretty inspiring for the work I did on Grapl. Grapl Schemas had to define conflict resolution algorithms.
https://github.com/grapl-security/grapl/blob/main/etc/exampl...
As you can see here, there are some special built-ins that aren't important (keys, timestamps) but you can see there's @immutable (FWW) and @increment_only.
This meant that our graphs formed a big CRDT, which meant that every operation commuted, which meant that we could do weird things with our consensus. Reads could happen on stale data, writes could be dropped, we could read from two inconsistent databases and resolve the inconsistency in memory, etc. I even hacked this into ScyllaDB by encoding each merge function into an integer, and setting that as the TIMESTAMP, for when replication merging happened to the values - this meant we could perform writes (repeatedly) without reading a value first, and with no coordination between nodes. What I didn't have was a native solution that could take advantage of these constraints.
As you can tell, this project is obviously very interesting to me. I ran through this pretty quickly but I'll dig in more soon. I'm just excited to see this.
- Transitioning to Rust as a company
- Rust for cyber security
-
Why Rust is a great choice for startups
Rust, Python and Go. Props to you for being sensible with technology choice.
https://github.com/grapl-security/grapl
-
Is Rust Web Yet?
That's great for you and your team, but looking at https://github.com/grapl-security/grapl it seems like your needs are pretty different from most web developers.
- NPM malware and what it could imply for Cargo
cargo2nix
- Transitioning to Rust as a company
-
Way to get NVM working in CI/CD systems
- Rust projects are built with https://github.com/cargo2nix/cargo2nix. We chose cargo2nix to get incremental builds, meaning that dependency builds can be shared between our Rust projects and that not all dependencies have to be rebuilt when adding/updating/removing dependencies from a project.
-
[Blog post]: Scaling Rust builds with Bazel
We used cargo2nix to generate top-level Cargo.nix file that we committed to the repository (we didn't allow generating nix files on CI for security and reproducibility reasons).
-
Nix & Rust - cargo2nix 0.11.0 released
There's a cross compile example that works for at least 3-4 targets on Linux and uses proc macros. Pretty sure the situation you described is no more complex.
-
Rust nix develop & nix build - cargo2nix 0.11.0 released
Release notes. Last announced release was 0.9.0.
- Nix and NixOS Get So Close to Perfect
-
How Go Mitigates Supply Chain Attacks
Nix already solves this problem and can handle dependencies and building projects across a range of languages (including Rust via Cargo2nix) and reproducible machine configuration.
- From nix-shell to nix develop
-
Is using crates more safe than using npm?
Building with nix, for instance with cargo2nix (https://github.com/cargo2nix/cargo2nix), could be safer if sandboxing is enabled.
-
Nix-ifying a Rust project
cargo2nix
What are some alternatives?
ntex - framework for composable networking services
naersk - Build Rust projects in Nix - no configuration, no code generation, no IFD, sandbox friendly.
cargo-deny - ❌ Cargo plugin for linting your dependencies 🦀
rust-nix-template - Rust project template with Nix (Flakes) and VSCode support
demo-rust-axum - Demo of Rust and axum web framework with Tokio, Tower, Hyper, Serde
rust-overlay - Pure and reproducible nix overlay of binary distributed rust toolchains
nodo - Pre-emptively created repository so the design can be discussed on the issue tracker before commits are made (repo name may change)
crate2nix - rebuild only changed crates in CI with crate2nix and nix
rfcs - RFCs for changes to Rust
Cargo - The Rust package manager
rust-wiki-backup - A backup of the Rust wiki
watt - Runtime for executing procedural macros as WebAssembly