Help:CLI/cleanup

From Svacer Wiki
Revision as of 12:12, 24 February 2025 by Gribunin (talk | contribs) (CLI cleanup)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Автоматическое удаление снимков.

Удаление происходит раз в час, первое удаление всех подходящих снимков будет через 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