Describes the structure of a Deployment Manifest document

Configure Container Registry Connection

Introduction

Mosaic Hosting Service supports provisioning of infrastructure and deployment of customized services through the Administration Portal with a few clicks, eliminating the hassle carrying out the deployments manually.

When performing the deployment task, the Hosting Service needs to be provided with the Docker image that needs to be deployed. The image is retrieved at deployment time from a given container registry, according to the repository and image tag that is given when creating the deployment.

As a pre-requisite, the Administrators must configure the Hosting Service to use the desired Container Registry that will be used to pull the container images from. This is a one time configuration that is done per environment.

Mosaic supports any container registry which conforms with the Docker Registry HTTP API V2 specification. (https://docs.docker.com/registry/spec/api/#docker-registry-http-api-v2)

Use of the Container Registry Connection

Hosting Service uses the configured container registry connection at two points.

  1. The Container Images explorer station uses the configured container registry connection to retrieve the relevant image tags, from the repository defined for the respective Customized Service.

  2. When the deployment process starts, a fully qualified image name (FQIN) is constructed using the configured container registry connection and the image tag to the format of: hostname/username/reponame:tag. i.e.: registry.hub.docker.com/mosaicuser/media-repo:20230723.1 This fully qualified container image name is then used to pull the image while doing the deployment.

Note
Configuration of the repository is done when creating a new Customized Service in Hosting Service. Please refer to How to Deploy a Customized Service with Hosting Service document to understand how the container registry repository can be configured.

Configuring a Container Registry Connection

Navigate to the Hosting Service configuration and click on the Container Registry button.

hosting service config
Figure 1. Hosting Service Configuration

This will take the user to Container Registry Details station where the Container Registry information can be set. The values that needs to be set are as follows.

  • Registry Host - The host of the container registry. For example, if Docker Hub is being used as the registry, the host would be registry.hub.docker.com.

  • Username - A user that has Read/Pull rights on the container registry.

  • Password - The password for the above user.

Save the values to complete the configuration.

Important
When a user updates an already existing Container Registry, if a deployment has already been done using an image in that Container Registry, the deployment will continue to use the older container registry connection, which might result in non-deterministic downtimes. It is recommended to always redeploy the services after updating the Container Registry Connections This will cache the new container registry connection and avoid any undesired states.
container registry
Figure 2. Container Registry Connection