Назад | Перейти на главную страницу

Политика жизненного цикла ECR для исключения определенных тегов

Есть ли способ исключить определенные теги / изображения из политики очистки?

Например. скажем, у меня есть репозиторий с изображениями и соответствующими SHA для запроса на извлечение, который инициировал их создание. Когда они утверждены для развертывания в среде, образ помечается именем этой среды, в результате получается что-то вроде этого:

+---------------------------------------------------------------------------+
| Image Tags      | Image URI                                               |
+---------------------------------------------------------------------------+
| sha923456       | 000000.dkr.ecr.eu-west-1.amazonaws.com/myrepo:sha923456 |
+-----------------+---------------------------------------------------------+
| sha823456, test | 000000.dkr.ecr.eu-west-1.amazonaws.com/myrepo:test      |
+-----------------+---------------------------------------------------------+
| sha723456       | 000000.dkr.ecr.eu-west-1.amazonaws.com/myrepo:sha723456 |
+-----------------+---------------------------------------------------------+
| sha623456, prod | 000000.dkr.ecr.eu-west-1.amazonaws.com/myrepo:prod      |
+-----------------+---------------------------------------------------------+
| sha523456       | 000000.dkr.ecr.eu-west-1.amazonaws.com/myrepo:sha523456 |
+-----------------+---------------------------------------------------------+

Я хочу убедиться, что то, что сейчас развернуто в любой среде, не будет удалено; так эти изображения помечены test или prod следует сохранить. Кроме того, следует сохранять теги SHA для изображений.

Кроме того, я хочу хранить все изображения, созданные за последние 90 дней, с помощью тега SHA.

Я рад, что все немаркированные будут удалены.

Применение приведенных ниже правил почти работает; только кажется, что потому что на sha тег, prod и test изображения будут просрочены.

{
  "rules": [
    {
      "rulePriority": 1,
      "description": "Remove untagged images",
      "selection": {
        "tagStatus": "untagged",
        "countType": "imageCountMoreThan",
        "countNumber": 1
      },
      "action": {
        "type": "expire"
      }
    },
    {
      "rulePriority": 100,
      "description": "Purge non-deployed images over 90 days old",
      "selection": {
        "countType": "sinceImagePushed",
        "countUnit": "days",
        "countNumber": 90,
        "tagStatus": "tagged",
        "tagPrefixList": [
          "sha"
        ]
      },
      "action": {
        "type": "expire"
      }
    }
  ]
}

Я не могу найти никакой документации по добавлению правила «НЕ», и попытка восклицания не сработает.

    {
      "rulePriority": 100,
      "description": "Purge non-deployed images over 90 days old",
      "selection": {
        "countType": "sinceImagePushed",
        "countUnit": "days",
        "countNumber": 90,
        "tagStatus": "tagged",
        "tagPrefixList": [
          "!test", "!prod"
        ]
      },
      "action": {
        "type": "expire"
      }
    }