Skip to content

hockeypuck/hockeypuck

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code
This branch is 199 commits ahead of cmars:master.

Latest commit

* proper error messages for config load fail

when any of the fours command is called without -config parameter, the output
is currently:
open : no such file or directory
main.main
        /var/lib/hockeypuck/hockeypuck/src/hockeypuck/server/cmd/hockeypuck-pbuild/main.go:36
runtime.main
        /opt/go/1.19/src/runtime/proc.go:250
runtime.goexit

which does not say what the error actually is.

Therefore, output additional messages:
if loading the configuration file itself fails
or if parsing the configuration file fails

* cmd.Die: add trailing newline
50f1108

Git stats

Files

Permalink
Failed to load latest commit information.

Hockeypuck

Hockeypuck is an OpenPGP public keyserver.

Quick start with docker-compose (for testing)

A quick and easy way to run Hockeypuck locally is with docker-compose. First, obtain a keydump from an existing server. A partial list of dump sources can be found at https://github.com/SKS-Keyserver/sks-keyserver/wiki/KeydumpSources . Unpack the *.gpg files from the dump under contrib/docker-compose/devel/keydump/, then:

cd contrib/docker-compose/devel
docker-compose up -d

You can change the configuration by editing contrib/docker-compose/devel/etc/hockeypuck.conf and running docker-compose restart. To stop, run docker-compose down.

Production deployment with docker-compose (RECOMMENDED for most users)

You can use docker-compose to build and deploy a standalone Hockeypuck instance in a production environment. This includes automated database population and TLS certificate management.

See contrib/docker-compose/standalone/README.md for full instructions.

Installing with Ansible

Add this to your ansible playbook to deploy hockeypuck using the sebix.hockeypuck ansible role:

    - hosts: servers
      roles:
        - sebix.hockeypuck
      vars:
        # optional variables, see documentation for a complete list and default values
        - hockeypuck_contact: "YOUR_KEY_FINGERPRINT"

Building

Any platform/arch

With Go 1.12 installed, simply run:

make build

Hockeypuck binaries will be in bin/.

Optionally run sudo make install to install the executables to /usr/bin/. It will also install configuration examples and static files.

Vendored Dependencies

The dependencies for this project are managed via Go modules. To update the dependencies run:

cd src/hockeypuck
go get -u -m
go mod vendor

After which you can ensure that the code continues to build and that the tests still pass.

Ubuntu package maintainers

To locally build the hockeypuck binaries:

make install-build-depends
make

Releases

Building a Snap

If it's installed, remove the snapcraft Ubuntu package:

sudo apt remove snapcraft

Install snapcraft from the Snap store:

snap install snapcraft

Confirm that you're using a recent enough version of snapcraft:

$ which snapcraft
/snap/bin/snapcraft
$ snapcraft version
snapcraft, version 3.7.2
$ _

Now you can build the snap:

snapcraft snap

snapcraft defaults to building in a multipass VM. If you're already in a throwaway environment, you can build the snap as follows instead:

SNAPCRAFT_BUILD_ENVIRONMENT=host snapcraft snap

Or use LXD for a lighter-weight isolated build:

SNAPCRAFT_BUILD_ENVIRONMENT=lxd snapcraft snap

Enabling cpu or memory profiling:

sudo snap set hockeypuck cpuprof=1
sudo snap set hockeypuck memprof=1
sudo systemctl restart snap.hockeypuck.hockeypuck.service

Disabling cpu or memory profiling:

sudo snap unset hockeypuck cpuprof
sudo snap unset hockeypuck memprof
sudo systemctl restart snap.hockeypuck.hockeypuck.service

Ubuntu package maintainers

In order to release a new version of hockeypuck:

make dch
git add debian/changelog
git commit -m 'x.y.z release'
git tag -s -u <keyid> -m 'x.y.z release' x.y.z
git push --tags
make deb-src
dput <your ppa> ../hockeypuck\_x.y.z\_source.changes

Where x.y.z is the appropriate version number. This will upload the debian source package to the Launchpad PPA for building.

About

Copyright 2022, The Hockeypuck Developers; see CONTRIBUTORS and LICENSE for details.

About

OpenPGP Key Server

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Languages

  • Go 97.2%
  • Shell 1.0%
  • HTML 1.0%
  • Python 0.4%
  • Makefile 0.2%
  • HCL 0.1%
  • Other 0.1%