etam.ipfs

IPFS

特徴:

  • 自動的に Peering.Peers を生成します。
  • ipfs config を使用して構成を適用します。カスタムモジュールをサポートし、冪等性と差分生成が可能です。
  • ルーターの背後で実行している場合、カスタムのIP公開アドレスを指定できます。
  • すでにインストールされている場合、ローカルIPFSゲートウェイを介して更新用のバイナリをダウンロードします。
  • ipfs repo gc を別のサービスとして実行します。
  • x86_64 と aarch64 をサポートします。

要件

  • 対象システムは systemd を使用しています。

役割変数

  • ipfs_ansible_group: 管理対象のIPFSノードを含むAnsibleグループ。デフォルト: all
  • ipfs_home_dir: デフォルト /var/lib/ipfs
  • ipfs_version: (明らかです)
  • ipfs_init_profile: IPFSを初期化する際に適用するプロファイル(プロファイルの設定を参照)。
  • ipfs_gc_when: ipfs repo gc を実行するタイミング。Systemd 時間(man systemd.time を参照)。
  • ipfs_force_https_download: サービスが実行中でも、https からバイナリアーカイブを強制的にダウンロードします。デフォルト: no
  • ipfs_force_migration: ipfs repo migrate を強制的に実行します。サービスを無条件に停止します。デフォルト: no
  • ipfs_swarm_port: 4001
  • ipfs_public_addresses: 公開スワームアドレス。デフォルト:
    • /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: ipfs_public_addressesのような形式。IPFSノード間の直接接続に使用されます。VPN経由でLANに接続する際に便利かもしれません。
  • ipfs_config_extra: 追加のIPFSノード構成。yaml構造はjsonに変換され、ipfs configに送られます。デフォルト値は
    ipfs_config_extra:
      Gateway.PublicGateways:
        localhost: null
    
    これにより、次のように実行されます。
    ipfs config --json Gateway.PublicGateways '{"localhost": null}'
    
    これは こちら から来ています。

依存関係

なし

サンプルプレイブック

次のように記述します:

- hosts: ipfs
  roles: [ipfs]

ライセンス

GPL-3.0-or-later

著者情報

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

プロジェクトについて

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

インストール
ansible-galaxy install etam.ipfs
ライセンス
gpl-3.0
ダウンロード
117
所有者
Doing a bit of programming, a bit of Linux sysadmin, a bit of openSUSE packaging, and most importantly enjoying free weekends.