sebix.hockeypuck
Hockeypuck
Este rol instala hockeypuck con la versión de golang disponible.
Hockeypuck es un servidor de claves OpenPGP moderno, escrito en Go.
Este rol instala PostgreSQL y lo configura como backend para hockeypuck. hockeypuck se clona en el servidor y se compila allí. Se utiliza systemd para gestionar el servidor.
Requisitos
Variables del Rol
Lista de variables con sus valores predeterminados:
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: # sin valor predeterminado
hockeypuck_hkp_ssl_enabled: false
hockeypuck_hkp_ssl_certificate: # sin valor predeterminado
hockeypuck_hkp_ssl_key: # sin valor predeterminado
Nombre del Host
El nombre del host se utiliza para nombrar la instancia de hockeypuck en el archivo de configuración.
Si la variable definida por el usuario hockeypuck_hostname
no está definida,
- se utiliza la variable definida por el usuario
hostname
. Si esta no está definida, - se utiliza
ansible_hostname
, que requiere hechos recopilados. Si no se recopilan hechos, - se utiliza
inventory_hostname
como respaldo, que siempre está definido.
HKPS/SSL/TLS
Para habilitar HKPS, establece el parámetro habilitado y proporciona las rutas al certificado y la clave privada de la siguiente manera:
hockeypuck_hkp_ssl_enabled: true
hockeypuck_hkp_ssl_certificate: "/ruta/al/certificado"
hockeypuck_hkp_ssl_key: "/ruta/a/la/clave/privada"
Pares
hockeypuck_peers
puede ser una lista simple:
- ejemplo.com
- ejemplo.net
que asume la misma dirección para http y recon, así como los puertos predeterminados 11370 y 11371. El nombre del par será peer$index
.
O, hockeypuck_peers
puede ser una asignación:
- name: ejemplo completo
http_addr: ejemplo.net
http_addr_port: 11371
recon_addr: ejemplo.net
recon_addr: 11370
Los puertos son opcionales.
Si el servidor hockeypuck está detrás de un proxy inverso, establece hockeypuck_conflux_recon_allowCIDRs
en la dirección IP del proxy. Hockeypuck solo permite la recon entrada de pares configurados y esta lista de rangos de red permitidos.
hockeypuck_conflux_recon_allowCIDRs:
- 10.0.0.1/8
- 192.168.0.1/32
Lista Negra de Claves
Las claves pueden ser bloqueadas con la opción hockeypuck_blacklist
con una huella digital por elemento de la lista:
hockeypuck_blacklist:
- B4530375102C9EB270909C9C006694EB
- a490d0f4d311a4153e2bb7cadbb802b258acd84f
Para una lista negra útil ya existente, consulta CIRCL's openpgp-keys-filterlists.
Dependencias
Instala go en el servidor con gantsign.golang
.
Ejemplo de Playbook
- hosts: servidores
roles:
- sebix.hockeypuck
vars:
# variables opcionales, consulta arriba para una lista completa, incluidos los valores predeterminados
- golang_version: 1.19
- hockeypuck_contact: "TU_HUELLA_DIGITAL"
Licencia
BSD-3-Clause
Información del Autor
Installing and setting up the Hockeypuck OpenPGP key server
ansible-galaxy install sebix.hockeypuck