🧹🧹В beta-канале werf доступен новый алгоритм очистки стадий и опубликованных образов (начиная с версии v1.1.20).
- Алгоритм и его настройки более не зависят от того по какой схеме был протегирован опубликованный образ (tag-or-branch, stages-signature, custom).
- Алгоритм подбирает образы для очистки на основе истории git. Оставляем образы связанные с определёнными git-ветками или git-тегами.
- Доступны гибкие настройки подбора git-веток и git-тегов: по имени, по маске имени, лимит веток/тегов по времени последней активности и/или по количеству подходящих по маске и времени активности. Такая конфигурация описывается в блоке cleanup.keepPolicies.references конфига werf.yaml:
cleanup:
keepPolicies:
- references:
branch:
tag:
limit:
last:
createdIn:
operator:
...
- Werf научился точно сопоставлять опубликованные образы и git commit-ы для которых этот образ является подходящим. При очистке по этой информации для каждой подходящей git-ветки или git-тега (по конфигурации, описанной выше в cleanup.keepPolicies.references) можно найти подходящие соответствующие образы.
- Доступны гибкие настройки этого подбора образов, связанных с выбранным reference: лимит по количеству таких образов и/или по времени публикации коммитов, для которых подходит образ. Такая конфигурация описывается в блоке cleanup.keepPolicies[].imagesPerReference конфига werf.yaml:
cleanup:
keepPolicies:
- references: ...
imagesPerReference:
last:
publishedIn:
operator:
- Новый алгоритм cleanup доступен начиная с версии 1.1.20:
- Включается вручную опцией --git-history-based-cleanup или опцией --git-history-based-cleanup-v1.2.
- С опцией (1) под политику очистки будут подходить только образы опубликованные начиная с версии 1.1.20, где добавлен новый cleanup. Остальные образы не будут попадают под очистку, но можно включить принудительную очистку этих образов опцией --git-history-based-cleanup-v1.2. Рекомендуется сразу включать эту опцию если есть возможность, но надо иметь в виду, что она вызовет очистку ранее опубликованных образов (если они не используются в кластере kubernetes).
- Документация:
- по новой конфигурации:
https://ru.werf.io/v1.1-beta/documentation/configuration/cleanup.html - по устройству нового алгоритма:
https://ru.werf.io/v1.1-beta/documentation/reference/cleaning_process.html#%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D0%BE%D1%87%D0%B8%D1%81%D1%82%D0%BA%D0%B8-%D0%BF%D0%BE-%D0%B8%D1%81%D1%82%D0%BE%D1%80%D0%B8%D0%B8-gitСкоро:
🧤🧹 Доделки связанные с авто-очисткой локального хоста от docker-образов при использовании распределённой сборки.
🌏🪐 Поддержка альтернативного http-сервера синхронизации для распределённой сборки и возможность использовать распределённую сборку без обязательного коннекта к kubernetes через публичный сервис блокировок и кеша на домене werf.io (плюс возможность запустить собственный такой сервис).
🕷🕸 Поддержка Helm 3.