Using a custom image registry

There might be reasons to pull the container images only from internal image registries, not directly from external registries like Docker Hub. To do so, follow along with this guide.

The Microgateway Operator verifies the digest of the Airlock Microgateway images​ and, therefore, cannot be modified. Since pulling and pushing the images changes the digest, use a tool like CRANE to transfer the images into a custom registry.

We recommend preserving the original image names when copying images to a custom registry.

How to use your custom image registry

  1. Copy the Airlock Microgateway images into your custom image registry.
  2. For example, copy a remote image from <SRC> to <DST> while retaining the digest value running:

    copy
    crane copy <SRC> <DST>
  3. Adjust the Airlock Microgateway CNI helm chart values, i.e. with a pullsecret (if required) and the repository information, for example:
  4. copy
    imagePullSecrets: # in case of a private registry 
    - name: <pullsecret for custom-registry:8080> 
     
    image:  
      repository: custom-registry:8080/custom-namespace/airlock-microgateway-cni 
  5. Adjust the Airlock Microgateway Operator helm chart values, i.e. with a pullsecret (if required) and the repository information, for example:
  6. copy
    imagePullSecrets: # in case of a private registry 
    - name: <pullsecret for custom-registry:8080>
     
    operator:  
      image:  
        repository: custom-registry:8080/custom-namespace/airlock-microgateway-operator 
     
    engine:  
      image:  
        repository: custom-registry:8080/custom-namespace/airlock-microgateway-engine 
     
    networkValidator:  
      image:  
        repository: custom-registry:8080/custom-namespace/busybox 
    
  7. With the adjustments, the images will be pulled from the custom image registries. The pull secret for the custom registry containing the Engine and Network Validator images must be added to application Pods with injected Airlock Microgateway Engines. Subsequently, the Pods must be restarted in order to be updated.