(housekeeping): READMEs for each crate
Diff
Cargo.lock | 4 ++++
Cargo.toml | 1 +
chartered-fs/Cargo.toml | 8 ++++++++
chartered-fs/README.md | 4 ++++
chartered-git/README.md | 15 +++++++++++++++
chartered-web/README.md | 9 +++++++++
chartered-fs/src/lib.rs | 7 +++++++
7 files changed, 48 insertions(+)
@@ -183,6 +183,10 @@
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "chartered-fs"
version = "0.1.0"
[[package]]
name = "chartered-git"
version = "0.1.0"
dependencies = [
@@ -1,5 +1,6 @@
[workspace]
members = [
"chartered-git",
"chartered-web",
"chartered-fs",
]
@@ -1,0 +1,8 @@
[package]
name = "chartered-fs"
version = "0.1.0"
edition = "2018"
[dependencies]
@@ -1,0 +1,4 @@
# chartered-fs (library)
A file-system abstraction layer, for switching between S3, local file
storage, etc. Used by `chartered-web` to store `.crate` files.
@@ -1,0 +1,15 @@
# chartered-git (binary)
Spins up an isolated SSH server, accepting connections only from those
with known SSH keys and serves the git protocol over it. When requesting
the git packfile, it'll serve a cargo index with only packages the user
has access to in there.
To ensure proper authorization when the user pulls the `.crate` file
over the HTTP API, the cargo index's `config.json` will have credentials
embedded into it specific to the user, which will be passed by cargo to
the HTTP API.
The user is only served a single, detatched commit from this git server,
cargo handles this gracefully as it checks out the server's HEAD rather
than trying to merge it into a master branch.
@@ -1,0 +1,9 @@
# chartered-web (binary)
The web UI and Cargo HTTP API implementation for chartered. The Cargo
HTTP API is authenticated using a key either generated during login on
the Web UI or embedded into the cargo index returned by `chartered-git`.
The web UI also allows for adding SSH keys that can be used to
authenticate and identify yourself to `chartered-git`, it's also used
for group management, etc.
@@ -1,0 +1,7 @@
#[cfg(test)]
mod tests {
#[test]
fn it_works() {
assert_eq!(2 + 2, 4);
}
}