You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is this RFE related to an Existing Problem? If so, please describe:
When adding images, information about origin or upstream registry (fqdn:port) is removed.
$ cat alertmanager-manifest.yaml
---
apiVersion: content.hauler.cattle.io/v1alpha1
kind: Images
metadata:
annotations:
hauler.dev/platform: linux/amd64
name: alertmanager-images
spec:
images:
- name: quay.io/prometheus/alertmanager:v0.27.0
$ hauler store sync -f alertmanager-manifest.yaml
2024-04-18 15:29:35 INF syncing [content.hauler.cattle.io/v1alpha1, Kind=Images] to store
2024-04-18 15:29:35 INF adding 'image' [quay.io/prometheus/alertmanager:v0.27.0] to the store
2024-04-18 15:29:42 INF successfully added 'image' [quay.io/prometheus/alertmanager:v0.27.0]
$ hauler store info
+---------------------------------+-------+-------------+----------+---------+
| REFERENCE | TYPE | PLATFORM |# LAYERS | SIZE |
+---------------------------------+-------+-------------+----------+---------+
| prometheus/alertmanager:v0.27.0 | image | linux/amd64 | 7 | 32.4 MB |
+---------------------------------+-------+-------------+----------+---------+
| TOTAL | 32.4 MB |
+---------------------------------+-------+-------------+----------+---------+
This could eventually lead to clashes on the receiving / air-gapped registry, if two different, but similarly named and versioned images, are copied over.
Describe Proposed Solution(s):
It should be possible to allow hauler to keep info about upstream registry.
$ sed -i 's}prometheus/alertmanager}quay.io/prometheus/alertmanager}' store/index.json
$ hauler store info
+-----------------------------------------+-------+-------------+----------+---------+
| REFERENCE | TYPE | PLATFORM |# LAYERS | SIZE |
+-----------------------------------------+-------+-------------+----------+---------+
| quay.io/prometheus/alertmanager:v0.27.0 | image | linux/amd64 | 7 | 32.4 MB |
+-----------------------------------------+-------+-------------+----------+---------+
| TOTAL | 32.4 MB |
+-----------------------------------------+-------+-------------+----------+---------+
Keeping upstream info would also make it somewhat simpler to patch deployment manifests on air-gapped side, as one would just have to prepend the local registry:
(where you have to remove the registry part of the image reference, before prepending the local registry)
Describe Possible Alternatives:
N/A
Additional Context:
Same goes for Charts. Not sure how to handle that, but perhaps repoURL could be split into type/protocol (HTTPS/OCI) and registry-fqdn? That way same scheme could probably apply to charts, allowing to keep upstream repository information on receiving / air-gapped side.
Is this RFE related to an Existing Problem? If so, please describe:
When adding images, information about origin or upstream registry (fqdn:port) is removed.
$ cat alertmanager-manifest.yaml --- apiVersion: content.hauler.cattle.io/v1alpha1 kind: Images metadata: annotations: hauler.dev/platform: linux/amd64 name: alertmanager-images spec: images: - name: quay.io/prometheus/alertmanager:v0.27.0 $ hauler store sync -f alertmanager-manifest.yaml 2024-04-18 15:29:35 INF syncing [content.hauler.cattle.io/v1alpha1, Kind=Images] to store 2024-04-18 15:29:35 INF adding 'image' [quay.io/prometheus/alertmanager:v0.27.0] to the store 2024-04-18 15:29:42 INF successfully added 'image' [quay.io/prometheus/alertmanager:v0.27.0] $ hauler store info +---------------------------------+-------+-------------+----------+---------+ | REFERENCE | TYPE | PLATFORM | # LAYERS | SIZE | +---------------------------------+-------+-------------+----------+---------+ | prometheus/alertmanager:v0.27.0 | image | linux/amd64 | 7 | 32.4 MB | +---------------------------------+-------+-------------+----------+---------+ | TOTAL | 32.4 MB | +---------------------------------+-------+-------------+----------+---------+This could eventually lead to clashes on the receiving / air-gapped registry, if two different, but similarly named and versioned images, are copied over.
Describe Proposed Solution(s):
Keeping upstream info would also make it somewhat simpler to patch deployment manifests on air-gapped side, as one would just have to prepend the local registry:
quay.io/prometheus/alertmanager:v0.27.0becomes:localregistry:5000/quay.io/prometheus/alertmanager:v0.27.0instead of:
quay.io/prometheus/alertmanager:v0.27.0->localregistry:5000/prometheus/alertmanager:v0.27.0(where you have to remove the registry part of the image reference, before prepending the local registry)
Describe Possible Alternatives:
Additional Context: