Registry and Images

Before installation, all target machines must be able to access the images required for deploying the environment.
Three modes are available: Online, Proxy, Offline.
Choose only one mode and define the variables before running the final installation command.

General Principles

Registry variables are read by the Ansible role reemo-relayws.

  • REGISTRY_URL: the registry URL (e.g. registry.reemo.io)

  • REGISTRY_ENV: the prefix allowing the Ansible role to build image names in the format REGISTRY_URL/REGISTRY_ENVapi

  • REGISTRY_USERNAME: username provided by Reemo support

  • REGISTRY_PASSWORD: password provided by Reemo support

  • REGISTRY_TLS_VERIFY: true by default | false: allows use of a registry on port 80 without TLS

Example resulting image: registry.reemo.io/reemoinfraapi:latest

Tip

Check disk space on each node. Loading images may require several GB of free space.

Online Mode

All machines connect directly to the Reemo registry.

Conditions

  • HTTPS access open to registry.reemo.io:443.

  • Credentials provided by Reemo support.

Minimal Inventory

all:
    vars:
        REGISTRY_URL: "registry.reemo.io"
        REGISTRY_ENV: "reemoinfra"
        REGISTRY_USERNAME: "user"
        REGISTRY_PASSWORD: "password"
infra_manager:
    hosts:
        infra_manager1:
            ansible_host: "10.0.0.1"
        infra_manager2:
            ansible_host: "10.0.0.2"
        infra_manager3:
            ansible_host: "10.0.0.3"

Quick Checks

Verify the registry login (from a node):

docker login registry.reemo.io

Check the prefix used (example):

docker pull registry.reemo.io/reemoinfraapi:latest

Confirm the image is present locally:

docker image ls

Proxy Mode

Nodes access the registry through an HTTP/HTTPS proxy. Use the same inventory configuration as in Online mode.

To declare the proxy at the Docker service level:

  • Add the following line in the [Service] section of the file /usr/lib/systemd/system/docker.service

EnvironmentFile=/etc/default/docker
  • Create the file /etc/default/docker and enter the following information:

http_proxy="http://< Proxy server IP >:< Proxy service Port >"
https_proxy="http://< Proxy server IP >:< Proxy service Port >"
  • On the proxy, allow access to the following two URLs:

registry.reemo.io
registry-auth.reemo.io

Offline Mode

No Internet access from the nodes. Images are pre-packaged as tarballs. Use the Offline mode of the reemo-infra role to generate the image tarballs required by INFRA.

Generate Tarballs

Run this command with the reemo-infra Ansible role:

ansible-playbook -i inventory.yml playbooks/reemo-infra.yml \
    --extra-vars "TARBALL_GENERATE=true" --tags tarball_generate

Load Tarballs

Run this command with the reemo-infra Ansible role:

ansible-playbook -i inventory.yml playbooks/reemo-infra.yml \
    --extra-vars "LOAD_IMAGE=true" \
    --extra-vars "TARBALL_PATH=/opt/reemo/images"

Note

You can also upload the images to your own registry.
You can then run the installation in Online mode against your registry.