an invention by StarryWang
Project Description
Currently, the way to install Rancher in Air-Gap mode (with personal registry server) is using the rancher-save/load-images.sh
script to save container images required by Rancher into tar.gz
tarball and load it into the personal registry. These scripts work fine when saving and loading single-arch images.
However, if we need to install Rancher cluster in AMD64 and ARM64 architecture, we need a tool to mirror multi-arch images from public registry to personal registry or save images into tarball and load it into personal registry (when no network connection). So this project is mainly used to mirror/save and load multi-arch container images from the public registry to the personal registry (by using skopeo) and build manifest list (by using docker-buildx). I also implemented validating functions to ensure all container images were mirrored/loaded into the destination registry.
Currently, this project has already finished the mirror/load/save and validation functions, and I am developing the new functions to generate an upgrade image list from KDM JSON data and chart repos during this HackWeek.
This tool is written in Go and the compiled binary file can be found on the GitHub Release page. And this tool also provides container image for mirror images in CI pipeline automatically.
Goal for this Hackweek
Here are the things I'm going to do during HackWeek 22.
- Implement the functions of generating an image list from KDM JSON data and chart repos.
- Add English documents for this project.
Resources
- image-tools: https://github.com/cnrancher/image-tools
- skopeo: https://github.com/containers/skopeo
- KDM (kontainer-driver-metadata): https://github.com/rancher/kontainer-driver-metadata
- Collect and Publish Images to your Private Registry: https://ranchermanager.docs.rancher.com/getting-started/installation-and-upgrade/other-installation-methods/air-gapped-helm-cli-install/publish-images
Looking for hackers with the skills:
This project is part of:
Hack Week 22
Activity
Comments
-
almost 2 years ago by StarryWang | Reply
The
generate-list
sub-command is available in the v1.4.0-rc2I'll make a final release when it becomes stable after this hackweek.
English docs have been supplemented by @danishprakash .
-
almost 2 years ago by StarryWang | Reply
Name needed: the name of this project
image-tools
is not good enough, can someone help me with a more interesting name of this project? -
over 1 year ago by StarryWang | Reply
Just released 1.4.0-rc3 and made some improvements on the
generate-list
sub-command, this HackWeek project can be marked as finished.
Similar Projects
A CLI for Harvester by mohamed.belgaied
[comment]: # Harvester does not officially come...
Cluster API Provider for Harvester by rcase
[comment]: # (Please use the project descriptio...
Introducing "Bottles": A Proof of Concept for Multi-Version CRD Management in Kubernetes by aruiz
Description
As we delve deeper into the c...
CVE portal for SUSE Rancher products by gmacedo
Description
Currently it's a bit difficul...
Rancher/k8s Trouble-Maker by tonyhansen
[comment]: # (Please use the project descriptio...
Improve Development Environment on Uyuni by mbussolotto
Description
Currently create a dev environm...
Technical talks at universities by agamez
Description
This project aims to empower ...