From e2eecbb3103915674569648607cabc5528c15767 Mon Sep 17 00:00:00 2001 From: "vault-token-factory-spectrocloud[bot]" <133815545+vault-token-factory-spectrocloud[bot]@users.noreply.github.com> Date: Tue, 28 Jan 2025 23:01:55 +0000 Subject: [PATCH] Update installer-reference.md (#5585) (#5594) * Update installer-reference.md * ci: auto-formatting prettier issues * docs: edit example * docs: add diagram example * Optimised images with calibre/image-actions * docs: update image format * Optimised images with calibre/image-actions * docs: update image * docs: update image format * Optimised images with calibre/image-actions * Optimised images with calibre/image-actions --------- Co-authored-by: antongisli <23321000+antongisli@users.noreply.github.com> Co-authored-by: Lenny Chen Co-authored-by: vault-token-factory-spectrocloud[bot] <133815545+vault-token-factory-spectrocloud[bot]@users.noreply.github.com> Co-authored-by: Lenny Chen <55669665+lennessyy@users.noreply.github.com> (cherry picked from commit e02c694cc2c8ea354d8419b2c6f7ee8d2dcdf144) Co-authored-by: antongisli --- .../edge-configuration/installer-reference.md | 9 ++++++++- ...on_installer-reference_registry-mapping.webp | Bin 0 -> 16706 bytes 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 static/assets/docs/images/clusters_edge_edge-configuration_installer-reference_registry-mapping.webp diff --git a/docs/docs-content/clusters/edge/edge-configuration/installer-reference.md b/docs/docs-content/clusters/edge/edge-configuration/installer-reference.md index b32e374a4b..ac032fa54d 100644 --- a/docs/docs-content/clusters/edge/edge-configuration/installer-reference.md +++ b/docs/docs-content/clusters/edge/edge-configuration/installer-reference.md @@ -128,7 +128,7 @@ stylus: #### Registry Mapping Rules Use registry mapping rules to map a domain name to an external registry. The `registryMappingRules` parameter accepts a -list of key-value pairs where the key is the domain name and the value is URL mapping to the external registry. +list of key-value pairs where the key is the domain name and the value is a URL mapping to the external registry. Below is an example of registry mapping rules. The registry in the code snippet, `example.registry.com/internal-images` is assumed to contain the images that are mapped from the external registries. @@ -148,6 +148,13 @@ stylus: "grc.io/spectro-images-public": "example.registry.com/internal-images" ``` +All matched portion on the source URL will be replaced with the mapped value and any unmatched path is preserved. Using +the example in the following diagram, if an image named `alpine:latest` is stored at +`somedomain.com/somepath/example-repo/alpine:latest`, the mapping rules will rewrite image pulls so that they reference +`targetdomain.com/other/path/example-repo/alpine:latest`. + +![Example of registry mapping rules](/clusters_edge_edge-configuration_installer-reference_registry-mapping.webp) + ##### Airgap Environment In an airgap environment, use the `registryMappingRules` parameter to map domain names to external registries that were diff --git a/static/assets/docs/images/clusters_edge_edge-configuration_installer-reference_registry-mapping.webp b/static/assets/docs/images/clusters_edge_edge-configuration_installer-reference_registry-mapping.webp new file mode 100644 index 0000000000000000000000000000000000000000..616e80a57365bdf70c37779b0dd1693e9c28e752 GIT binary patch literal 16706 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