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. 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:
- Authenticate against the OX registry
- Pull all Helm Charts
- Pull all container images
- Store gzipped tarball containing all of the above in
/output
directory
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.
Example 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)
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.
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) |
|
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" |