Jelastic jCustomer Environments

This repository hosts all needed stuff to create a jCustomer environment on Jelastic.

Infrasctructure overview

A jCustomer environment contains:

  • At least one jCustomer node (up to seven)
  • Either a single Elasticsearch node or a three/five nodes cluster

Requests on the environment domain name target jCustomer node(s) (load balanced if in cluster mode).

Docker images

Images used by jCustomer environment nodes:

Node type Docker image
jCustomer jahia/jahiastic-jcustomer
Elasticsearch jahiadev/elasticsearch

Packages

unomi.yml

The base JPS, called by Jahia Cloud to create a jCustomer environment.

Takes as parameters:

  • name: productVersion
    • jCustomer Version
  • name: UnomiMode
    • jCustomer mode
  • name: ESMode
    • Number of Elasticsearch nodes
  • name: mode
    • Number of jCustomer nodes
  • name: ddogApikey
    • Datadog API KEY

update.yml

This package aims at updating events only, it is used when releasing a new Jahia Cloud version so we can make sure events are up-to-date and synchronized with environment modifications.

unomi-upgrade.yml

This upgrade package aims at upgrading jCustomer version by redeploying jCustomer nodes with the target jCustomer version tag, but since it takes the tag as a parameter, it is also used to do a simple redeploy of jCustomer nodes.

Parameters are:

  • name: targetVersion caption: Target jCustomer Version, if nothing is specified, it will be a simple redeploy

unomi_update_dx.yml

This package aims at linking a jCustomer environment with a Jahia environment.

It is applied on a Jahia environment and take the shortdomain of the jCustomer environment as a parameter.

utils/

In utils folder are stored packages that are called via Jelastic API from Jahia Cloud to do some specific actions related to environment management.

  • set-unomi-root-password.yml: update jCustomer root password

Monitoring

Each node is monitored on Datadog thanks to an agent directly installed on containers.

Datadog API key (pointing to a specific organization) is set as an envvar, and a periodic script update Datadog conf in case this envvar or any tag is changed so that the agent is still sending metrics to the right place.