Private APT Mirror

Dalet Flex Classic relies on Ubuntu Linux operating system. Ubuntu is a distribution with several thousands of packages, available from one of the many mirrors that exist worldwide (public or private ones).

By default, Flex is configured to used the public one closest (geo-latency speaking) to your platform through IP AnyCast mechanism.

But the choice remains yours and you're pefectly able to select a different specific one because:

  • It may be located in your particular country of operation.
  • It may be faster to download from.
  • It may be more secure.
  • It may be local to your corporate network, i.e. faster, requiring no Internet bandwidth etc ...

Note

Note that Flex requires an additional Dalet-managed APT repository on top of Ubuntu public one.

It is used to provide packaged, ready-to-use, versions of third-party software binaries that are not part of the official Ubuntu distribution.

Setting up a mirror of your own

You may already have your own Ubuntu mirror in your coporation.

If so, you will need to extend it to also mirror Dalet APT mirror.

On your own mirror instance, start by importing Dalet GPG key, used to signed Flex packages:

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 342E0BE283A8071F

and declare the following repository to be mirrored:

deb http://packages.cs.dalet.cloud/ ubuntu main

Then update your ansible/vars/variables.yml file to override packages lookup locations with something like:

dalet_baseos_packages_mirror_archive_repository: packages.acme.local
dalet_baseos_packages_mirror_security_repository: packages.acme.local
dalet_baseos_packages_mirror_dalet_repository: packages.acme.local/dalet

and re-deploy Flex instances.

Setting up an automated mirror

If you don't have one and want to easily create one, this can be done in a few steps:

  1. Ensure you've created a dedicated virtual machine instance (unless you're re-using an already existing server instance) with at least 1 vCPU, 1 GB of RAM and 400-500 GB of disk.
  2. Declare that instance in your Ansible inventory file, e.g.:
[proxymirror]
10.0.0.100 name=flex-acme-stg-pxy-1
  1. Deploy it through our ready-to-go proxy playbook:
$ ospctl deploy -p dalet.flex.proxy

After a few minutes, the instance is up. Depending on your Internet connectivity and bandwidth, it may take from a few minutes to a couple hours to synchronize the mirror.

Tip

It is recommended to usage a dedicated data disk for storage proxy packages. When doing so, it'll be mounted in /data/mirror working directory.

Note

Flex automated mirror daily synchronizes to upstream public repositories.

Both Ubuntu and Dalet repositories will be automatically added and sycnhronized. If present, Flex deployment framework automatically discovers it and configure the various instances to use. You're done here.