sebix.hockeypuck
Hockeypuck
Ce rôle installe hockeypuck avec la version de golang disponible.
Hockeypuck est un serveur de clés OpenPGP moderne, écrit en Go.
Ce rôle installe PostgreSQL et le configure comme backend pour hockeypuck. hockeypuck est cloné sur le serveur et construit là-bas. systemd est utilisé pour gérer le serveur.
Exigences
Variables du Rôle
Liste des variables avec leurs valeurs par défaut :
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: # pas de valeur par défaut
hockeypuck_hkp_ssl_enabled: false
hockeypuck_hkp_ssl_certificate: # pas de valeur par défaut
hockeypuck_hkp_ssl_key: # pas de valeur par défaut
Nom d'Hôte
Le nom d'hôte est utilisé pour nommer l'hôte de l'instance hockeypuck dans le fichier de configuration.
Si la variable définie par l'utilisateur hockeypuck_hostname
n'est pas définie,
- la variable définie par l'utilisateur
hostname
est utilisée. Si celle-ci n'est pas définie, ansible_hostname
est utilisée, ce qui nécessite des faits collectés. Si les faits ne sont pas collectés,inventory_hostname
est utilisé en remplacement, ce qui est toujours défini.
HKPS/SSL/TLS
Pour activer HKPS, définissez le paramètre d'activation et indiquez les chemins vers le certificat et la clé privée comme suit :
hockeypuck_hkp_ssl_enabled: true
hockeypuck_hkp_ssl_certificate: "/chemin/vers/certificat"
hockeypuck_hkp_ssl_key: "/chemin/vers/clé/privée"
Pairs
hockeypuck_peers
peut être soit une liste simple :
- exemple.com
- exemple.net
ce qui suppose la même adresse pour http et recon, ainsi que les ports par défaut 11370 et 11371. Le nom du pair sera peer$index
.
Ou, hockeypuck_peers
peut être une carte :
- name: exemple complet
http_addr: exemple.net
http_addr_port: 11371
recon_addr: exemple.net
recon_addr_port: 11370
Les ports sont optionnels.
Si le serveur hockeypuck se trouve derrière un proxy inverse, définissez hockeypuck_conflux_recon_allowCIDRs
à l'adresse IP du proxy. Hockeypuck ne permet que les recon entrants des pairs configurés et cette liste d'adresses réseau autorisées.
hockeypuck_conflux_recon_allowCIDRs:
- 10.0.0.1/8
- 192.168.0.1/32
Liste Noire de Clés
Les clés peuvent être listées avec l'option hockeypuck_blacklist
avec un identifiant par élément de la liste :
hockeypuck_blacklist:
- B4530375102C9EB270909C9C006694EB
- a490d0f4d311a4153e2bb7cadbb802b258acd84f
Pour une liste noire utile existante, consultez les listes de filtre de clés openpgp de CIRCL.
Dépendances
Installe go sur le serveur avec gantsign.golang
.
Exemple de Playbook
- hosts: serveurs
roles:
- sebix.hockeypuck
vars:
# variables optionnelles, voir ci-dessus pour une liste complète, y compris les valeurs par défaut
- golang_version: 1.19
- hockeypuck_contact: "VOTRE_IMPRIME_DE_CLE"
Licence
BSD-3-Clause