etam.ipfs

IPFS

Funktionen:

  • Automatische Erstellung von Peering.Peers.
  • Konfiguration erfolgt über ipfs config mit einem benutzerdefinierten Modul. Unterstützt Idempotenz und das Generieren von Diffs.
  • Ermöglicht die Angabe einer benutzerdefinierten öffentlichen IP-Adresse, wenn hinter einem Router betrieben.
  • Lädt Binärdateien für Updates über das lokale IPFS-Gateway herunter, sofern bereits installiert.
  • Führt ipfs repo gc als separaten Dienst aus.
  • Unterstützt x86_64 und aarch64.

Anforderungen

  • Das Zielsystem verwendet systemd

Rollenvariablen

  • ipfs_ansible_group: Ansible-Gruppe, die verwaltete IPFS-Knoten enthält. Standard: all.
  • ipfs_home_dir: Standardverzeichnis /var/lib/ipfs
  • ipfs_version: (ist offensichtlich)
  • ipfs_init_profile: Profil, das beim Initialisieren von IPFS angewendet wird (siehe Profil konfigurieren)
  • ipfs_gc_when: Wann ipfs repo gc ausgeführt wird. Systemd-Zeit (siehe man systemd.time).
  • ipfs_force_https_download: Erzwingt den Download des Binärarchivs von https, selbst wenn der Dienst läuft. Standard: nein.
  • ipfs_force_migration: Erzwingt die Ausführung von ipfs repo migrate. Beinhaltet das bedingungslose Stoppen des Dienstes. Standard: nein.
  • ipfs_swarm_port: 4001
  • ipfs_public_addresses: Öffentliche Swarm-Adressen. Standard:
    • /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: Formatiert wie ipfs_public_addresses. Wird für direkte Verbindungen zwischen IPFS-Knoten verwendet. Kann nützlich sein, wenn man sich über LAN in einem VPN verbindet.
  • ipfs_config_extra: Zusätzliche IPFS-Knoten-Konfiguration. Die YAML-Struktur wird in JSON konvertiert und an ipfs config gesendet. Der Standardwert ist
    ipfs_config_extra:
      Gateway.PublicGateways:
        localhost: null
    
    Dies führt zur Ausführung von
    ipfs config --json Gateway.PublicGateways '{"localhost": null}'
    
    was aus https://github.com/ipfs/kubo/blob/master/docs/config.md#implicit-defaults-of-gatewaypublicgateways stammt.

Abhängigkeiten

Keine

Beispiel Playbook

Einfach:

- hosts: ipfs
  roles: [ipfs]

Lizenz

GPL-3.0-or-later

Autoreninformationen

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

Über das Projekt

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

Installieren
ansible-galaxy install etam.ipfs
GitHub Repository
Lizenz
gpl-3.0
Downloads
117
Besitzer
Doing a bit of programming, a bit of Linux sysadmin, a bit of openSUSE packaging, and most importantly enjoying free weekends.