Project Description

UYUNI has the ability to synchronize packages from remote locations. But doesn't have a similar solution for container images. This project aims to add a option to synchronize content between to registries using UYUNI, in a similar way we do we packages today.

If a user already has a local registry, uyuni can be used to synchronize content and work in air-gaped environments.

The goal is not to provide a registry "inside" uyuni.

@MC has developed in the past a formula with forms that deploys and configures a container registry from uyuni.

Goal for this Hackweek

Goal: Recurrently synchronize selected content from one registry to another. Code will be committed to a branch in uyuni repository: https://github.com/uyuni-project/uyuni/

Resources

We also have a confluence page at: https://confluence.suse.com/display/~RDiasMateus/Hack+-+Registry

Status

We decided to create a definition of a registry synchronization project, with will have a source and target registry, and then a list of images to be synchronized. For each image we can define a list of tags and/or a regex to be applyed and select wich tags should be copied between the two registries.

With this information we can have a periodic task that will use this information and perform the synchronization using the skopeo tool

Day 1:

Day 2:

  • Debase design and implementation
  • Integration with skopeo. Front-end API to
    • Get all images/repos from one registry
    • Get all image tags from one registry
  • Create a synchronization definition that can be used to synchronize content. Is the data definition of what should be synchronized
    • Front-end work started
    • XML-API and Json over HTTP API start

Day 3:

  • XML-API and Json over HTTP API in place to create and configure a synchronization unit
  • UI to manage syncronization units under development
  • Task to run the synchronization unit is now generating the yaml file needed for skopeo
    • Still missing the call to skopeo to perform the synchronization

Day 4:

  • Taskomatic task synchronizing images between registry
  • Keep working on front-end support
  • Keep working on API support to configure the synchronization task

Day 5:

  • Investigate how to deal with architectures.
  • Keep working on front-end support
  • XML-RPC and JSON over http API are finished, with full CRUD support to configure synchronization task

TODO

  • Endpoint to provide the list of available architectures for: registry+image+tag
  • Endpoint to provide image details for: registry+image+tag+architecture 
  • Support definition of the architecture to synchronize for sync project

Looking for hackers with the skills:

uyuni susemanager registry

This project is part of:

Hack Week 22

Activity

  • 4 months ago: RDiasMateus joined this project.
  • 4 months ago: RDiasMateus added keyword "uyuni" to this project.
  • 4 months ago: RDiasMateus added keyword "susemanager" to this project.
  • 4 months ago: RDiasMateus added keyword "registry" to this project.
  • 4 months ago: j_renner joined this project.
  • 4 months ago: j_renner liked this project.
  • 4 months ago: mcalmer started this project.
  • 4 months ago: RDiasMateus originated this project.

  • Comments

    Similar Projects

    Uyuni test suite improvements by dgedon

    Project Description

    Uyuni is the upstream...


    Container images for building the Uyuni docs by juliogonzalezgil

    Project Description

    The Uyuni doc require...


    Deploy Uyuni proxy using Elemental and Fleet by cbosdonnat

    Project Description

    Now that Uyuni proxy ...


    Uyuni: add SLE-Micro acceptance tests by mbussolotto

    Project Description

    Uyuni: add SLE-Micro ...


    Testing and adding GNU/Linux distributions on Uyuni by juliogonzalezgil

    Join the Gitter channel! [https://gitter.im/uy...


    Container images for building the Uyuni docs by juliogonzalezgil

    Project Description

    The Uyuni doc require...


    Improve OpenSCAP support in Uyuni by admehmood

    [comment]: # (Please use the project descriptio...


    Uyuni test suite improvements by dgedon

    Project Description

    Uyuni is the upstream...


    Create tool to analyze supportconfig to spot common SUSE Manager / Uyuni issues by cbosdonnat

    [comment]: # (Please use the project descriptio...


    Testing and adding GNU/Linux distributions on Uyuni by juliogonzalezgil

    Join the Gitter channel! [https://gitter.im/uy...