Command line tool to synchronize Docker Image Registries to private Azure Container Registries
MIT License
It is common practice to have the Azure Container Registry behind a firewall and inaccessable from the outside world. Additionally, it is common practice to prevent AKS from loading images from public Docker Repositories. These two practices make it difficult to deploy images to the AKS cluster.
This tool aims to make this process easier by allowing you to sync images from a Docker Registry to the private Azure Container Registries.
This tool is split into 3 different steps:
dotnet tool install --global acr-synctool
Create appsettings.json and fill out the details
{
"MaxSyncSizeGB": "5",
"AzureContainerRegistries": [
{
"Host": "ijtestacr.azurecr.io",
"TenantId": "f4ba3f29-303f-4c8b-a487-991dc21962c0",
"ClientId": "7c06291c-13bc-4321-ae27-34948ecc1eec",
"Secret": "mysecret"
}
],
"Registries": [
{
"Host": "ghcr.io",
"AuthType": "PasswordOAuth",
"Username": "ivanjosipovic",
"Password": "Pat Token"
},
{
"Host": "registry.hub.docker.com",
"AuthType": "PasswordOAuth",
"Username": "ivanjosipovic",
"Password": "Access Tokens"
}
],
"SyncedImages": [
{
"Image": "ghcr.io/fluxcd/helm-controller",
"Semver": ">=0.11.0"
},
{
"Image": "ghcr.io/fluxcd/image-automation-controller",
"Semver": ">=0.14.0"
},
{
"Image": "ghcr.io/fluxcd/image-reflector-controller",
"Semver": ">=0.11.0"
},
{
"Image": "ghcr.io/fluxcd/kustomize-controller",
"Semver": ">=0.14.0"
},
{
"Image": "ghcr.io/fluxcd/notification-controller",
"Semver": ">=0.16.0"
},
{
"Image": "ghcr.io/fluxcd/source-controller",
"Semver": ">=0.15.0"
},
{
"Image": "registry.hub.docker.com/nginx/nginx-ingress",
"Tags": [
"1.12.0"
]
}
]
}