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 上局域网连接时可能会有用。
  • ipfs_config_extra:额外的 IPFS 节点配置。yaml 结构会转换为 json 并发送到 ipfs config。默认值为:
    ipfs_config_extra:
      Gateway.PublicGateways:
        localhost: null
    
    这会导致运行:
    ipfs config --json Gateway.PublicGateways '{"localhost": null}'
    
    该命令来自 https://github.com/ipfs/kubo/blob/master/docs/config.md#implicit-defaults-of-gatewaypublicgateways。

依赖

无。

示例剧本

只需:

- hosts: ipfs
  roles: [ipfs]

许可证

GPL-3.0或更高版本

作者信息

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.