Hockeypuck reads a TOML-format configuration file for setting various options on the subsystems and features of the service.
When run without any configuration, Hockeypuck will assume the following:
These and other options can be customized as follows.
General settings for the overall service.
Path where log messages should be written.
HTTP Keyserver Protocol settings.
Listen on address:port for HKP requests. Omit address to accept requests to this port on any interface.
Path to the static media files used to serve Hockeypuck's HTML web UI.
"$GOPATH/src/github.com/hockeypuck/hockeypuck/instroot/var/lib/hockeypuck/www"
(Note that environment variables are not evaluated for configured values of webroot.)
OpenPGP service settings.
When true, Hockeypuck will attempt to verify every self-signed packet that it can, and store the status in the signature packet's STATE column. This is used to enhance the quality of the keyserver results at the expense of performance. Any user of this service must independently verify signatures for security even when enabled.
Number of workers that will concurrently load key material into the database & prefix tree.
Number of hours to wait between refreshing the load statistics displayed at /pks/lookup?op=stats. In some cases, the stats query can scan a large number of rows, so it is not recalculated on each request.
OpenPGP database connection options.
The only supported database/sql driver is "postgres".
PostgreSQL connection string. See https://github.com/lib/pq for more information on the format and supported parameters.
"dbname=hkp host=/var/run/postgresql sslmode=disable"
This connects through a local socket to database 'hkp' owned by the effective user)
Options for Conflux, which provides SKS reconciliation protocol support for Hockeypuck.
Listen port for the SKS recon protocol. All interfaces will listen on this address. Use this port in a remote SKS membership file to peer SKS with Hockeypuck.
HTTP port reported to peer. This must match the port specified for hockeypuck.hkp.bind.
List of peers Hockeypuck will gossip with. This is Hockeypuck's equivalent to the SKS membership file.
SKS filters, which must match your peers' configuration. Hockeypuck doesn't really interpret this setting. De-duplication and key merging are not optional filters, they are the only supported mode of operation. This setting is currently provided for SKS compatibility purposes only. Future filters may be supported by Hockeypuck.
Conflux stores public key digests in a persistent prefix tree data structure.
Path to the directory containing the prefix tree data.
PKS is an older protocol for public keyserver synchronization over email.
Hockeypuck stores a timestamp per downstream email address. Hockeypuck will periodically send all public keys updated since the last downstream send.
Send keys to these downstream PKS servers.
PKS sync mail from: address, which should be a valid address upon which hockeypuck can receive PKS mail. This address is displayed on the op=stats page for peering purposes.
Custom SMTP settings for sending PKS mail. The default is to connect locally to an SMTP server on port 25.
SMTP server to connect to send outbound PKS mail.
SMTP account username, if necessary.
SMTP account password, if necessary.