sebix.hockeypuck
Hockeypuck
Diese Rolle installiert hockeypuck mit der verfügbaren Golang-Version.
Hockeypuck ist ein moderner OpenPGP-Schlüsselserver, der in Go geschrieben ist.
Diese Rolle installiert PostgreSQL und konfiguriert es als Backend für Hockeypuck. Hockeypuck wird auf den Server geklont und dort gebaut. Systemd wird zur Verwaltung des Servers verwendet.
Anforderungen
Rollenvariablen
Liste der Variablen mit ihren Standardwerten:
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: # kein Standard
hockeypuck_hkp_ssl_enabled: false
hockeypuck_hkp_ssl_certificate: # kein Standard
hockeypuck_hkp_ssl_key: # kein Standard
Hostname
Der Hostname wird verwendet, um den Host der Hockeypuck-Instanz in der Konfigurationsdatei zu benennen.
Wenn die benutzerdefinierte Variable hockeypuck_hostname
nicht definiert ist,
- wird die benutzerdefinierte Variable
hostname
verwendet. Wenn diese nicht definiert ist, - wird
ansible_hostname
verwendet, was "erfasste Fakten" erfordert. Wenn keine Fakten gesammelt werden, - wird
inventory_hostname
als Fallback verwendet, das immer definiert ist.
HKPS/SSL/TLS
Um HKPS zu aktivieren, setzen Sie den Parameter enable
und geben Sie die Pfade zum Zertifikat und Schlüssel wie folgt an:
hockeypuck_hkp_ssl_enabled: true
hockeypuck_hkp_ssl_certificate: "/path/to/certificate"
hockeypuck_hkp_ssl_key: "/path/to/private/key"
Peers
hockeypuck_peers
kann entweder eine einfache Liste sein:
- example.com
- example.net
die die gleiche Adresse für HTTP und Recon sowie die Standardports 11370 und 11371 voraussetzt. Der Peer-Name wird peer$index
.
Oder hockeypuck_peers
kann eine Zuordnung sein:
- name: volles Beispiel
http_addr: example.net
http_addr_port: 11371
recon_addr: example.net
recon_addr: 11370
Die Ports sind optional.
Wenn der Hockeypuck-Server hinter einem Reverse-Proxy ist, setzen Sie hockeypuck_conflux_recon_allowCIDRs
auf die IP-Adresse des Proxys. Hockeypuck erlaubt nur eingehende Recon-Anfragen von konfigurierten Peers und dieser Liste erlaubter Netzwerkbereiche.
hockeypuck_conflux_recon_allowCIDRs:
- 10.0.0.1/8
- 192.168.0.1/32
Schlüssel auf die Schwarze Liste setzen
Schlüssel können mit der Option hockeypuck_blacklist
auf die schwarze Liste gesetzt werden, mit einem Fingerabdruck pro Listeneintrag:
hockeypuck_blacklist:
- B4530375102C9EB270909C9C006694EB
- a490d0f4d311a4153e2bb7cadbb802b258acd84f
Für eine bestehende nützliche schwarze Liste, schauen Sie sich die CIRCL's openpgp-keys-filterlists an.
Abhängigkeiten
Installiert Go auf dem Server mit gantsign.golang
.
Beispiel-Playbook
- hosts: servers
roles:
- sebix.hockeypuck
vars:
# optionale Variablen, siehe oben für eine vollständige Liste mit Standardwerten
- golang_version: 1.19
- hockeypuck_contact: "DEIN_KEY_FINGERPRINT"
Lizenz
BSD-3-Clause