You can connect your own repository of ISO images to the platform. The article describes how to create a repository and connect it in the platform settings.

Connecting ISO images from the repository to the VM is available for accounts with "Administrator" and "Advanced User" levels.

Preparing a repository


As a repository you can use:

  • a server with HTTP (HTTPS) or FTP access. The platform accesses the repository through the URL specified in the settings. For example, http://www.example.com/repo/;
  • NAS storage of the cluster. The /iso_images directory is created in the storage for the repository. The images will be available only in the cluster to which the repository is connected.

The repository directory must contain:

  • metadata.json file — repository description file;
  • ISO images.

The metadata.json file contains the parameters of the ISO images in the repository:

  • type — repository type. Specify the iso value;
  • images — array of objects to describe ISO images. Each object contains parameters: 
    • name — image name;
    • os_type — OS type. Possible values:
      • linux;
      • freebsd;
      • windows;
      • other_os;
    • tags — image. Optional parameter;

    • file_name — ISO image filename;
    • checksum — hash sum of ISO image file calculated by SHA-1 algorithm;

      You can find the hash sum of a file using the sha1sum utility: 

      sha1sum <file_name>
      BASH
    • image_size_mib — ISO image size in MiB. Optional parameter;
    • updated_at — time of the last modification of the ISO image.

Example of metadata.json file contents

{
  "type": "iso",
  "images": [
    {
      "name": "Slitaz",
      "os_type": "linux",
      "tags": [
          "slitaz"
            ],
      "file_name": "slitaz-rolling.iso",
      "image_size_mib": 54,
      "updated_at": "2024-04-16 00:00:01",
      "checksum": "cf0e5f2f86e748b965a42cae9f14ff9b98d463f"
    },
    {
      "name": "TinyCore Linux",
      "os_type": "linux",
      "tags": [
        "tinycore"
      ],
      "file_name": "CorePlus-current.iso",
      "image_size_mib": 249,
      "updated_at": "2024-04-16 00:00:03",
      "checksum": "2768d49422225438a7384da27220960b230f0740"
    }
  ]
}
CODE

Connecting a repository


HTTP of FTP

To connect a repository, enter TemplatesRepositoriesAdd repository button:

  1. Enter the repository Name or click generate.
  2. Enter the repository Address. E.g., http://example.com/repo/ or ftp://192.168.1.100/intrepo/

    You may specify authorization settings in the URL. For example, ftp://user:password@www.example.com/repo/.

  3. Click Add button. VMmanager will check the format of the metadata.json file. If the file does not contain any errors, VMmanager will add the repository. 

NAS

If a NAS storage is connected to the cluster, a repository with the same name will be automatically created in the platform. The platform will create the /iso_images directory and the /iso_images/metadata.json file in the repository.

You can add the ISO images to the NAS repository:

  • when uploading images from a local file or via URL. To do this, on the image upload form, enable the Save ISO image to repository option. The metadata.json file will be updated automatically;
  • manually. To do this, copy the images to the /iso_images directory of the repository and add the image information to the metadata.json file. Information about images will appear in the platform within 15 minutes. 

Managing repositories


To manage repositories, enter TemplatesRepositories.

To view the list of images in the repository, click on ".. ISO" in the "Content" column. 

To update the repository content, click .

To rename a repository, click on its name or .

To delete a HTTP or FTP repository, click

Deleting a NAS repository via the platform interface is not supported. NAS repository will be deleted automatically after the storage is disconnected.

Managing ISO images


To manage ISO images in the repository, go to TemplatesISO images.

To add an ISO image to the NAS repository, click the Upload ISO image button:

  1. Select a method for uploading the image:
    • Local file — select the image file in iso format on your local computer;
    • Image URL — enter the URL where the ISO image is available. The image can be available via HTTP(S) or FTP.
  2. Enter the image Name. If you leave this field blank, the file name will be extracted from the URL.
  3. Select a Repository to download the image.
  4. Select the OS type:
    • Linux;
    • Windows;
    • FreeBSD;
    • Other OS.
  5. Specify the Image tags for the connected OS if this VM needs to run scripts. The script will run on the VM if at least one of its tags matches the OS tag.
  6. Specify the arbitrary Note.
  7. Click Add button.

To change the settings of an ISO image, click the icon or on the image name. Available settings:

  • in HTTP and FTP repositories — note, settings for access in clusters;
  • in NAS repositories — name, OS type, image tags, note.

Other parameters can only be changed by editing the metadata.json file.

To delete an ISO image in the NAS repository, click the icon in the line with the image. Deleting an image is available if it is not connected to a VM.

Deleting ISO images from an HTTP or FTP repository via the platform interface is not supported.