Abaixo esta um exemplo de script Bash que usa a AWS CLI para recuperar todos os seus repositorios Amazon ECR e depois define a mutabilidade de tag de imagem de cada repositorio como MUTABLE. Antes de executar o script, certifique-se de ter a AWS CLI instalada e configurada com as permissoes apropriadas.

#!/bin/bash
# Este script busca todos os repositorios Amazon ECR e define sua mutabilidade de tag de imagem como MUTABLE.

Buscar todos os nomes de repositorios do ECR.

repositories=$(aws ecr describe-repositories –query “repositories[].repositoryName” –output text)

Verificar se algum repositorio foi encontrado.

if [ -z “$repositories” ]; then echo “Nenhum repositorio ECR encontrado.” exit 1 fi

Percorrer cada repositorio e atualizar sua mutabilidade de tag de imagem.

for repo in $repositories; do echo “Definindo mutabilidade de tag de imagem para MUTABLE para o repositorio: $repo” aws ecr put-image-tag-mutability –repository-name “$repo” –image-tag-mutability MUTABLE | tee

if [ $? -eq 0 ]; then echo “Sucesso ao atualizar $repo” else echo “Falha ao atualizar $repo” fi done

Explicacao

  • Buscando repositorios:
    O script comeca executando aws ecr describe-repositories para recuperar uma lista de nomes de repositorios usando uma consulta JMESPath. A opcao --output text formata a saida como texto simples.
  • Verificar se nao ha repositorios:
    Verifica se a variavel $repositories esta vazia. Se nenhum repositorio for encontrado, sai com uma mensagem.
  • Loop e atualizacao de mutabilidade:
    Para cada nome de repositorio, o script chama aws ecr put-image-tag-mutability definindo a flag --image-tag-mutability como MUTABLE.
    Uma mensagem de sucesso ou falha e impressa com base no status de saida de cada comando.
  • Permissoes e configuracao da AWS CLI:
    Certifique-se de que sua AWS CLI esteja configurada corretamente (por exemplo, via aws configure) com credenciais que tenham permissoes para executar as acoes describe-repositories e put-image-tag-mutability no ECR.

Este script automatiza o processo de garantir que todos os repositorios sejam mutaveis quando se trata de tags de imagem, tornando possiveis futuras atualizacoes ou alteracoes de tag.