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? -
almost 2 years 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
Enabling Rancher as an OIDC Provider by rcabello
Description
Kubernetes supports OpenID Conn...
CVE portal for SUSE Rancher products by gmacedo
Description
Currently it's a bit difficul...
Cluster API Provider for Harvester by rcase
[comment]: # (Please use the project descriptio...
Rancher/k8s Trouble-Maker by tonyhansen
[comment]: # (Please use the project descriptio...
Integrate Backstage with Rancher Manager by nwmacd
Description
Backstage (backstage.io) is a...
SUSE AI Meets the Game Board by moio
Use [tabletopgames.ai](https://tabletopgames.ai...
Technical talks at universities by agamez
Description
This project aims to empower ...
Improve Development Environment on Uyuni by mbussolotto
Description
Currently create a dev environm...
Enable the containerized Uyuni server to run on different host OS by j_renner
Description
The Uyuni server is provided ...
ClusterOps - Easily install and manage your personal kubernetes cluster by andreabenini
Description
ClusterOps is a Kubernetes ...