etam.ipfs

IPFS

Funkcje:

  • Automatyczne generowanie Peering.Peers.
  • Konfiguracja jest stosowana za pomocą ipfs config przy użyciu niestandardowego modułu. Obsługuje idempotencję i generowanie różnic.
  • Pozwala na określenie własnego publicznego adresu IP, jeśli działa za routerem.
  • Pobiera binaria do aktualizacji poprzez lokalną bramę IPFS, jeśli są już zainstalowane.
  • Uruchamia ipfs repo gc jako osobną usługę.
  • Obsługuje architektury x86_64 i aarch64.

Wymagania

  • Docelowy system używa systemd.

Zmienne roli

  • ipfs_ansible_group: Grupa Ansible, która zawiera zarządzane węzły ipfs. Domyślne: all.
  • ipfs_home_dir: domyślna ścieżka /var/lib/ipfs.
  • ipfs_version: (oczywiste).
  • ipfs_init_profile: Profil do zastosowania przy inicjalizacji ipfs (zobacz Konfiguracja profilu).
  • ipfs_gc_when: Kiedy uruchomić ipfs repo gc. Czas systemd (zobacz man systemd.time).
  • ipfs_force_https_download: Wymusza pobieranie archiwum binarnego z https, nawet gdy usługa działa. Domyślne: no.
  • ipfs_force_migration: Wymusza uruchomienie ipfs repo migrate. Oznacza bezwarunkowe zatrzymanie usługi. Domyślne: no.
  • ipfs_swarm_port: 4001.
  • ipfs_public_addresses: Publiczne adresy symulacji. Domyślne:
    • /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: Sformatowane jak ipfs_public_addresses. Używane do bezpośredniego połączenia między węzłami IPFS. Może być przydatne podczas łączenia w sieci LAN przez VPN.
  • ipfs_config_extra: Dodatkowa konfiguracja węzła IPFS. Struktura yaml jest konwertowana na json i wysyłana do ipfs config. Domyślna wartość to
    ipfs_config_extra:
      Gateway.PublicGateways:
        localhost: null
    
    Co skutkuje uruchomieniem
    ipfs config --json Gateway.PublicGateways '{"localhost": null}'
    
    co pochodzi z https://github.com/ipfs/kubo/blob/master/docs/config.md#implicit-defaults-of-gatewaypublicgateways

Zależności

Brak

Przykład Playbooka

Po prostu:

- hosts: ipfs
  roles: [ipfs]

Licencja

GPL-3.0-or-later

Informacje o autorze

Adam "etam" Mizerski adam@mizerski.pl https://etam-software.eu

O projekcie

Sets up IPFS nodes, fills "Peering.Peers" and contains custom ansible module that talks with "ipfs config".

Zainstaluj
ansible-galaxy install etam.ipfs
Licencja
gpl-3.0
Pobrania
117
Właściciel
Doing a bit of programming, a bit of Linux sysadmin, a bit of openSUSE packaging, and most importantly enjoying free weekends.