Skip to content
Andrew Gallagher edited this page May 22, 2024 · 9 revisions

NEWS

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

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

Features

Bugfixes

Deprecations

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 it 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.