bazel-remote
casync
bazel-remote | casync | |
---|---|---|
4 | 17 | |
561 | 1,462 | |
- | 0.4% | |
7.9 | 2.4 | |
14 days ago | 4 months ago | |
Go | C | |
Apache License 2.0 | - |
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.
bazel-remote
-
Casync – A Content-Addressable Data Synchronization Tool
I did PoC experiments with compression, chunking, and IPFS here: https://github.com/SaveTheRbtz/bazel-cache
If you need a mature compression implementation for bazel I would recommend using recent bazel versions w/ gRPC-based bazel-remote: https://github.com/buchgr/bazel-remote
bazel nowadays supports end-to-end compression w/ `--experimental_remote_cache_compression`: https://github.com/bazelbuild/bazel/pull/14041
-
Honesty, how are people using bazel in CI
I would rather go with a standalone cache to utilize bazel inceremental builds. Take a look at bazel buildfarm or remote cache (https://github.com/buchgr/bazel-remote). Once you populate cache builds will be very fast.
- Exodus: Easily migrate your JVM code from Maven to Bazel
-
We Need Better than Gradle — Adam Erb
I do run bazel-remote at my home server for remote cache, though.
casync
-
We reduced conda’s index fetch bandwidth by 99%
For arbitrary state changes however, it's better to use something like casync. Note that there are a lot of tunables, implicit and explicit; for package indexing I would particularly think about "how is the index sorted" and "what is the desired chunk size".
-
Intro to Content Defined Chunking
If you just want something practical to play with, see casync. Even if it doesn't fit your workflow, or if you think you can do better, chances are you're best off building on top of it or adding patches to it, not starting from scratch.
-
Tool to clone file structure without the large files themselves?
You probably want casync.
-
A Nibble of Content-Defined Chunking - How de-duplicated, incremental file transfer works
Obligatory link to casync, which implements this better than most alternatives.
-
LibSQL – a fork of SQLite that is both Open Source, and Open Contributions
(personally, I think more people need to be aware of casync for the update storage/distribution problem. It isn't perfect for every use case, but it's good enough that you're probably better off wrapping/forking it rather than reimplementing it badly from scratch)
-
improving download infra
Does something like casync (https://github.com/systemd/casync or https://github.com/folbricht/desync) serve any purpose or provide any advantage to propagating rpm changes over rsync?
-
Are there any true alternatives to Seafile? (Nextcloud is not an alternative in this context)
Software that comes to mind for syncing lots of small files: git (and other source versioning tools), casync (https://github.com/systemd/casync) and a go implementation (https://github.com/folbricht/desync). Not really an answer and I can't think of a way to shoehorn that into your workflow, but maybe it leads you down a useful road.
- Casync – A Content-Addressable Data Synchronization Tool
-
Hacker News top posts: Apr 23, 2022
Casync – A Content-Addressable Data Synchronization Tool\ (15 comments)
What are some alternatives?
buildbuddy - BuildBuddy is an open source Bazel build event viewer, result store, remote cache, and remote build execution platform.
kopia - Cross-platform backup tool for Windows, macOS & Linux with fast, incremental backups, client-side end-to-end encryption, compression and data deduplication. CLI and GUI included.
CMake - Mirror of CMake upstream repository
tarsnap - Command-line client code for Tarsnap.
Bazel - a fast, scalable, multi-language and extensible build system
desync - Alternative casync implementation
rules_scala - Scala rules for Bazel
zstd - Zstandard - Fast real-time compression algorithm
bazel-cache - Minimal cloud oriented Bazel gRPC cache
magic-trace - magic-trace collects and displays high-resolution traces of what a process is doing
buildtools - A bazel BUILD file formatter and editor
BorgBackup - Deduplicating archiver with compression and authenticated encryption.