mushroomlabs.hub20

Hub20

Este rol proporciona todo lo necesario para configurar una instancia de Hub20 con todos sus trabajos en segundo plano.

Requisitos

Este rol se encarga únicamente de la instalación y configuración de los siguientes servicios de hub20:

  • API: la API REST (una aplicación de Django, servida por uvicorn)
  • escuchar eventos web3: un trabajo en segundo plano que escuchará eventos relevantes de web3 (es decir, transferencias de ETH/ERC20 a cuentas mantenidas por nuestros servicios, canales raiden que se abren/cerran, lo que el usuario defina)
  • sincronización de raiden: un trabajo en segundo plano para recopilar y procesar todos los eventos de tu instancia de Raiden
  • rastrear pagos pendientes: un trabajo en segundo plano que verifica transacciones pendientes dirigidas a cualquiera de las cuentas de las billeteras internas de Hub20

El rol NO proporciona la configuración de los servicios de los que depende hub20, a saber, PostgreSQL y Redis. Tampoco proporciona ningún servidor web que deba estar frente a uvicorn para servir, por ejemplo, medios estáticos. Este servicio está destinado a ejecutarse detrás de algún servidor web o sistema de balanceo de carga (consulta los consejos de implementación de Uvicorn para entender tus mejores opciones).

Este rol también asume que estás utilizando una distribución de Linux basada en Debian que usa systemd. Además, debido a la dependencia de hub20 en Python >= 3.7, se debe utilizar una distribución más reciente o puede que debas agregar algunas tareas a tu libro de jugadas para instalar una versión reciente de Python en la plataforma objetivo.

Variables del Rol

  • hub20_application_host: (predeterminado 127.0.0.1)
  • hub20_application_port: (predeterminado 5000)
  • hub20_blockchain_network_id: (predeterminado 1)
  • hub20_blockchain_starting_block: (predeterminado 9500000)
  • hub20_database_host: (predeterminado localhost)
  • hub20_database_name: (predeterminado hub20)
  • hub20_database_user: (predeterminado hub20)
  • hub20_database_port: (predeterminado 5432)
  • hub20_environment_file_path: (predeterminado /etc/hub20)
  • hub20_email_backend: (predeterminado django.core.mail.backends.console.EmailBackend)
  • hub20_email_sender_address: (predeterminado noreply@hub20.example.com)
  • hub20_pip_package_name: (predeterminado hub20)
  • hub20_pip_package_state: (predeterminado latest)
  • hub20_redis_host: (predeterminado localhost)
  • hub20_redis_port: (predeterminado 6379)
  • hub20_redis_celery_database: (predeterminado 0)
  • hub20_redis_cache_database: (predeterminado 1)
  • hub20_run_debug_mode: (predeterminado false)
  • hub20_run_python_version: (predeterminado python3.7)
  • hub20_service_web3_event_listener_enabled: (predeterminado true)
  • hub20_service_raiden_sync_enabled: (predeterminado true)
  • hub20_service_web_enabled: (predeterminado true)
  • hub20_user_name: (predeterminado hub20)
  • hub20_user_home_path: (predeterminado /srv/hub20)
  • hub20_web3_provider_uri: (predeterminado http://localhost:8545)
  • hub20_tracked_tokens: lista de direcciones de tokens (como cadenas hexadecimales) que serán utilizados/aceptados como moneda por las tiendas. (predeterminado: direcciones para ETH, WETH, DAI y RDN)
  • hub20_application_static_folder_path: (predeterminado /srv/hub20/static_)
  • hub20_broker_url: (predeterminado redis://localhost:6379/0)
  • hub20_cache_url: (predeterminado redis://localhost:6379/1)
  • hub20_run_virtualenv_path: (predeterminado /srv/hub20/.venv)

Las siguientes variables deben definirse y tratarse como valores sensibles:

  • hub20_database_password: la contraseña para conectarse a la base de datos.
  • hub20_service_secret_key: la clave secreta de las aplicaciones web de hub20 que se utiliza para la gestión de sesiones, generación de tokens CSRF, etc.

Ejemplo de Libro de Jugadas

- hosts: hub20_servers
  roles:
    - role: geerlingguy.nginx   # Usando nginx como tu proxy frontal
    - role: lullis.certbot-nginx  # Para obtener certificados SSL de Let's Encrypt y que nginx los sirva
    - role: mushroomlabs.hub20

Licencia

MIT

Información del Autor

Raphael Lullis (raphael@mushroomlabs.com)

Acerca del proyecto

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

Instalar
ansible-galaxy install mushroomlabs.hub20
Licencia
mit
Descargas
92
Propietario