openstack-helm-images/mini-mirror/README.rst

2.6 KiB

Mini-mirror Image Build

Mini-mirror is a service that mirrors existing Debian/Ubuntu repositories and can be used as an APT source for OpenStack-Helm deployments with no internet connectivity.

Build Requirements

Add mirror sources

Mini-mirror requires a directory at build-time that contains the repositories and packages that will be mirrored.

sources/
| -- source1-prefix/
     |-- source-name/
         |-- source.txt
         |-- packages.txt
| -- source2-prefix/
     |-- source-name/
         |-- source.txt
         |-- packages.txt

Sources are defined as directories containing the files:

  • source-prefix - a prefix to separate sources that have conflicting distribution names (i.e. the directory a source serves from).
  • source-name - the name of a source; used for record-keeping.
  • source.txt - contains location and metadata information for a source.
  • packages.txt - contains a list of packages, formatted as package queries for a source.

Example source.txt format:

source_url source_key_url dist components

Example packages.txt format:

package1
package2
package3 (>=3.6)

To specify the location of your sources directory, export the following environment variable:

export MIRROR_SOURCE_DIR=/path/to/sources

Generate a signing key

Warning

The demo image published in the OpenStack-Helm-Addons repository is not signed. It should NOT be used in production and signing should be enabled in the Aptly config file.

Mini-mirror signs the release file during the image build process. Supply a path to a valid GPG key using the RELEASE_SIGN_KEY environment variable.

export RELEASE_SIGN_KEY_PATH=key.gpg

Additionally, supply your GPG key passphrase with the RELEASE_SIGN_KEY_PASSPHRASE environment variable:

export RELEASE_SIGN_KEY_PASSPHRASE=passphrase

Create an Aptly config file (optional)

Specify the location of your Aptly config file using the APTLY_CONFIG_PATH environment variable:

export APTLY_CONFIG_PATH=aptly.conf

Proxy

If building the mini-mirror image behind a proxy server, define the standard HTTP_PROXY, HTTPS_PROXY, and NO_PROXY environment variables. They will be passed as build-args.

Build

To build the mini-mirror image, execute the following:

export DISTRO=ubuntu
./build.sh