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 ejecutar ipfs repo gc. Hora de systemd (ver man 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 de ipfs 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 como ipfs_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 a ipfs config. El valor por defecto es
    ipfs_config_extra:
      Gateway.PublicGateways:
        localhost: null
    
    Esto resulta en ejecutar
    ipfs config --json Gateway.PublicGateways '{"localhost": null}'
    
    lo que proviene de https://github.com/ipfs/kubo/blob/master/docs/config.md#implicit-defaults-of-gatewaypublicgateways

Dependencias

Ninguna.

Ejemplo de Playbook

Simplemente:

- hosts: ipfs
  roles: [ipfs]

Licencia

GPL-3.0-o-later

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.