Help:CLI/cleanup
Автоматическое удаление снимков
Удаление происходит раз в час, первое удаление всех подходящих снимков будет через 1 час после запуска сервера.
Применять может только пользователь с доступом ServerOperations.
Принцип работы: происходит проверка всех снимков на соответствие правилам удаления и правилам на запрет удаления, после этого происходит удаление и заносится отметка в таблицу удаленных снимков.
Добавление нового правила удаления
svacer server cleanup add-rule --project <project id or name> --branch <branch id or name> --snapshot <snapshot id or name> --time <time>
Где:
- project — проект в котором искать снимки для удаления
- branch — ветка в которой искать снимки для удаления
- snapshot — снимки которые удалять
- time — время сколько должно пройти после создания снимка, чтобы его удалить, задается в формате Go Duration (например 33h5m). По умолчанию 720 часов (30 дней)
Флаги для проекта, ветки и снимка можно задавать как имя либо как ID, также в имени может быть знак *, который равен "любому количеству любых символов". Если данные флаги не заданы, то автоматически подставляется * (любой проект, ветка, снимок).
Добавление запрета на удаление
svacer server cleanup add-prohibition --project <project id or name> --branch <branch id or name> --snapshot <snapshot id or name>
Флаги работают аналогично с svacer server cleanup add-rule
Удаление правила
svacer server cleanup delete --id <config id>
Где:
- id — id конфигурации из разрешенных к удалению или запрещенных к удалению
Вывести таблицу
svacer server cleanup list --type <rule|prohibition|log> --format <table|json>
Где:
- type — тип таблицы, которую нужно вывести
- rule — таблица удаляемых снимков
- prohibition — таблица запрещенных к удалению
- log — таблица удаленных снимков
- format — формат вывода: table — таблица (человекочитаемый вывод), json
Примеры
Добавление нового правила
svacer server cleanup add-rule --user admin --password admin --project Devel* --branch 2025 --time "240h"
Добавление запрета на удаление
svacer server cleanup add-prohibition --user admin --password admin --project Devel* --branch 2025 --snapshot test*
Вывод данных таблиц
svacer server cleanup list --user admin --password admin --type prohibition

svacer server cleanup list --user admin --password admin --type rule

svacer server cleanup list --user admin --password admin --type prohibition --format json
Вывод:
[{"Branch":"2025","CreatedBy":"admin","CreatedById":"00000000-0000-0000-0000-000000000000","DeleteTime":0,"ID":"7e2c2a12-3fd4-4bb2-8b3a-1f80d81c3bc5","Project":"Devel*","Snapshot":"test*","create_time":"2025-02-24T09:06:53.794742Z"}]
Удаление элемента из таблицы
svacer server cleanup delete --user admin --password admin --id 878d1d1a-db1a-42a4-9557-ef568f68cd3e