Container Image Cache Support
Enable a pull through cache for your Hybrid deployment
In the event that you can't pull container images directly from our public/private container image registries, we support caching images in customer owned image registries. This configuration is commonly known as a pull through cache and is supported by a number of different container registries. The steps to implement this solution are documented below.
Setting Up a Pull Through Cache
Reach out to the Customer Success Team via email to request a read only DockerHub token for our private DockerHub repository. Please reach out to your enterprise sales representative for help starting this conversation if you are not already engaged with the Customer Success Team.
Set up a Pull Through Cache within your customer owned container registry.
For Amazon ECR, follow the ECR Pull through cache rule docs for Docker Hub
You can verify this works by running a pull to your registry for our images
You will have to create a pull secret so the Gretel Hybrid controller knows it can authenticate with the image registry. You will need to create a username and password for the Gretel Hybrid controller to use within your image registry. Please consult your image registry's documentation to create a username/password identity with read access to the registry. Once that username and password have been created, use the below example
kubectl
command to create a pull secret in the Gretel Hybrid namespace.
Note that the secret name my-pull-secret
will be referenced in the next step when setting Helm values for the Gretel Hybrid installation. It can be any name EXCEPT gretel-pull-secret
, which is already used by the agent
When executing the hybrid install, utilize the helm values below to pass the updated registry URL to the Gretel Hybrid helm deployment. Be sure to review each value and change them as necessary based on your environment.
If you are deploying the helm chart using our gretel_hybrid
Terraform module, the customized values may be passed to the module declaration using the Terraform variable extra_helm_values
. An example is provided below.
Pulling images by tag
You can also pass a specific tag associated with each image. This is necessary in the case where your image repository is not a pull through cache but a manually updated mirror. In this case, you could specify the latest
tag for each image to ensure your deployment pulls the latest image version that has been manually synced.
In addition to the Terraform example which uses extra_helm_values
to configure the Helm deployment, you would add a tag
section under each image
property. An example is show below in YAML format.
Pulling argo images from another registry
If you have a requirement to pull the argoexec and workflow-controller, you'll first need to mirror those images (quay.io/argoproj/argoexec:v3.5.2
and quay.io/argoproj/workflow-controller:v3.5.2
) to your repository, then you can update the yaml/ terraform as follows.
Last updated