From 57b7de2bc5923fd70a9b087937166456f41bd21e Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Sat, 15 Jun 2019 19:49:59 +0200 Subject: [PATCH] fork to https://gitlab.com/hagrid-keyserver/hagrid --- CONTRIBUTE.md | 35 ------------ README.md | 82 +++++++---------------------- dist/templates/about/about.html.hbs | 2 +- 3 files changed, 20 insertions(+), 99 deletions(-) delete mode 100644 CONTRIBUTE.md diff --git a/CONTRIBUTE.md b/CONTRIBUTE.md deleted file mode 100644 index cb00d50..0000000 --- a/CONTRIBUTE.md +++ /dev/null @@ -1,35 +0,0 @@ -Hagrid is owned by the [p≡p foundation] and licensed under the -terms of the AGPLv3+. - - [p≡p foundation]: https://pep.foundation/ - -To finance its mission, privacy by default, the [p≡p foundation] -allows third parties (currently only [p≡p security]) to relicense its -software. Consistent with the rules of a foundation, the money -collected by the foundation in this manner is fully reinvested in the -foundation's mission, which includes further development of Hagrid. - - [p≡p security]: https://www.pep.security/ - -To do this, the [p≡p foundation] needs permission from all -contributors to relicense their changes. In return, the -[p≡p foundation] guarantees that *all* releases of Hagrid (and -any other software it owns) will also be released under a GNU-approved -license. That is, even if Foo Corp is granted a license to use -Hagrid in a proprietary product, the exact code that Foo Corp -uses will also be licensed under a GNU-approved license. - -If you want to contribute to Hagrid, and you agree to the above, -please sign the [p≡p foundation]'s [CLA]. This is an electronic -assignment; no paper work is required. You'll need to provide a valid -email address. After clicking on a link to verify your email address, -you'll receive a second email, which contains the contract between you -and the [p≡p foundation]. Be sure to keep it for future reference. -The maintainers of Hagrid will also receive a notification. At -that point, we can merge patches from you into Hagrid. - - [CLA]: https://contribution.pep.foundation/contribute/ - -Please direct questions regarding the CLA to [contribution@pep.foundation]. - - [contribution@pep.foundation]: mailto:contribution@pep.foundation diff --git a/README.md b/README.md index 176e9a3..8e0695d 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,10 @@ Hagrid ====== -Hagrid is a verifying OpenPGP key server. When a new key is uploaded a -token is sent to each user ID via email. This token can be used to verify the -user ID. Keys can be queried by their verified user IDs (exact match) and their -primary keys fingerprint. Keys can be deleted by clicking a link send to all -user IDs. +Hagrid is a verifying OpenPGP key server. + +You can find general instructions and an API documentation at the running +instance at [https://keys.openpgp.org](keys.openpgp.org). License ------- @@ -27,79 +26,36 @@ License along with Hagrid. If not, see Quick Start ----------- -Building Hagrid required a working [Rust _nightly_ -toolchain](https://rust-lang.org). The key server uses the filesystem to store -keys, user IDs and tokens. To run it, supply the absolute path to where you -want the database to live and the absolute path to the template directory. - -```bash -cp Rocket.toml.dist Rocket.toml -cargo run --bin hagrid -``` - -This will spawn a web server listening on port 8080. - -Hagrid uses `sendmail` for mailing, so you also need a working local mailer -setup. - -Usage ------ - -You can find instructions and API documentation at the running instance at -[https://keys.openpgp.org](keys.openpgp.org). - -Building --------- - Building Hagrid requires a working nightly Rust toolchain. The easiest way to get the toolchain is to download [rustup](https://rustup.rs). -After rustup is installed, get the nightly compiler and tools: +After rustup is installed, get the nightly compiler and tools, copy the +config file, and simply compile and run: ```bash cd hagrid rustup override set nightly +cp Rocket.toml.dist Rocket.toml +cargo run ``` -The web server can now be built with the cargo command: +This will spawn a web server listening on port 8080. -```bash -cargo build --release -``` - -After compilation a binary is placed in `target/release/` called -`hagrid`. The binary is linked statically and can be copied everywhere. - -```bash -cp target/release/hagrid /usr/local/bin -``` - -To deploy the key server copy all directories under `dist/` to a -writable location, and create a suitable configuration file. - -```bash -mkdir /var/lib/hagrid -cp -R dist/* /var/lib/hagrid -cp Rocket.toml.dist /var/lib/hagrid/Rocket.toml -$EDITOR /var/lib/hagrid/Rocket.toml -/usr/bin/env --chdir=/var/lib/hagrid ROCKET_ENV=production hagrid -``` - -This will spawn the server in foreground. The server will put all -keys and runtime data under the base folder (`/var/lib/hagrid` in the -above example). +For deployment, a release build should be used (`cargo build --release`). This +will be statically built, and can be copied anywhere. You will also need to +adjust `Rocket.toml` accordingly. Hagrid uses `sendmail` for mailing, so you +also need a working local mailer setup. Reverse Proxy ------------- Hagrid is designed to defer lookups to reverse proxy server like Nginx -and Apache. The key database is a set of 3 directories with static -files in them. The directory structure reflects Hagrids URL -scheme. This way, lookups via `/vks/v1/by-finingerprint`, -`/vks/v1/by-keyid`, and `/vks/v1/by-email` can be handled by (multiple) -simple HTTP server(s). A sample configuration for Nginx is part of the -repository (`nginx.conf`). +and Apache. Lookups via `/vks/v1/by-finingerprint`, `/vks/v1/by-keyid`, and +`/vks/v1/by-email` can be handled by a robust and performant HTTP server. A +sample configuration for nginx is part of the repository (`nginx.conf`, +`hagrid-routes.conf`). Community --------- -We're in `##hagrid` on Freenode. +We're in `#hagrid` on Freenode IRC, also reachable via Matrix as +`#hagrid:stratum0.org`. diff --git a/dist/templates/about/about.html.hbs b/dist/templates/about/about.html.hbs index 089c495..5bc4894 100644 --- a/dist/templates/about/about.html.hbs +++ b/dist/templates/about/about.html.hbs @@ -75,7 +75,7 @@

Technically, keys.openpgp.org runs on the - Hagrid + Hagrid keyserver software, which is based on Sequoia-PGP. We are hosted on the eclips.is platform,