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
: Wannipfs repo gc
ausgeführt wird. Systemd-Zeit (sieheman 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 vonipfs repo migrate
. Beinhaltet das bedingungslose Stoppen des Dienstes. Standard:nein
.ipfs_swarm_port
: 4001ipfs_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 wieipfs_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 anipfs config
gesendet. Der Standardwert ist
Dies führt zur Ausführung vonipfs_config_extra: Gateway.PublicGateways: localhost: null
was aus https://github.com/ipfs/kubo/blob/master/docs/config.md#implicit-defaults-of-gatewaypublicgateways stammt.ipfs config --json Gateway.PublicGateways '{"localhost": null}'
Abhängigkeiten
Keine
Beispiel Playbook
Einfach:
- hosts: ipfs
roles: [ipfs]
Lizenz
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
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.