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
Installing and setting up the Hockeypuck OpenPGP key server
ansible-galaxy install sebix.hockeypuck