Deploy del componente Websockets¶
Al igual que todos los componentes de OMniLeads, websockets puede ser instalado sobre un linux exclusivo utilizando su script de instalacion fisrt_boot_installer.tpl el cual puede ser ejecutado una vez disponible nuestro host.
Para obtener nuestro script, lanzar el siguiente comando:
curl https://gitlab.com/omnileads/omnileads-websockets/-/raw/master/deploy/first_boot_installer.tpl?inline=false > first_boot_installer.sh && chmod +x first_boot_installer.sh
Entonces, una vez que contamos con el script, pasamos a trabajar las variables, quitando comentarios y configurando sus valores dentro del propio script. Vamos a listar y explicar cada una de éstas variables que deben ser ajustadas antes de ejecutar el script.
Variables de instalación¶
- oml_infras_stage: Se refiere al proveedor de infraestructura implicado. La idea es aprovechar las APIs de los proveedores cloud para determinar cuestiones como parámetros de la red. Si vamos a instalar onpremise o en alguna nube que no está dentro del listado, asignar onpremise como valor para la variable. Posibles valores: onpremise, aws, digitalocean, vultr, linode.
- oml_nic: Aquí debemos indicar la interfaz de red sobre la que se levanta el puerto TCP 6379 (default), que va a procesar las solicitudes de conexión a Redis provenientes de Kamailio, Asterisk, OMLApp y websocket-python.
- oml_ws_release: Aquí indicamos el release del componente que deseamos desplegar.
- oml_ws_port: Aqui se indica el puerto TCP sobre el que se publicara el servicio de websocket.
- oml_redis_host: Aqui se debe indicar la direccion del host redis. Cuando redis es desplegado en un nodo simple el valor del parametro debe ser: redis://redis_host:redis_port, en cambio cuando redis es desplegado como cluster el parametro debe ser: redis+sentinel://master/sentinel_host_01,sentinel_host_02,sentinel_host_03, el valor master es constante, mientras que sentinel_host implica la direccion de red de cada nodo sentinel.
- oml_redis_port: Aqui se debe indicar el puerto sobre el que recibe las conexiones redis.
Ejecución de la instalación¶
Finalmente, podemos lanzar nuestro script first-boot-instaler.sh. Ésto lo podemos hacer como user_data de una instancia cloud, a través de alguna utilidad de línea de comandos para administrar la infraestructura, o bien directamente copiando el archivo hacia el Linux host destino y lanzando la ejecución del mismo.
Para comprobar que el componente se encuentra operativo, debemos lanzar el siguiente comando y observar la siguiente salida:
systemctl status container-oml-websockets-server.service
Important
¡Es importante asegurarnos de que Websockets abra su puerto (8000 por defecto) sobre una dirección de red privada! Es decir, NUNCA debemos instalar éste componente sobre una subred pública.