imgsync


Nameimgsync JSON
Version 2.1.0 PyPI version JSON
download
home_pagehttp://github.com/alvarolopez/imgsync/
Summaryimgsync will download sync images from several distribution repositories and send them to an OpenStack Image service (Glance).
upload_time2024-09-26 16:30:02
maintainerNone
docs_urlNone
authorAlvaro Lopez Garcia
requires_python<4.0.0,>=3.8.1
licenseApache-2.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # OpenStack Glance Image Synchronization tool

This application will download images from the official distribution
repository, and upload them to OpenStack Glance. It is possible to define
custom properties and prefixes for all the synced images.

## Available distribution repositories

Currently the following images repositories are supported:

### Debian

- Debian 11: https://cloud.debian.org/images/cloud/bullseye/
- Debian 12: https://cloud.debian.org/images/cloud/bookworm/
- Debian testing: https://cloud.debian.org/images/cloud/sid/

### Ubuntu

- Ubuntu 18.04: https://cloud-images.ubuntu.com/bionic/
- Ubuntu 20.04: https://cloud-images.ubuntu.com/focal/
- Ubuntu 22.04: https://cloud-images.ubuntu.com/jammy/
- Ubuntu 24.04: https://cloud-images.ubuntu.com/noble

## Installation

Install it via PyPI:

    pip install imgsync

Or install it from the repo:

    git clone https://github.com/alvarolopez/imgsync
    pip install imgsync

## Configuration

Copy `/etc/imgsync/imgsync.conf.sample` into `/etc/imgsync/imgsync.conf` and
adjust it your your needs. Take into account the following:

- You need to configure your OpenStack Keystone authentication under the
  `[keystone_auth]` section. The user should be able to publicize images in
  your glance deployment (check your policy file).

- You can define a prefix to be used for all the distribution names with the
  `prefix` option.

- Additionally you can add some custom image properties, using the `properties`
  option, that can be repeated multiple times for multiple properties.

- The list of images to be downloaded is configured via the `distributions`
  option.

### Image properties

`imgsync` sets a property `source=imgsync` to all the images that donwloaded
and synced. This way we can identify if an image is uploaded into glance by us
or by anyone else. This property is hardcoded and cannot be reconfigured or
replaced by something else. Other properties set by `imgsync` are are stored with the
`imgsync.prefix` (like `imgsync.sha256` or `imgsync.sha512`)

Nevertheless, it is also possible to define additional properties in the form
"key=value" via the `properties` option in the configuration file (you can
specify this option several times).

Therefore, it is important that you configure glance to enable the proper
[policy protection rules](https://docs.openstack.org/developer/glance/property-protections.html)
so that only the configured user is able to write those properties (i.e. at
least `source`, `imgsync.sha512` and `imgsync.sha256`). Moreover, you need to
configure nova to exclude those properties when nova creates and uploads an
snapshot to glance, via the `non_inheritable_image_properties` option in your
`/etc/nova/nova.conf` configuration file (again, at least add `source`,
`imgsync.sha512` and `imgsync.sha256`).

            

Raw data

            {
    "_id": null,
    "home_page": "http://github.com/alvarolopez/imgsync/",
    "name": "imgsync",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0.0,>=3.8.1",
    "maintainer_email": null,
    "keywords": null,
    "author": "Alvaro Lopez Garcia",
    "author_email": "aloga@ifca.unican.es",
    "download_url": "https://files.pythonhosted.org/packages/91/04/009cbf044ded0e6596e870cd52c755ee87be0287d07ee59b11c6ae1619c9/imgsync-2.1.0.tar.gz",
    "platform": null,
    "description": "# OpenStack Glance Image Synchronization tool\n\nThis application will download images from the official distribution\nrepository, and upload them to OpenStack Glance. It is possible to define\ncustom properties and prefixes for all the synced images.\n\n## Available distribution repositories\n\nCurrently the following images repositories are supported:\n\n### Debian\n\n- Debian 11: https://cloud.debian.org/images/cloud/bullseye/\n- Debian 12: https://cloud.debian.org/images/cloud/bookworm/\n- Debian testing: https://cloud.debian.org/images/cloud/sid/\n\n### Ubuntu\n\n- Ubuntu 18.04: https://cloud-images.ubuntu.com/bionic/\n- Ubuntu 20.04: https://cloud-images.ubuntu.com/focal/\n- Ubuntu 22.04: https://cloud-images.ubuntu.com/jammy/\n- Ubuntu 24.04: https://cloud-images.ubuntu.com/noble\n\n## Installation\n\nInstall it via PyPI:\n\n    pip install imgsync\n\nOr install it from the repo:\n\n    git clone https://github.com/alvarolopez/imgsync\n    pip install imgsync\n\n## Configuration\n\nCopy `/etc/imgsync/imgsync.conf.sample` into `/etc/imgsync/imgsync.conf` and\nadjust it your your needs. Take into account the following:\n\n- You need to configure your OpenStack Keystone authentication under the\n  `[keystone_auth]` section. The user should be able to publicize images in\n  your glance deployment (check your policy file).\n\n- You can define a prefix to be used for all the distribution names with the\n  `prefix` option.\n\n- Additionally you can add some custom image properties, using the `properties`\n  option, that can be repeated multiple times for multiple properties.\n\n- The list of images to be downloaded is configured via the `distributions`\n  option.\n\n### Image properties\n\n`imgsync` sets a property `source=imgsync` to all the images that donwloaded\nand synced. This way we can identify if an image is uploaded into glance by us\nor by anyone else. This property is hardcoded and cannot be reconfigured or\nreplaced by something else. Other properties set by `imgsync` are are stored with the\n`imgsync.prefix` (like `imgsync.sha256` or `imgsync.sha512`)\n\nNevertheless, it is also possible to define additional properties in the form\n\"key=value\" via the `properties` option in the configuration file (you can\nspecify this option several times).\n\nTherefore, it is important that you configure glance to enable the proper\n[policy protection rules](https://docs.openstack.org/developer/glance/property-protections.html)\nso that only the configured user is able to write those properties (i.e. at\nleast `source`, `imgsync.sha512` and `imgsync.sha256`). Moreover, you need to\nconfigure nova to exclude those properties when nova creates and uploads an\nsnapshot to glance, via the `non_inheritable_image_properties` option in your\n`/etc/nova/nova.conf` configuration file (again, at least add `source`,\n`imgsync.sha512` and `imgsync.sha256`).\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "imgsync will download sync images from several distribution repositories and send them to an OpenStack Image service (Glance).",
    "version": "2.1.0",
    "project_urls": {
        "Bug Tracker": "http://github.com/alvarolopez/imgsync/issues",
        "Homepage": "http://github.com/alvarolopez/imgsync/",
        "Repository": "http://github.com/alvarolopez/imgsync/"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9be64d352d2022c9cb3560844e4dd07ea3dd27f4e9e390cfc3c5fc90d505945a",
                "md5": "81c86fc2455091ef9239d67fd299e855",
                "sha256": "cfef25421f26a007409683a6b4c2a0f602dbffaa9b96a27285e5e579d1fbf292"
            },
            "downloads": -1,
            "filename": "imgsync-2.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "81c86fc2455091ef9239d67fd299e855",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0.0,>=3.8.1",
            "size": 22777,
            "upload_time": "2024-09-26T16:30:01",
            "upload_time_iso_8601": "2024-09-26T16:30:01.218048Z",
            "url": "https://files.pythonhosted.org/packages/9b/e6/4d352d2022c9cb3560844e4dd07ea3dd27f4e9e390cfc3c5fc90d505945a/imgsync-2.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9104009cbf044ded0e6596e870cd52c755ee87be0287d07ee59b11c6ae1619c9",
                "md5": "ad2b4d6e7e4a87ec5c051ee082c28758",
                "sha256": "86226f26ea1e67b4231b6898c1cc8f40bcebf2952abf6bc8e09deb489f950d48"
            },
            "downloads": -1,
            "filename": "imgsync-2.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "ad2b4d6e7e4a87ec5c051ee082c28758",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0.0,>=3.8.1",
            "size": 16294,
            "upload_time": "2024-09-26T16:30:02",
            "upload_time_iso_8601": "2024-09-26T16:30:02.473672Z",
            "url": "https://files.pythonhosted.org/packages/91/04/009cbf044ded0e6596e870cd52c755ee87be0287d07ee59b11c6ae1619c9/imgsync-2.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-26 16:30:02",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "alvarolopez",
    "github_project": "imgsync",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "imgsync"
}
        
Elapsed time: 0.42903s