Установите одну политику жизненного цикла для всех репозиториев в ECR - PullRequest
0 голосов
/ 25 апреля 2018

Мне интересно, есть ли способ установить одну общую политику жизненного цикла, которая будет применяться ко всем репозиториям в ECR?

В настоящее время, насколько я понимаю, нет способа сделать это.

Один из подходов, о котором я думаю, - это использовать определение политик жизненного цикла JSON и применить его ко всем репозиториям с помощью AWS CLI (может быть немного автоматизировано).Но эту вещь нужно запускать каждый раз, когда создается новый репозиторий, который добавляет сложности.

1 Ответ

0 голосов
/ 08 марта 2019

вы можете использовать Terraform для этого

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

}

...