Inventory file

Ansible is the technology used to deploy OMniLeads in a bare metal (physical machine or virtual machine). Ansible works with a file called “inventory” where these things are configured:

  • Installation type (self-hosted, host-node, cluster, devenv, etc.)
  • Passwords of different components (PostgreSQL, asterisk-AMI, web admin access, etc.)
  • Timezone
  • NAT support

Let’s divide the file in two parts:

Installation type configuration

In first part of the file you specify which type of installation you want to do, for that you must choice:

  • Production environment AIO (All In One).

As you can see, this section has two lines that are commented, this lines refers to the installation type of a production environment AIO. Both are not mutually exclusive, first makes refer to the Ansible Self-Hosted Install installation and second refers to Installation from remote ansible

##########################################################################################
# If you are installing a prodenv (PE) AIO y bare-metal, change the IP and hostname here #
##########################################################################################
[prodenv-aio]
#localhost ansible_connection=local ansible_user=root #(this line is for self-hosted installation)
#X.X.X.X ansible_ssh_port=22 ansible_user=root #(this line is for node-host installation)
  • Development Environment based on Docker.

If you want to deploy a devenv (Development Environment) you must see this section. Here, uncomment the line “#localhost ansible_connection=local”.

##############################################################################
# Docker host is localhost because the application is deployed in localhost. #
# Uncomment the line if you want to deploy DE or PE                          #
##############################################################################
# If you are installing a devenv (PE) uncomment
[prodenv-container]
#localhost ansible_connection=local
# If you are installing a devenv (DE) uncomment
[devenv-container]
#localhost ansible_connection=local

Passwords and parameters

The third section of the file refers to passwords of some components and the setting to configure timezone:

  • PostgreSQL
  • MySQL
  • OMniLeads “admin” user
  • TZ
[everyone:vars]

###############
# Credentials #
###############

#####################################################################
#                           Database                                #
#                    SET POSTGRESQL PASSWORD                        #
#####################################################################
postgres_database=omnileads
postgres_user=omnileads
#postgres_password=my_very_strong_pass
#####################################################################
#                           Web Admin                               #
#                     SET WEB ADMIN PASSWORD                        #
#####################################################################
#admin_pass=my_very_strong_pass
#######################################
# AMI for wombat dialer and OMniLeads #
#######################################
ami_user=omnileadsami
ami_password=5_MeO_DMT
#####################################################
# Wombat dialer credentials and MYSQL root password #
#####################################################
dialer_user=demoadmin
dialer_password=demo
#mysql_root_password=my_very_strong_pass
#################################################################################################
# Set the timezone where the nodes are. UNCOMMENT and set this if you are doing a fresh install #
#################################################################################################
#TZ=America/Argentina/Cordoba

OMniLeads Cloud:

The settings “external_hostname”, “external_port” and “public_ip”, must be configured if you want to install OMniLeads in a cloud server, where the agents will connect to an URL composed by https://external_hostname:external_port, without having a LAN direct connection or through VPN to the OMniLeads server.

#######################################################################################
#                                OMniLeads cloud:                                   #
# If you are wishing to install OML in a cloud provider you must set these variables: #
#  - external_port: the outside port where OML web server will listen requests        #
#  - external_hostname: the dns external users will connect to                        #
#  - public_ip: where OML is installed                                                #
#######################################################################################
#external_port=
#external_hostname=
#public_ip=

Important

You must set two firewall rules in cloud provider GUI, which serves as a NAT border router (if you don’t know how to do it, make contact with your provider)

  • Permit outbound traffic in this port range: 10000-30000 UDP
  • Permit inbound traffic in this port range: 10000-30000 UDP

Settings to add trusted key/certificate pair

By default, OMniLeads uses it own selfsigned key/certifate pair for HTTPS connections. This invokes the well known errors in browsers: ERR_CERT_AUTORITHY INVALID (Google Chrome) and SEC_ERROR_UNKNOWN_ISSUER (Firefox). If you own your own certificates signed by a valid CA you can add them to your OMniLeads installation, with this steps:

  1. Place the files in the folder deploy/certs/ inside the repository
  2. Edit and uncomment the variables trusted_key and trusted_cert with the name of the key and cert files in the folder
#####################################################################
# Trusted Certificates:                                             #
#   If you want to use your own certificate/key pair, copy them in  #
#   ominicontacto/deploy/certs/ and type here the name of the files #
#####################################################################
#trusted_cert=
#trusted_key=
  1. Proceed with the installation

Important

The trusted certificate for HTTPS connection is mandatory to use the WebPhone Client addon.