Doc Menu

Create a Private Mirror

When creating a private cloud, usually, you need to use an isolated network environment, where the official mirror of TiUP is not accessible. Therefore, you can create a private mirror, which is mainly implemented by the mirror command. You can also use the mirror command for offline deployment.

TiUP mirror overview

Execute the following command to get the help information of the mirror command:

tiup mirror --help
The 'mirror' command is used to manage a component repository for TiUP, you can use
it to create a private repository, or to add new component to an existing repository.
The repository can be used either online or offline.
It also provides some useful utilities to help managing keys, users and versions
of components or the repository itself.
Usage:
  tiup mirror <command> [flags]
Available Commands:
  init        Initialize an empty repository
  sign        Add signatures to a manifest file
  genkey      Generate a new key pair
  clone       Clone a local mirror from remote mirror and download all selected components
  publish     Publish a component
Flags:
  -h, --help          help for mirror
      --repo string   Path to the repository
Global Flags:
      --skip-version-check   Skip the strict version check, by default a version must be a valid SemVer string
Use "tiup mirror [command] --help" for more information about a command.

The tiup mirror clone command is used to build a local mirror. The basic usage is as follows:

tiup mirror clone <target-dir> [global-version] [flags]
  • target-dir: used to specify the directory in which cloned data is stored.
  • global-version: used to quickly set a global version for all components.

The tiup mirror clone command provides many optional flags (might provide more in the future). These flags can be divided into the following categories according to their intended usages:

  • Determines whether to use prefix matching to match the version when cloning

    If the --prefix flag is specified, the version number is matched by prefix for the clone. For example, if you specify --prefix as "v4.0.0", then "v4.0.0-rc.1", "v4.0.0-rc.2", and "v4.0.0" are matched.

  • Determines whether to use the full clone

    If you specify the --full flag, you can clone the official mirror fully.

    Note:

    If --full, global-version flags, and the component versions are not specified, only some meta information is cloned.

  • Determines whether to clone packages from the specific platform

    If you want to clone packages only for a specific platform, use -os and -arch to specify the platform. For example:

    • Execute the tiup mirror clone <target-dir> [global-version] --os=linux command to clone for linux.
    • Execute the tiup mirror clone <target-dir> [global-version] --arch=amd64 command to clone for amd64.
    • Execute the tiup mirror clone <target-dir> [global-version] --os=linux --arch=amd64 command to clone for linux/amd64.
  • Determines whether to clone a specific version of a package

    If you want to clone only one version (not all versions) of a component, use --<component>=<version> to specify this version. For example:

    • Execute the tiup mirror clone <target-dir> --tidb v4.0.0 command to clone the v4.0.0 version of the TiDB component.
    • Execute the tiup mirror clone <target-dir> --tidb v4.0.0 --tikv all command to clone the v4.0.0 version of the TiDB component and all versions of the TiKV component.
    • Execute the tiup mirror clone <target-dir> v4.0.0 command to clone the v4.0.0 version of all components in a cluster.

Usage examples

This section introduces the usage examples of the mirror command.

Deploy a TiDB Cluster offline using TiUP

Refer to Deploy a TiDB Cluster Offline Using TiUP to install the TiUP offline mirror, deploy a TiDB cluster, and start it.