sapling/eden/mononoke
Doug Neal 1e088c0af2 mononoke: lfs_server: add optional client identities to ratelimit config
Summary:
* Added intermediate (de)serializers for config types, so that we generate full Identity objects at config load time
* Implement FromStr for Identity
* Compare configured identities to presented identities in ratelimit middleware in order to decide whether or not to apply the limit

Reviewed By: krallin

Differential Revision: D20139308

fbshipit-source-id: 340c300db549575eb6d06efcbe437c0b1db4927b
2020-03-03 09:33:03 -08:00
..
apiserver rust: Move futures-old rdeps to renamed futures-old 2020-03-02 21:02:50 -08:00
benchmark rust: Move futures-old rdeps to renamed futures-old 2020-03-02 21:02:50 -08:00
blobimport_lib/src rust: Move futures-old rdeps to renamed futures-old 2020-03-02 21:02:50 -08:00
blobrepo rust: Move futures-old rdeps to renamed futures-old 2020-03-02 21:02:50 -08:00
blobrepo_utils mononoke (+ rust/shed/async_unit): update async_unit to expect async fn's 2020-02-18 01:55:00 -08:00
blobstore rust: Move futures-old rdeps to renamed futures-old 2020-03-02 21:02:50 -08:00
blobstore_sync_queue mononoke/blobstore_sync_queue: delete in smaller batches 2020-02-20 12:26:50 -08:00
bonsai_git_mapping make BonsaiGitMapping repo-specific 2020-02-27 08:05:13 -08:00
bonsai_globalrev_mapping rust: Move futures-old rdeps to renamed futures-old 2020-03-02 21:02:50 -08:00
bonsai_hg_mapping mononoke: convert places that talk to Memcache to Bytes 0.5 2020-02-26 03:30:47 -08:00
bookmarks rust: Move futures-old rdeps to renamed futures-old 2020-03-02 21:02:50 -08:00
cache_warmup/src derived_data: add DeriveError for when derivation is disabled 2020-02-19 09:28:09 -08:00
changesets mononoke: convert places that talk to Memcache to Bytes 0.5 2020-02-26 03:30:47 -08:00
cmdlib rust: Move futures-old rdeps to renamed futures-old 2020-03-02 21:02:50 -08:00
cmds rust: Move futures-old rdeps to renamed futures-old 2020-03-02 21:02:50 -08:00
commit_rewriting rust: Move futures-old rdeps to renamed futures-old 2020-03-02 21:02:50 -08:00
common rust: Move futures-old rdeps to renamed futures-old 2020-03-02 21:02:50 -08:00
derived_data rust: Move futures-old rdeps to renamed futures-old 2020-03-02 21:02:50 -08:00
edenapi_server/src rust: Move futures-old rdeps to renamed futures-old 2020-03-02 21:02:50 -08:00
fastreplay/src mononoke: include DB config in multiplexed blobstore configuration 2020-02-24 11:54:45 -08:00
filenodes mononoke/filenodes: Remove path from FilenodeInfo 2020-02-27 12:34:21 -08:00
filestore/src mononoke: update internals to Bytes 0.5 2020-02-27 08:08:28 -08:00
git rust: Move futures-old rdeps to renamed futures-old 2020-03-02 21:02:50 -08:00
gotham_ext/src mononoke/gotham_ext: make MononokeHttpHandler middleware async & allow preemption 2020-03-02 09:28:08 -08:00
hgcli rust: Move futures-old rdeps to renamed futures-old 2020-03-02 21:02:50 -08:00
hgproto rust: Begin upgrading to bytes 0.5 2020-02-18 21:20:09 -08:00
hook_tailer rust: Move futures-old rdeps to renamed futures-old 2020-03-02 21:02:50 -08:00
hooks rust: Move futures-old rdeps to renamed futures-old 2020-03-02 21:02:50 -08:00
lfs_import_lib/src mononoke: update internals to Bytes 0.5 2020-02-27 08:08:28 -08:00
lfs_protocol autocargo: Strip line comments 2020-02-26 16:31:52 -08:00
lfs_server/src mononoke: lfs_server: add optional client identities to ratelimit config 2020-03-03 09:33:03 -08:00
manifest rust: Move futures-old rdeps to renamed futures-old 2020-03-02 21:02:50 -08:00
mercurial rust: Move futures-old rdeps to renamed futures-old 2020-03-02 21:02:50 -08:00
metaconfig RFC: mononoke: introduce unodes v2 2020-03-02 05:27:31 -08:00
mononoke_api/src mononoke: make it clearer which repo is accessed in permission error 2020-03-03 07:22:50 -08:00
mononoke_types RFC: mononoke: introduce unodes v2 2020-03-02 05:27:31 -08:00
newfilenodes mononoke/newfilenodes: use for for_sharded_connection() 2020-02-28 04:53:03 -08:00
phases rust: Move futures-old rdeps to renamed futures-old 2020-03-02 21:02:50 -08:00
pushrebase/src rust: Move futures-old rdeps to renamed futures-old 2020-03-02 21:02:50 -08:00
reachabilityindex rust: Move futures-old rdeps to renamed futures-old 2020-03-02 21:02:50 -08:00
repo_client mononoke: pushrebase: fix casefolding_check usage during changeset creation 2020-03-03 03:57:32 -08:00
revset rust: Move futures-old rdeps to renamed futures-old 2020-03-02 21:02:50 -08:00
scs_server/src rust: Move futures-old rdeps to renamed futures-old 2020-03-02 21:02:50 -08:00
segmented_changelog/src rust: Move futures-old rdeps to renamed futures-old 2020-03-02 21:02:50 -08:00
server rust: Move futures-old rdeps to renamed futures-old 2020-03-02 21:02:50 -08:00
sshrelay autocargo: Strip line comments 2020-02-26 16:31:52 -08:00
tests mononoke: lfs_server: add optional client identities to ratelimit config 2020-03-03 09:33:03 -08:00
walker/src mononoke: walker: publish per-node-type stats 2020-03-03 03:47:57 -08:00
Cargo.toml autocargo: Strip line comments 2020-02-26 16:31:52 -08:00
README.md mononoke: add README.md and the missing pieces for supporting cargo (#13) 2020-02-13 00:12:36 -08:00

Mononoke

Mononoke is a next-generation server for the Mercurial source control system, meant to scale up to accepting thousands of commits every hour across millions of files. It is primarily written in the Rust programming language.

Caveat Emptor

Mononoke is still in early stages of development. We are making it available now because we plan to start making references to it from our other open source projects.

The version that we provide on GitHub does not build yet.

This is because the code is exported verbatim from an internal repository at Facebook, and not all of the scaffolding from our internal repository can be easily extracted. The key areas where we need to shore things up are:

  • Full support for a standard cargo build.
  • Open source replacements for Facebook-internal services (blob store, logging etc).

The current goal is to get Mononoke working on Linux. Other Unix-like OSes may be supported in the future