hockeypuck
Hockeypuck
Эта роль устанавливает hockeypuck с доступной версией golang.
Hockeypuck — это современный OpenPGP сервер ключей, написанный на go.
Эта роль устанавливает PostgreSQL и настраивает его в качестве бэкенда для hockeypuck. Hockeypuck клонируется на сервер и собирается там. Для управления сервером используется systemd.
Требования
Переменные роли
Список переменных с их значениями по умолчанию:
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: # no default
hockeypuck_hkp_ssl_enabled: false
hockeypuck_hkp_ssl_certificate: # no default
hockeypuck_hkp_ssl_key: # no default
Имя хоста
Имя хоста используется для обозначения хоста экземпляра hockeypuck в конфигурационном файле.
Если переменная hockeypuck_hostname
, заданная пользователем, не определена,
- используется переменная
hostname
, заданная пользователем. Если она не определена, - используется
ansible_hostname
, что требует собранных данных. Если данные не собраны, - используется
inventory_hostname
как запасной вариант, который всегда определен.
HKPS/SSL/TLS
Чтобы включить HKPS, установите параметр enable и укажите пути к сертификату и закрытому ключу следующим образом:
hockeypuck_hkp_ssl_enabled: true
hockeypuck_hkp_ssl_certificate: "/path/to/certificate"
hockeypuck_hkp_ssl_key: "/path/to/private/key"
Пиры
hockeypuck_peers
может быть простой списком:
- example.com
- example.net
что предполагает одинаковый адрес для http и recon, а также стандартные порты 11370 и 11371. Имя пира будет peer$index
.
Или hockeypuck_peers
может быть сопоставлением:
- name: full example
http_addr: example.net
http_addr_port: 11371
recon_addr: example.net
recon_addr: 11370
Порты являются необязательными.
Если сервер hockeypuck находится за обратным прокси, установите hockeypuck_conflux_recon_allowCIDRs
на IP-адрес прокси. Hockeypuck позволяет только входящие recon от настроенных пиров и этот список разрешенных диапазонов сети.
hockeypuck_conflux_recon_allowCIDRs:
- 10.0.0.1/8
- 192.168.0.1/32
Черный список ключей
Ключи могут быть занесены в черный список с помощью опции hockeypuck_blacklist
с одним отпечатком для каждого элемента списка:
hockeypuck_blacklist:
- B4530375102C9EB270909C9C006694EB
- a490d0f4d311a4153e2bb7cadbb802b258acd84f
Для существующего полезного черного списка посмотрите на фильтры ключей CIRCL.
Зависимости
Устанавливает go на сервер с помощью gantsign.golang
.
Пример плейбука
- hosts: servers
roles:
- sebix.hockeypuck
vars:
# необязательные переменные, см. выше для полного списка, включая значения по умолчанию
- golang_version: 1.19
- hockeypuck_contact: "ВАШ_ОТПЕЧАТОК_КЛЮЧА"
Лицензия
BSD-3-Clause
Информация об авторе
Installing and setting up the Hockeypuck OpenPGP key server
ansible-galaxy install sebix/ansible-hockeypuck