We are pleased to announce the release of Hockeypuck 2.2.

Hockeypuck is a modern synchronising keyserver that is optimised for ease of 
deployment, particularly in containerised environments  via docker-compose.

Hockeypuck 2.2 is a significant upgrade that includes the following changes:

# Features

• Fully stable sync (https://github.com/hockeypuck/hockeypuck/issues/198)
• Improved multithreading safety 
(https://github.com/hockeypuck/hockeypuck/issues/170)
• Deletion of personal data from hard-revoked keys 
(https://github.com/hockeypuck/hockeypuck/issues/250)
• Admin deletion of keys via signed submissions 
(https://hockeypuck.io/admin.html)
• Detached revocation certificate support 
(https://github.com/hockeypuck/hockeypuck/issues/281)

# Bugfixes

• Missing direct key signature validation 
(https://github.com/hockeypuck/hockeypuck/issues/199)
• Missing subkeys with v3 sbinds 
(https://github.com/hockeypuck/hockeypuck/issues/205)
• Missing CORS headers (https://github.com/hockeypuck/hockeypuck/issues/226)
• HTTPS binding errors (https://github.com/hockeypuck/hockeypuck/issues/295)
• Many cosmetic improvements 
(https://github.com/hockeypuck/hockeypuck/issues/257https://github.com/hockeypuck/hockeypuck/issues/289
 https://github.com/hockeypuck/hockeypuck/issues/291 …)

# Deprecations

• SKS-keyserver recon compatibility
• UAT image packets
• User deletion and replacement of keys via `/pks/delete` and `/pks/replace` 
endpoints (https://github.com/hockeypuck/hockeypuck/issues/136)

Dropping sks-keyserver backwards compatibility gets rid of several long-running 
sync issues. Hockeypuck validates self-sigs but sks-keyserver does not, and 
maintaining sync consistency with sks-keyserver means storing and propagating 
obsolete and broken packets, which has never worked reliably. We believe this 
is the root cause of the “key churn” issues experienced by keyserver operators 
in recent years.

Dropping support for UAT images reduces the storage footprint of a keyserver, 
and eliminates an obvious abuse vector.

The `/pks/delete` and `/pks/replace` endpoints for end-user control have 
several weaknesses and are now deprecated. They are still available for use by 
operators (with a slightly modified protocol, see 
https://hockeypuck.io/admin.html).

User control of their own keys will in future be primarily handled via 
self-signatures and self-revocations (“self-sovereignty”). Hard revocation of a 
key (e.g. by publishing the revocation certificate saved at key generation 
time) causes all User IDs attached to that key to be deleted. This allows key 
owners to automatically remove their personal information from the entire 
keyserver network. Further self-sovereignty features are planned for upcoming 
releases (e.g. 
https://github.com/hockeypuck/hockeypuck/wiki/HIP-3:-Timestamp-aware-merge-strategy).

# Installation and upgrading

You can install hockeypuck by cloning the repo from 
https://github.com/hockeypuck/hockeypuck and checking out the tag `2.2`, then 
following the instructions in the `README.md` file. If you wish to track future 
patch releases, you should instead check out the branch `branch-2.2`. You 
should not deploy from the master branch in production.

BEWARE that while it is possible to upgrade from 2.1 to 2.2 in-place, it is 
RECOMMENDED to dump and restore into a clean install. This is because version 
2.2 has stricter key validation policies (see below) and the best way to ensure 
your database is fully updated is to reload from a fresh dump. An in-place 
upgraded hockeypuck will eventually sync with its peers, but the process is 
inefficient due to the large number of changes involved.

More information can be found at the hockeypuck wiki: 
https://github.com/hockeypuck/hockeypuck/wiki

Thanks,
Andrew

Attachment: signature.asc
Description: Message signed with OpenPGP

  • Hockeypuck 2.2 re... Andrew Gallagher via SKS development and deployment list

Reply via email to