mushroomlabs.hub20

Hub20

这个角色提供了设置实例所需的一切 Hub20 及其所有后台作业。

要求

这个角色只负责安装和配置以下 Hub20 服务:

  • API:REST API(一个 Django 应用,由 Uvicorn 提供服务)
  • web3 监听事件:一个后台作业,将监听相关的 web3 事件(即,转移到我们的服务所持账户的 ETH/ERC20,Raiden 渠道的开启/关闭,用户定义的其他事件)
  • Raiden 同步:一个后台作业,用于收集和处理 Raiden 实例的所有事件
  • 跟踪待处理支付:一个后台作业,检查指向 Hub20 内部钱包的任何账户的待处理交易

该角色 不提供 Hub20 依赖的服务的设置,特别是 PostgreSQL 和 Redis。它也不提供任何应该在 Uvicorn 前面的 Web 服务器来提供服务,例如静态媒体。此服务的目的是在某些 Web 服务器或负载均衡系统后运行(查看 Uvicorn 的部署建议 以了解最佳选择)。

该角色还假设您使用的目标是基于 Debian 的 Linux 发行版,并使用 systemd。此外,由于 Hub20 依赖于 Python >= 3.7,需要使用更新的发行版,或者您可能需要在您的剧本中添加一些任务,以便在目标平台上安装最新的 Python。

角色变量

  • hub20_application_host:(默认 _127.0.0.1_)
  • hub20_application_port:(默认 _5000_)
  • hub20_blockchain_network_id:(默认 _1_)
  • hub20_blockchain_starting_block:(默认 _9500000_)
  • hub20_database_host:(默认 _localhost_)
  • hub20_database_name:(默认 _hub20_)
  • hub20_database_user:(默认 _hub20_)
  • hub20_database_port:(默认 _5432_)
  • hub20_environment_file_path:(默认 _/etc/hub20_)
  • hub20_email_backend:(默认 _django.core.mail.backends.console.EmailBackend_)
  • hub20_email_sender_address:(默认 _noreply@hub20.example.com_)
  • hub20_pip_package_name:(默认 _hub20_)
  • hub20_pip_package_state:(默认 _latest_)
  • hub20_redis_host:(默认 _localhost_)
  • hub20_redis_port:(默认 _6379_)
  • hub20_redis_celery_database:(默认 _0_)
  • hub20_redis_cache_database:(默认 _1_)
  • hub20_run_debug_mode:(默认 _false_)
  • hub20_run_python_version:(默认 _python3.7_)
  • hub20_service_web3_event_listener_enabled:(默认 _true_)
  • hub20_service_raiden_sync_enabled:(默认 _true_)
  • hub20_service_web_enabled:(默认 _true_)
  • hub20_user_name:(默认 _hub20_)
  • hub20_user_home_path:(默认 _/srv/hub20_)
  • hub20_web3_provider_uri:(默认 _http://localhost:8545_)
  • hub20_tracked_tokens:商店将使用/接受的令牌地址列表(以十六进制字符串表示)。 (默认:ETH,WETH,DAI 和 RDN 的地址)
  • hub20_application_static_folder_path:(默认 _/srv/hub20/static_)
  • hub20_broker_url:(默认 _redis://localhost:6379/0_)
  • hub20_cache_url:(默认 _redis://localhost:6379/1_)
  • hub20_run_virtualenv_path:(默认 _/srv/hub20/.venv_)

以下变量需要定义,并应视为敏感值:

  • hub20_database_password:连接数据库的密码。
  • hub20_service_secret_key:Hub20 web 应用的密钥,用于会话管理、CSRF 令牌生成等。

示例剧本

- hosts: hub20_servers
  roles:
     - role: geerlingguy.nginx   # 使用 nginx 作为前端代理
     - role: lullis.certbot-nginx  # 从 Let's Encrypt 获取 SSL 证书并由 nginx 提供服务
     - role: mushroomlabs.hub20
     

许可证

MIT

作者信息

Raphael Lullis (raphael@mushroomlabs.com)

关于项目

Installs and sets up all hub20 services in any Debian-based linux distro

安装
ansible-galaxy install mushroomlabs.hub20
许可证
mit
下载
92
拥有者