ipfs
IPFS
Функции:
- Автоматическая генерация
Peering.Peers
. - Конфигурация применяется через
ipfs config
с использованием настраиваемого модуля. Поддерживает идемпотентность и генерацию отличий. - Позволяет указать пользовательский публичный IP-адрес, если работает за маршрутизатором.
- Загружает бинарные файлы для обновлений через локальный IPFS шлюз, если он уже установлен.
- Запускает
ipfs repo gc
как отдельный сервис. - Поддерживает x86_64 и aarch64.
Требования
- Целевая система использует systemd
Переменные роли
ipfs_ansible_group
: Ansible группа, содержащая управляемые узлы IPFS. По умолчанию:all
.ipfs_home_dir
: по умолчанию/var/lib/ipfs
ipfs_version
: (это очевидно)ipfs_init_profile
: Профиль для применения при инициализации IPFS (см. Настройка профиля)ipfs_gc_when
: Когда запускатьipfs repo gc
. Время systemd (см.man systemd.time
).ipfs_force_https_download
: Принудительно загружать бинарный архив по https, даже если сервис запущен. По умолчанию:no
.ipfs_force_migration
: Принудительно запускатьipfs repo migrate
. Это подразумевает безусловную остановку сервиса. По умолчанию:no
.ipfs_swarm_port
: 4001ipfs_public_addresses
: Публичные адреса для сварм. По умолчанию:/ip4/{{ ansible_default_ipv4['address'] }}/tcp/{{ ipfs_swarm_port }}
/ip4/{{ ansible_default_ipv4['address'] }}/udp/{{ ipfs_swarm_port }}/quic
/ip4/{{ ansible_default_ipv4['address'] }}/udp/{{ ipfs_swarm_port }}/quic-v1
/ip4/{{ ansible_default_ipv4['address'] }}/udp/{{ ipfs_swarm_port }}/quic-v1/webtransport
ipfs_private_addresses
: Форматированы какipfs_public_addresses
. Используются для прямого соединения между узлами IPFS. Может быть полезно при подключении через LAN по VPN.ipfs_config_extra
: Дополнительная конфигурация узла IPFS. Структура yaml преобразуется в json и отправляется вipfs config
. Значение по умолчанию:
Это приведет к выполнению:ipfs_config_extra: Gateway.PublicGateways: localhost: null
что происходит из https://github.com/ipfs/kubo/blob/master/docs/config.md#implicit-defaults-of-gatewaypublicgatewaysipfs config --json Gateway.PublicGateways '{"localhost": null}'
Зависимости
Нет
Пример плейбука
Просто:
- hosts: ipfs
roles: [ipfs]
Лицензия
Информация об авторе
Адам "etam" Мизерский adam@mizerski.pl https://etam-software.eu
О проекте
Sets up IPFS nodes, fills "Peering.Peers" and contains custom ansible module that talks with "ipfs config".
Установить
ansible-galaxy install etam/ansible-role-ipfs
Лицензия
gpl-3.0
Загрузки
57
Владелец
Doing a bit of programming, a bit of Linux sysadmin, a bit of openSUSE packaging, and most importantly enjoying free weekends.