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
该命令来自 https://github.com/ipfs/kubo/blob/master/docs/config.md#implicit-defaults-of-gatewaypublicgateways。ipfs config --json Gateway.PublicGateways '{"localhost": null}'
依赖
无。
示例剧本
只需:
- hosts: ipfs
roles: [ipfs]
许可证
作者信息
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.