Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

314
Visualizações
Establecer una política de ciclo de vida para todos los repositorios en ECR

Tengo curiosidad por saber si hay una manera de establecer una política de ciclo de vida común, que se aplicará a todos los repositorios en ECR.

Actualmente, según tengo entendido, no hay forma de hacerlo.

Un enfoque en el que estoy pensando es usar la definición JSON de políticas de ciclo de vida y aplicarla a todos los repositorios con AWS CLI (puede ser un poco automatizado). Pero esto debe ejecutarse cada vez que se crea un nuevo repositorio que agrega complejidad.

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Todavía no hay una plantilla de política de ciclo de vida de ECR predeterminada o algo así. Entonces, como mencionó, puede usar aws cli way y asignarlo para que se ejecute desde algún lugar, como Lambda o trabajo k8s:

  1. Obtenga todos los nombres de los repositorios:

     repositories=($(aws ecr describe-repositories --profile=$profile --output text --query "repositories[*].repositoryName"))
  2. Aplicar la política a cada repositorio:

     for repository in "${repositories[@]}"; do aws ecr put-lifecycle-policy --profile=$profile --repository-name $repository --lifecycle-policy-text "file://policy.json" done;
over 4 years ago · Santiago Trujillo Relatório

0

puedes usar Terraform para eso

 resource "aws_ecr_lifecycle_policy" "untagged_removal_policy" { count = "${length(split(",",local.registries))}" depends_on = [ "aws_ecr_repository.ecr_repositories" ] repository = "${aws_ecr_repository.ecr_repositories.*.name[count.index]}" policy = <<EOF { "rules": [ { "rulePriority": 1, "description": "Expire Docker images older than 7 days", "selection": { "tagStatus": "untagged", "countType": "sinceImagePushed", "countUnit": "days", "countNumber": 7 }, "action": { "type": "expire" } } ] } EOF

}

over 4 years ago · Santiago Trujillo Relatório

0

Estoy usando el mapeo de CloudFormation para definir una política y luego aplicarla en todos los repositorios con una línea:

 Mappings: ECRPolicy: DevPolicy: RemoveUntagged: | { "rules": [ { "rulePriority": 1, "description": "Expire images older than 3 days", "selection": { "tagStatus": "untagged", "countType": "sinceImagePushed", "countUnit": "days", "countNumber": 3 }, "action": { "type": "expire" } } ] }

Y para los repositorios es solo:

 ECRRepository: Type: AWS::ECR::Repository Properties: RepositoryName: !Sub ${ECRRepositoryName}-dev RepositoryPolicyText: Version: "2012-10-17" Statement: - Effect: Allow Action: - ecr:GetAuthorizationToken - ecr:BatchCheckLayerAvailability - ecr:GetDownloadUrlForLayer - ecr:GetRepositoryPolicy - ecr:DescribeRepositories - ecr:ListImages - ecr:DescribeImages - ecr:BatchGetImage Principal: AWS: - !Sub arn:aws:iam::${DevAccount}:root Sid: AllowCrossAccountPull LifecyclePolicy: LifecyclePolicyText: !FindInMap [ECRPolicy, DevPolicy, RemoveUntagged]
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda