etam.ipfs
IPFS
Características:
- Generación automática de
Peering.Peers
. - La configuración se aplica a través de
ipfs config
utilizando un módulo personalizado. Soporta idempotencia y la generación de diferencias. - Permite especificar una dirección IP pública personalizada, si se está ejecutando detrás de un router.
- Descarga binarios para actualizaciones a través de la puerta de enlace local de IPFS, si ya está instalada.
- Ejecuta
ipfs repo gc
como un servicio separado. - Soporta x86_64 y aarch64.
Requisitos
- El sistema objetivo utiliza systemd.
Variables de Rol
ipfs_ansible_group
: Grupo de Ansible que contiene los nodos IPFS gestionados. Por defecto:all
.ipfs_home_dir
: por defecto/var/lib/ipfs
.ipfs_version
: (es obvio).ipfs_init_profile
: Perfil a aplicar al inicializar IPFS (ver Configurar perfil).ipfs_gc_when
: Cuándo ejecutaripfs repo gc
. Hora de systemd (verman systemd.time
).ipfs_force_https_download
: Forzar la descarga del archivo binario desde https, incluso cuando el servicio está en ejecución. Por defecto:no
.ipfs_force_migration
: Forzar la ejecución deipfs repo migrate
. Implica detener el servicio de manera incondicional. Por defecto:no
.ipfs_swarm_port
: 4001.ipfs_public_addresses
: Direcciones de swarm públicas. Por defecto:/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
: Formateadas comoipfs_public_addresses
. Se utilizan para la conexión directa entre nodos IPFS. Puede ser útil al conectar a través de LAN en una VPN.ipfs_config_extra
: Configuración adicional del nodo IPFS. La estructura yaml se convierte en json y se envía aipfs config
. El valor por defecto es
Esto resulta en ejecutaripfs_config_extra: Gateway.PublicGateways: localhost: null
lo que proviene de https://github.com/ipfs/kubo/blob/master/docs/config.md#implicit-defaults-of-gatewaypublicgatewaysipfs config --json Gateway.PublicGateways '{"localhost": null}'
Dependencias
Ninguna.
Ejemplo de Playbook
Simplemente:
- hosts: ipfs
roles: [ipfs]
Licencia
Información del Autor
Adam "etam" Mizerski adam@mizerski.pl https://etam-software.eu
Acerca del proyecto
Sets up IPFS nodes, fills "Peering.Peers" and contains custom ansible module that talks with "ipfs config".
Instalar
ansible-galaxy install etam.ipfs
Licencia
gpl-3.0
Descargas
117
Propietario
Doing a bit of programming, a bit of Linux sysadmin, a bit of openSUSE packaging, and most importantly enjoying free weekends.