sebix.hockeypuck

Hockeypuck

Ta rola instaluje hockeypuck z dostępnej wersji golanga.

Hockeypuck to nowoczesny serwer kluczy OpenPGP, napisany w golang.

Ta rola instaluje PostgreSQL i konfiguruje go jako backend dla hockeypuck. Oprogramowanie hockeypuck jest klonowane na serwer i tam budowane. Do zarządzania serwerem używany jest systemd.

Wymagania

Zmienne roli

Lista zmiennych z ich domyślnymi wartościami:

hockeypuck_home: /var/lib/hockeypuck
hockeypuck_directory: "{{ hockeypuck_home }}/hockeypuck/"
hockeypuck_hostname: "{{ hostname|d(ansible_hostname)|d(inventory_hostname) }}"
hockeypuck_templates: "{{ hockeypuck_directory }}/contrib/templates"
hockeypuck_index_template: "{{ hockeypuck_templates }}/index.html.tmpl"
hockeypuck_vindex_template: "{{ hockeypuck_templates }}/index.html.tmpl"
hockeypuck_stats_template: "{{ hockeypuck_templates }}/stats.html.tmpl"
hockeypuck_webroot: "{{ hockeypuck_directory }}/contrib/webroot/"
hockeypuck_logfile: /var/log/hockeypuck/hockeypuck.log
hockeypuck_loglevel: INFO
hockeypuck_recondb: "{{ hockeypuck_home }}/recon.db"
hockeypuck_log_request_details: "true"
hockeypuck_peers: []
hockeypuck_blacklist: []
hockeypuck_conflux_recon_allowCIDRs: []
hockeypuck_conflux_recon_seenCacheSize: 72000
hockeypuck_hkp_bind: :11371
hockeypuck_git_version: branch-2.1
hockeypuck_contact: # brak domyślnej wartości
hockeypuck_hkp_ssl_enabled: false
hockeypuck_hkp_ssl_certificate: # brak domyślnej wartości
hockeypuck_hkp_ssl_key: # brak domyślnej wartości

Nazwa hosta

Nazwa hosta jest używana do nazwania hosta instancji hockeypuck w pliku konfiguracyjnym.

Jeśli zdefiniowana przez użytkownika zmienna hockeypuck_hostname nie jest określona,

  • używana jest zdefiniowana przez użytkownika zmienna hostname. Jeśli ta też nie jest zdefiniowana,
  • używane jest ansible_hostname, które wymaga zebranych faktów. Jeśli fakty nie są zebrane,
  • jako zapasowa opcja używane jest inventory_hostname, które jest zawsze zdefiniowane.

HKPS/SSL/TLS

Aby włączyć HKPS, ustaw parametr enable i podaj ścieżki do certyfikatu i klucza prywatnego w następujący sposób:

hockeypuck_hkp_ssl_enabled: true
hockeypuck_hkp_ssl_certificate: "/path/to/certificate"
hockeypuck_hkp_ssl_key: "/path/to/private/key"

Peery

hockeypuck_peers może być prostą listą:

- example.com
- example.net

która zakłada tę samą adresację dla http i recon, a także domyślne porty 11370 i 11371. Nazwa peera będzie peer$index.

Lub hockeypuck_peers może być mapowaniem:

- name: pełny przykład
  http_addr: example.net
  http_addr_port: 11371
  recon_addr: example.net
  recon_addr_port: 11370

Porty są opcjonalne.

Jeśli serwer hockeypuck znajduje się za reverse proxy, ustaw hockeypuck_conflux_recon_allowCIDRs na adres IP proxy. Hockeypuck zezwala tylko na przychodzący recon z skonfigurowanych peerów oraz z tej listy dozwolonych zakresów adresów.

hockeypuck_conflux_recon_allowCIDRs:
  - 10.0.0.1/8
  - 192.168.0.1/32

Czarna lista kluczy

Klucze mogą być czernione przy użyciu opcji hockeypuck_blacklist z jednym odciskiem palca na element listy:

hockeypuck_blacklist:
  - B4530375102C9EB270909C9C006694EB
  - a490d0f4d311a4153e2bb7cadbb802b258acd84f

Aby zobaczyć przydatną czarną listę, zapoznaj się z filtrami kluczy CIRCL.

Zależności

Instaluje golang na serwerze przy użyciu gantsign.golang.

Przykładowy playbook

- hosts: serwery
  roles:
    - sebix.hockeypuck
  vars:
     # opcjonalne zmienne, zobacz powyżej, aby zobaczyć pełną listę, w tym wartości domyślne
    - golang_version: 1.19
    - hockeypuck_contact: "TWÓJ_ODCISK_KLUCZA"

Licencja

BSD-3-Clause

Informacje o autorze

https://intevation.de/

O projekcie

Installing and setting up the Hockeypuck OpenPGP key server

Zainstaluj
ansible-galaxy install sebix.hockeypuck
Licencja
bsd-3-clause
Pobrania
80
Właściciel