Skip to content

Release Download

Overview

Whilst the recommended method to use Cloud Control's helm charts and container images is via a (caching) registry proxy or directly from our registry, we also offer a utility to download the relevant artifacts and optionally transfer them into a different registry. This can be particularly useful in airgapped environments where a cluster's nodes are unable to download from our registry and/or via a proxy.

The downloader utility is distributed in the form of a container image named cc-downloader. The full details of the image is as follows:

  • image location: registry.open-xchange.com/cloudcontrol/cc-downloader
  • image tag: x.y.z (same as the Cloud Control release you wish to download artifacts for)

Note: This utility is only available from release 3.1.0 onwards.

Usage

By default, the cc-downloader will do the following:

  1. Authenticate against the OX registry
  2. Pull all Helm Charts
  3. Pull all container images
  4. Store gzipped tarball containing all of the above in /output directory

Alternatively, you can configure a target registry to have all the artifacts transferred there instead of downloading them. See the TARGET_REGISTRY_* named configuration options.

Preparing Input

Before you can run the cc-downloader, it needs to be configured with the required environment variables. Below example shows a .env file with the required variables:

# Release config
CC_TAG=x.y.z

# Registry config
REGISTRY_USER=my_username
REGISTRY_PASSWORD=my_password

Note: Make sure to replace x.y.z, my_username & my_password with the corresponding values.

Preparing Output

The cc-downloader will by default write the output to the following location inside the container: /output

If we use an ephemeral container (such as via docker run --rm -it) we need to make sure the contents of the container's /output directory persist once the container terminates. An easy way of doing this is to create a directory locally and mounting it to the container. The example in the below section uses this mechanism.

Note: When automatically transferring the artifacts to a target registry this is not necessary.

Example downloading using Docker CLI

If above described preparation is completed, we can now run the cc-downloader. Below example makes 3 assumptions:

  • The Docker CLI is available
  • The input environment variables are stored in the current working directory in file downloader.env
  • We have a local directory available and writable at the path /tmp/ccrelease (must be absolute path in this example's syntax)

Example command to run the cc-downloader using Docker:

docker run --rm -it --env-file ./downloader.env -v /tmp/ccrelease:/output registry.open-xchange.com/cloudcontrol/cc-downloader:x.y.z

Note: Make sure to replace x.y.z with the corresponding Cloud Control 3.1.0 (or later) release.

Result of the above command should be an archive in the /tmp/ccrelease directory containing all helm charts and container images used by this Cloud Control release. Further configuration options are described below.

Example transferring to another registry using Docker CLI

If transferring the artifacts directly into another registry, the example can have the volume mount omitted, for example:

docker run --rm -it --env-file ./downloader.env registry.open-xchange.com/cloudcontrol/cc-downloader:x.y.z

Configuration

You can use the following environment variables to configure cc-downloader:

Parameter Required Default Description
CC_PROJECT cloudcontrol Name of the project inside the registry to download releases from
CC_TAG yes Cloud Control release (format: x.y.z)
REGISTRY_HOST registry.open-xchange.com Hostname of the registry to download releases from
REGISTRY_USER yes Username to authenticate against the registry
REGISTRY_PASSWORD yes Password for the user specified under REGISTRY_USER
SKIP_USERPLANE no If set to yes, skip downloading artifacts needed for Userplane deployments
SKIP_CONTROLPLANE no If set to yes, skip downloading artifacts needed for Controlplane deployments
SKIP_MONITORING no If set to yes, skip downloading artifacts needed for Monitoring deployments
SKIP_SECURITY no If set to yes, skip downloading artifacts needed to enable the Security features (ie: If you do not have access to the Security features)
SKIP_IMAGES no If set to yes, skip downloading any container images (ie: only download helm charts)
TARGET_REGISTRY_HOST Hostname of the registry to transfer artifacts to
Enables transferring artifacts to a target registry when specified
TARGET_REGISTRY_PASSWORD Project on the target registry to transfer artifacts into
Required if TARGET_REGISTRY_HOST is specified
TARGET_REGISTRY_PROJECT Username to authenticate against the target registry
Required if TARGET_REGISTRY_HOST is specified
TARGET_REGISTRY_USER Password for the user specified under TARGET_REGISTRY_PROJECT
Required if TARGET_REGISTRY_HOST is specified
OUTPUT_DIR /output Name of the directory inside the container where output will be stored
OUTPUT_TYPE archive Control how the downloaded helm charts and container images are stored in the output location.
Available options: archive artifacts
Ignored if TARGET_REGISTRY_HOST is specified