Nix binary cache implemented in rust using libnix-store

Related tags

Utilities harmonia
Overview

harmonia

Build

Whole application

nix-shell --run cargo b

C Library Wrapper around libnixstore

nix-shell --run make

Note: The makefile is only to provide a way to build the c Library so it can be used outside of rust as well.

Configuration

Default values

bind = "127.0.0.1:8080"
workers = 4
max_connection_rate = 256
priority = 30

Per default we wont sign any narinfo because we don't have a secret key, to enable this feature enable it by providing a path to a private key generated by nix-store --generate-binary-cache-key cache.example.com-1 /etc/nix/cache.sk /etc/nix/cache.pk

sign_key_path = "/run/secrets/key"

Logging can be configured with env_logger. The default value is info,actix_web=debug. To only log errors use the following RUST_LOG=error and to only disable access logging, use RUST_LOG=info,actix_web::middleware=error

Inspiration

Comments
  • chore(deps): bump serde_json from 1.0.83 to 1.0.85

    chore(deps): bump serde_json from 1.0.83 to 1.0.85

    Bumps serde_json from 1.0.83 to 1.0.85.

    Release notes

    Sourced from serde_json's releases.

    v1.0.85

    • Make Display for Number produce the same representation as serializing (#919)

    v1.0.84

    • Make Debug impl of serde_json::Value more compact (#918)
    Commits
    • 44d9c53 Release 1.0.85
    • 2c8e2b0 Merge pull request #919 from serde-rs/displaynum
    • cb2515b Make Display for Number produce the same representation as serializing
    • 8ba8541 Preserve '.0' when Displaying Number
    • de251c8 Add test of Display for Number containing float
    • 6b8b073 Release 1.0.84
    • 9e9b2b7 Revert "Avoid cargo 1.45–1.50 in GitHub Actions"
    • a685113 Merge pull request #918 from serde-rs/debug
    • dd6a86d Reduce unneeded parens and newlines in Debug for Value
    • de62e3e Make Debug test compatible with preserve_order
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    Dependabot will merge this PR once CI passes on it, as requested by @Conni2461.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 4
  • feat(libnixstore): enum Radix impl Default instead of base32:bool

    feat(libnixstore): enum Radix impl Default instead of base32:bool

    This commit adds enum Radix with variants Base32 and Base16, plus an impl Default which returns Base32 (which is usually what you want). C++ APIs which take base32:bool are now exposed in Rust radix:Radix.

    This has two benefits:

    1. The documentation for what these arguments mean can be written once, in enum Radix, rather than repetitively in the four functions which take a base32:bool.

    2. Radix implements Default, so the user doesn't need to remember what true/false mean; they can just write Radix::default() to mean "do the most obvious thing".

    See also: https://github.com/helsinki-systems/harmonia/pull/68#issuecomment-1334709810

    opened by amjoseph-nixpkgs 3
  • doc(libnixstore): rustdoc for Drv, PathInfo, and two functions

    doc(libnixstore): rustdoc for Drv, PathInfo, and two functions

    Hey, thanks so much for writing this awesome crate! It was exactly what I needed and "just worked" on the first try.

    This PR adds rustdoc comments for the fields of Drv and PathInfo, as well as the base32 argument to query_path_info() and the include_outputs argument to compute_fs_closure().

    opened by amjoseph-nixpkgs 3
  • chore(deps): bump cxx-build from 1.0.76 to 1.0.79

    chore(deps): bump cxx-build from 1.0.76 to 1.0.79

    Bumps cxx-build from 1.0.76 to 1.0.79.

    Release notes

    Sourced from cxx-build's releases.

    1.0.79

    • Allow trycatch to be written using a std::string argument to fail, instead of just const char * (#1114)

    1.0.78

    • Update argument parser to clap 4 (#1105)

    1.0.77

    • Support Vec<bool>/rust::Vec<bool> (#1103)
    Commits
    • 97a46f9 Release 1.0.79
    • 82420d5 Lockfile update
    • affcc4e Merge pull request #1114 from dtolnay/failstring
    • 6f257d8 Allow trycatch to call Fail using std::string
    • 031723f Merge pull request #1113 from dtolnay/exception
    • 438621c Fix incorrect string len if an exception's message is invalid UTF-8
    • a396524 Merge pull request #1112 from dtolnay/fail
    • d1afb26 Factor out the Fail lambda from all trycatch calls
    • 5ab0a48 Mark cxxbridge1$exception noexcept
    • 202a029 Move namespace rust::repr above namespace rust::detail
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 3
  • chore(deps): bump cxx-build from 1.0.73 to 1.0.75

    chore(deps): bump cxx-build from 1.0.73 to 1.0.75

    Bumps cxx-build from 1.0.73 to 1.0.75.

    Release notes

    Sourced from cxx-build's releases.

    1.0.75

    1.0.74

    • Fix "filename, directory name, or volume label syntax is incorrect" build error on Windows when the target dir in which cxx-build is running contains broken symlinks (#1085)
    Commits
    • 0293ff5 Release 1.0.75
    • bd8907b Lockfile update
    • ce7c5c4 Make SharedPtr Unpin like UniquePtr
    • a14eb80 Move Unpin impl near Drop impl
    • 9a84aa5 Touch up UniquePtr Unpin explanation
    • c59c685 Merge pull request #1091 from LeonMatthesKDAB/unpin-uniqueptr
    • f4ae0f1 Add Unpin impl for UniquePtr.
    • b66e95a Merge pull request #1090 from geekbrother/geekbrother-add-repo
    • 42da9b2 Add geekbrother/cxx-corrosion-cmake repo to the CMake docs.
    • a1e1983 Add build-dependencies keyword for cxx-build
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    Dependabot will merge this PR once CI passes on it, as requested by @dasJ.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 3
  • Add Cache-Control headers to control caching of responses.

    Add Cache-Control headers to control caching of responses.

    In order to control the caching done by reverse proxies sitting in front of harmonia, we need to include Cache-Control headers in the HTTP responses. Without these headers, most reverse proxies will not automatically cache responses.

    We also set the caching policy to no-store for missing store paths such that clients do not get served a cached 404 response for newly created store paths.

    We allow caching .narinfo responses for 1 day, since they can change (for instance if the URL of the NAR files on the server changes). NAR files should not change, and so we allow caching them for 1 year.

    opened by R-VdP 2
  • chore(deps): bump serde from 1.0.149 to 1.0.151

    chore(deps): bump serde from 1.0.149 to 1.0.151

    Bumps serde from 1.0.149 to 1.0.151.

    Release notes

    Sourced from serde's releases.

    v1.0.151

    • Update serde::{ser,de}::StdError to re-export core::error::Error when serde is built with feature="std" off and feature="unstable" on (#2344)

    v1.0.150

    • Relax some trait bounds from the Serialize impl of HashMap and BTreeMap (#2334)
    • Enable Serialize and Deserialize impls of std::sync::atomic types on more platforms (#2337, thanks @​badboy)
    Commits
    • 44bf363 Release 1.0.151
    • f261184 Merge pull request #2344 from dtolnay/coreerror
    • df40f80 Make StdError identical to core::error::Error on feature="unstable"
    • e7060ba Merge pull request #2342 from atouchet/badges
    • d98f0ee Update build status badge
    • 4f157a8 Prevent build.rs rerunning unnecessarily on all source changes
    • d493649 Release 1.0.150
    • 0e947e6 Merge pull request #2338 from serde-rs/atomic
    • 9249dab Deduplicate atomic_impl macro calls
    • 7440e56 Deduplicate atomic_impl macro implementations
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • chore(deps): bump serde from 1.0.149 to 1.0.150

    chore(deps): bump serde from 1.0.149 to 1.0.150

    Bumps serde from 1.0.149 to 1.0.150.

    Release notes

    Sourced from serde's releases.

    v1.0.150

    • Relax some trait bounds from the Serialize impl of HashMap and BTreeMap (#2334)
    • Enable Serialize and Deserialize impls of std::sync::atomic types on more platforms (#2337, thanks @​badboy)
    Commits
    • d493649 Release 1.0.150
    • 0e947e6 Merge pull request #2338 from serde-rs/atomic
    • 9249dab Deduplicate atomic_impl macro calls
    • 7440e56 Deduplicate atomic_impl macro implementations
    • 0d79306 Update atomic_impl macros to have same input syntax in all cfgs
    • 37faaf2 Mention target_has_atomic stabilization
    • 650358f Replace obsolete comment about target_has_atomic support
    • 6159ead Invert use_target_has_atomic cfg
    • 692ac99 Format PR 2337 with rustfmt
    • 86161ce Adjust spacing in some macro matchers
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • chore(tests): update attrnames to mute nixos warnings

    chore(tests): update attrnames to mute nixos warnings

    Prior to this commit, the test suite emits the following warnings (using nixpkgs ~22.11):

    trace: warning: The option `nix.requireSignedBinaryCaches' defined in `makeTest parameters' has been renamed to `nix.settings.require-sigs'.
    trace: warning: The option `nix.binaryCaches' defined in `makeTest parameters' has been renamed to `nix.settings.substituters'.
    trace: warning: The option `nix.binaryCaches' defined in `makeTest parameters' has been renamed to `nix.settings.substituters'.
    trace: warning: The option `nix.requireSignedBinaryCaches' defined in `makeTest parameters' has been renamed to `nix.settings.require-sigs'.
    trace: warning: The option `nix.binaryCaches' defined in `makeTest parameters' has been renamed to `nix.settings.substituters'.
    

    This commit updates the attrnames to mute the warnings.

    opened by amjoseph-nixpkgs 1
  • Harmonia unable to process private key with trailing whitespace

    Harmonia unable to process private key with trailing whitespace

    Works fine without the config option set, but with it, I get:

    $ /nix/store/n4knp1ma8kr8n7w7bvz86kydb6prcysd-harmonia/bin/harmonia
    thread 'main' panicked at 'Unexpected error while extracting the secret key: InvalidByte(88, 10)', harmonia/src/main.rs:460:10
    note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
    

    Settings are very simple:

    $ cat settings.toml
    bind = "0.0.0.0:5001"
    max_connection_rate = 256
    priority = 50
    sign_key_path = "/var/cache-priv-key.pem"
    workers = 4
    

    The key file looks like this:

    $ cat /var/cache-priv-key.pem
    hydra.elided.ai:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==
    

    Any ideas what I'm doing wrong here? This is with the current master built from source (20114c21d1c902a8f5ad7be7744df241a784a06d).


    Looks like the issue is that the pem had been edited by vim, which automatically inserts a linefeed (byte 10) at the end of text files. Removing this corrects the issue— might be worth making Harmonia strip whitespace characters before attempting to decode the key?

    opened by mikepurvis 1
  • chore(deps): bump serde from 1.0.147 to 1.0.148

    chore(deps): bump serde from 1.0.147 to 1.0.148

    Bumps serde from 1.0.147 to 1.0.148.

    Release notes

    Sourced from serde's releases.

    v1.0.148

    • Support remote derive for generic types that have private fields (#2327)
    Commits
    • 7766103 Release 1.0.148
    • 30f7c71 Merge pull request #2331 from dtolnay/remote
    • 50354c2 Improve error message on remote derive duplicate generics
    • c4f67e6 Add ui test of duplicate generics in remote derive
    • 0daafe4 Merge pull request #2330 from dtolnay/remote
    • 3702191 Fix Into conversion involving generic remote derive with getter
    • 7328b34 Add test of generic remote derive with getter
    • fabbd2b Merge pull request #2329 from dtolnay/safety
    • 6814f97 Revert Buf::as_str safety change from PR 2319
    • 4ea403c Merge pull request #2328 from dtolnay/remote
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • chore(deps): bump serde from 1.0.149 to 1.0.152

    chore(deps): bump serde from 1.0.149 to 1.0.152

    Bumps serde from 1.0.149 to 1.0.152.

    Release notes

    Sourced from serde's releases.

    v1.0.152

    • Documentation improvements

    v1.0.151

    • Update serde::{ser,de}::StdError to re-export core::error::Error when serde is built with feature="std" off and feature="unstable" on (#2344)

    v1.0.150

    • Relax some trait bounds from the Serialize impl of HashMap and BTreeMap (#2334)
    • Enable Serialize and Deserialize impls of std::sync::atomic types on more platforms (#2337, thanks @​badboy)
    Commits
    • ccf9c6f Release 1.0.152
    • b25d0ea Link to Hjson data format
    • 4f4557f Link to bencode data format
    • bf400d6 Link to serde_tokenstream data format
    • 4d2e36d Wrap flexbuffers bullet point to 80 columns
    • df6310e Merge pull request #2347 from dtolnay/docsrs
    • 938ab5d Replace docs.serde.rs links with intra-rustdoc links
    • ef5a0de Point documentation links to docs.rs instead of docs.serde.rs
    • 5d186c7 Opt out -Zrustdoc-scrape-examples on docs.rs
    • 44bf363 Release 1.0.151
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • chore(deps): bump cxx-build from 1.0.83 to 1.0.85

    chore(deps): bump cxx-build from 1.0.83 to 1.0.85

    Bumps cxx-build from 1.0.83 to 1.0.85.

    Release notes

    Sourced from cxx-build's releases.

    1.0.85

    • Opt out of -Zrustdoc-scrape-examples on docs.rs for now

    1.0.84

    • Documentation improvements
    Commits
    • 09ae2ee Release 1.0.85
    • c3e1790 Opt out -Zrustdoc-scrape-examples on docs.rs
    • 1ac3311 Release 1.0.84
    • 8da6312 Explicitly no default_edition for system Rust toolchain
    • a45c4cd Update build status badge
    • eed3869 Switch to buck2's system toolchains
    • 49e4e65 Pull buck2 prelude from buck2-prelude repo
    • 9a3f8d8 Check reindeer-generated BUCK file in CI
    • 31f5b97 Update ui test suite to nightly-2022-12-12
    • 62228de Pull in update of buck2 prelude
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • chore(deps): bump cxx from 1.0.83 to 1.0.85

    chore(deps): bump cxx from 1.0.83 to 1.0.85

    Bumps cxx from 1.0.83 to 1.0.85.

    Release notes

    Sourced from cxx's releases.

    1.0.85

    • Opt out of -Zrustdoc-scrape-examples on docs.rs for now

    1.0.84

    • Documentation improvements
    Commits
    • 09ae2ee Release 1.0.85
    • c3e1790 Opt out -Zrustdoc-scrape-examples on docs.rs
    • 1ac3311 Release 1.0.84
    • 8da6312 Explicitly no default_edition for system Rust toolchain
    • a45c4cd Update build status badge
    • eed3869 Switch to buck2's system toolchains
    • 49e4e65 Pull buck2 prelude from buck2-prelude repo
    • 9a3f8d8 Check reindeer-generated BUCK file in CI
    • 31f5b97 Update ui test suite to nightly-2022-12-12
    • 62228de Pull in update of buck2 prelude
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • chore(deps): bump base64 from 0.13.1 to 0.20.0

    chore(deps): bump base64 from 0.13.1 to 0.20.0

    Bumps base64 from 0.13.1 to 0.20.0.

    Changelog

    Sourced from base64's changelog.

    0.20.0

    Breaking changes

    • Update MSRV to 1.57.0
    • Decoding can now either ignore padding, require correct padding, or require no padding. The default is to require correct padding.
      • The NO_PAD config now requires that padding be absent when decoding.

    0.20.0-alpha.1

    Breaking changes

    • Extended the Config concept into the Engine abstraction, allowing the user to pick different encoding / decoding implementations.
      • What was formerly the only algorithm is now the FastPortable engine, so named because it's portable (works on any CPU) and relatively fast.
      • This opens the door to a portable constant-time implementation (#153, presumably ConstantTimePortable?) for security-sensitive applications that need side-channel resistance, and CPU-specific SIMD implementations for more speed.
      • Standard base64 per the RFC is available via DEFAULT_ENGINE. To use different alphabets or other settings (padding, etc), create your own engine instance.
    • CharacterSet is now Alphabet (per the RFC), and allows creating custom alphabets. The corresponding tables that were previously code-generated are now built dynamically.
    • Since there are already multiple breaking changes, various functions are renamed to be more consistent and discoverable.
    • MSRV is now 1.47.0 to allow various things to use const fn.
    • DecoderReader now owns its inner reader, and can expose it via into_inner(). For symmetry, EncoderWriter can do the same with its writer.
    • encoded_len is now public so you can size encode buffers precisely.
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • chore(deps): bump tokio from 1.22.0 to 1.23.0

    chore(deps): bump tokio from 1.22.0 to 1.23.0

    Bumps tokio from 1.22.0 to 1.23.0.

    Release notes

    Sourced from tokio's releases.

    Tokio v1.23.0

    Fixed

    • net: fix Windows named pipe connect (#5208)
    • io: support vectored writes for ChildStdin (#5216)
    • io: fix async fn ready() false positive for OS-specific events (#5231)

    Changed

    • runtime: yield_now defers task until after driver poll (#5223)
    • runtime: reduce amount of codegen needed per spawned task (#5213)
    • windows: replace winapi dependency with windows-sys (#5204)

    #5208: tokio-rs/tokio#5208 #5216: tokio-rs/tokio#5216 #5213: tokio-rs/tokio#5213 #5204: tokio-rs/tokio#5204 #5223: tokio-rs/tokio#5223 #5231: tokio-rs/tokio#5231

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
Releases(harmonia-v0.2.0)
Owner
Helsinki Systems
Helsinki Systems
This plugin provides an interface for storing unencrypted values on the application cache folder.

Tauri Plugin Store This plugin provides an interface for storing unencrypted values on the application cache folder. Architecture This repo shape migh

Tauri 128 Jan 1, 2023
syncmap is a fast, concurrent cache library built with a focus on performance and correctness.

syncmap syncmap syncmap is a fast, concurrent cache library syncmap is a fast, concurrent cache library built with a focus on performance and correctn

Behrouz R.Farsi 15 Dec 2, 2022
A zsh histb browser using skim. Implemented in rust.

A zsh histb browser using skim. Implemented in rust.

Matthias Bilger 18 Nov 17, 2022
A memory efficient immutable string type that can store up to 24* bytes on the stack

compact_str A memory efficient immutable string type that can store up to 24* bytes on the stack. * 12 bytes for 32-bit architectures About A CompactS

Parker Timmerman 342 Jan 2, 2023
A tool to subscribe to Twitch channels and store them efficiently on disk

twitch-messages A tool to subscribe to Twitch channels and store them efficiently on disk Build the Tools You can start by building the binaries that

Clément Renault 1 Oct 31, 2021
A lambda extension to hot reload parameters from SSM Parameter Store, Secrets Manager, DynamoDB, AppConfig

A lambda extension to hot reload parameters from SSM Parameter Store, Secrets Manager, DynamoDB, AppConfig

Jake Scott 7 Jun 12, 2022
Keyboard firmware implemented in Rust

flutterby-rs Keyboard firmware implemented in Rust. It doesn't do anything useful yet! Building for atmega32u4 devices (ergodox-ez, feather32u4) First

Wez Furlong 26 Dec 31, 2022
The Roguelike Toolkit (RLTK), implemented for Rust.

The Roguelike Toolkit (RLTK), implemented for Rust.

Amethyst Foundation 1.1k Jan 6, 2023
Arduino Uno 9 axis acceleration sensor (BMX055) reader implemented in Rust.

Arduino Uno Accelaration reader in Rust Components Arduino Uno (Probably possible with other AVR microcontrollers) BMX055 (Japanese website) Datasheet

Katsu Uchiyama 3 Dec 15, 2022
This is a Pomodoro Clock implemented as a Zellij plugin.

Pomodoro Clock This is a Pomodoro Clock implemented as a Zellij plugin. It shows a Pomodoro time as well as current date time. Prerequisite You must i

Tw 15 Nov 14, 2022
An ND812 decoder implemented as part of the yaxpeax project

yaxpeax-nd812 an ND812 decoder implemented as part of the yaxpeax project, including traits provided by yaxpeax-arch. the ND812 is a 12-bit microcompu

iximeow 1 Jan 22, 2022
Token management program (vesting and mining) implemented in Anchor

Deep Dive into Anchor by Implementing Token Management Program Author: @ironaddicteddog, @emersonliuuu [Updated at 2022.5.21] You can find the full co

Something-Something 8 Aug 12, 2024
A swiss army knife for creating binary modules for Garry's Mod in Rust.

A swiss army knife for creating binary modules for Garry's Mod in Rust.

William 38 Dec 24, 2022
Rust+Cargo lightweight hello world with the most minimum binary size possible.

Lightweight Cargo Hello World Rust+Cargo lightweight hello world with the most minimum binary size possible. requirements 1: Rustup (Rustc, Cargo) Ins

Raymond 1 Dec 13, 2021
CBOR (binary JSON) for Rust with automatic type based decoding and encoding.

THIS PROJECT IS UNMAINTAINED. USE serde_cbor INSTEAD. This crate provides an implementation of RFC 7049, which specifies Concise Binary Object Represe

Andrew Gallant 121 Dec 27, 2022
An unofficial and incomplete no_std Rust library for implementing the ElectricUI Binary Protocol

An unofficial and incomplete no_std Rust library for implementing the ElectricUI Binary Protocol

Jon 2 Mar 29, 2022
A self-contained, single-binary Rust and Leptos application for remote Wake-on-LAN

Remote Wake-on-LAN with Rust and Leptos A self-contained, single-binary Rust and Leptos application serving a web interface to wake another device on

Valentin Bersier 6 Jan 28, 2023
A tiling window manager for Windows 10 based on binary space partitioning

yatta BSP Tiling Window Manager for Windows 10 Getting Started This project is still heavily under development and there are no prebuilt binaries avai

Jade 143 Nov 12, 2022
🚧 (Alpha stage software) Binary that supports remote filesystem and process operations. 🚧

distant Binary to connect with a remote machine to edit files and run programs. ?? (Alpha stage software) This program is in rapid development and may

Chip Senkbeil 296 Dec 28, 2022