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

https://intevation.de/

Acerca del proyecto

Installing and setting up the Hockeypuck OpenPGP key server

Instalar
ansible-galaxy install sebix.hockeypuck
Licencia
bsd-3-clause
Descargas
80
Propietario