@registry-tags lista as tags publicadas de uma imagem de contêiner em registries OCI públicos e privados — Docker Hub, GCR, GHCR, Quay, ACR, Harbor e Artifactory. É keyless para imagens públicas e lê o ~/.docker/config.json para as privadas. Nenhuma imagem é baixada — só a API read-only de tags do registry é consultada, então é rápido e sem efeito colateral.
Uso
@registry-tags automaticamente quando precisa validar ou descobrir tags.
Argumentos
| Argumento | Descrição | Default |
|---|---|---|
image | Referência da imagem (obrigatório). Ex.: redis, library/nginx, ghcr.io/cli/cli, myreg.example.com/team/app | (obrigatório) |
registry | Sobrescreve a URL base do registry (ex.: https://harbor.example.com) | (inferido da imagem) |
username | Usuário do registry (imagens privadas) | (opcional) |
password | Senha/token pareado com username | (opcional) |
token | Bearer token pré-emitido (PAT do GHCR, OAuth do GCR, robot token do Harbor) | (opcional) |
limit | Máximo de tags retornadas | 200 (teto 1000) |
Credenciais
Credenciais são opcionais. Quando omitidas, a ordem de resolução é:~/.docker/config.json
A entrada
auths (base64) ou identitytoken do registry correspondente — exatamente como o docker e o crane leem. (Os helpers credsStore/credHelpers não são invocados.)Registries que gateiam leitura anônima
GHCR, Quay e GCR exigem um token mesmo para ler tags públicas. O@registry-tags faz a negociação de Bearer token do padrão OCI automaticamente (lê o desafio WWW-Authenticate, pega o token no realm e repete a chamada), então essas imagens retornam tags sem você configurar nada.
Saída
Uma tag por linha, com cabeçalho de imagem/host/contagem. Quando o número de tags excede olimit, a saída é truncada e o aviso é indicado:
Notas
- É read-only e concurrency-safe — o orquestrador pode rodar vários
@registry-tagsem paralelo. - Segue paginação (Docker Hub
next, OCILink) até olimit, em vez de truncar silenciosamente na primeira página. - Usa o cliente HTTP compartilhado das web tools: respeita proxy corporativo (
HTTPS_PROXY) e o trust de TLS global (CHATCLI_CA_BUNDLE). - Registries internos (
registry.empresa.com,localhost:5000) funcionam — só endpoints de metadata de nuvem são bloqueados (proteção SSRF).