Help:CLI/cleanup: Difference between revisions

From Svacer Wiki
(CLI cleanup)
 
m (review and minor fixes)
 
Line 1: Line 1:
'''<big>Автоматическое удаление снимков.</big>'''
== Автоматическое удаление снимков ==
 
Удаление происходит раз в час, первое удаление всех подходящих снимков будет через 1 час после запуска сервера.
Удаление происходит раз в час, первое удаление всех подходящих снимков будет через 1 час после запуска сервера.  


Применять может только пользователь с доступом ServerOperations.
Применять может только пользователь с доступом ServerOperations.


'''Принцип работы:'''
'''Принцип работы:''' происходит проверка всех снимков на соответствие правилам удаления и правилам на запрет удаления, после этого происходит удаление и заносится отметка в таблицу удаленных снимков.


Происходит проверка всех снимков на соответствии правилам удаления и правилам на запрет удаления, после этого происходит его удаление, занося отметку в таблицу удаленных снимков.
=== Добавление нового правила удаления ===
 
'''<big>Добавление нового правила удаления</big>'''


<code>svacer server cleanup add-rule --project <project id or name> --branch <branch id or name> --snapshot <snapshot id or name> --time <nowiki><time></nowiki></code>
<code>svacer server cleanup add-rule --project <project id or name> --branch <branch id or name> --snapshot <snapshot id or name> --time <nowiki><time></nowiki></code>


Где:
Где:
* project — проект в котором искать снимки для удаления
* branch — ветка в которой искать снимки для удаления
* snapshot — снимки которые удалять
* time — время сколько должно пройти после создания снимка, чтобы его удалить, задается в формате Go Duration (например 33h5m). По умолчанию 720 часов (30 дней)


* project - проект в котором искать снимки для удаления
Флаги для проекта, ветки и снимка можно задавать как имя либо как ID, также в имени может быть знак *, который равен "любому количеству любых символов". Если данные флаги не заданы, то автоматически подставляется * (любой проект, ветка, снимок).
* branch - ватка в которой искать снимки для удаления
* snapshot - снимки которые удалять
* time - время сколько должно пройти после создания снимка, чтобы его удалить, задается в формате Go Duration (например 33h5m). По умолчанию 720 часов (30 дней)


Флаги для проекта, ветки и снимка можно задавать как имя либо как ID, также в имени может быть знак *, который равен "любому количеству любых символов". Если Данные флаги не заданы, то автоматически подставляется * (любой проект, ветка, снимок).
=== Добавление запрета на удаление ===
 
'''<big>Добавление запрета на удаление</big>'''


<code>svacer server cleanup add-prohibition --project <project id or name> --branch <branch id or name> --snapshot <snapshot id or name></code>
<code>svacer server cleanup add-prohibition --project <project id or name> --branch <branch id or name> --snapshot <snapshot id or name></code>
Line 28: Line 24:
Флаги работают аналогично с <code>svacer server cleanup add-rule</code>
Флаги работают аналогично с <code>svacer server cleanup add-rule</code>


'''<big>Удаление правила:</big>'''
=== Удаление правила ===


<code>svacer server cleanup delete --id <config id></code>
<code>svacer server cleanup delete --id <config id></code>


Где:
Где:
* id — id конфигурации из разрешенных к удалению или запрещенных к удалению


* id - id конфигурации из разрешенных к удалению или запрещенных к удалению
=== Вывести таблицу ===
 
'''Вывести таблицу''':


<code>svacer server cleanup list --type <rule|prohibition|log> --format <table|json></code>
<code>svacer server cleanup list --type <rule|prohibition|log> --format <table|json></code>


Где:
Где:
* type — тип таблицы, которую нужно вывести
:*rule — таблица удаляемых снимков
:* prohibition — таблица запрещенных к удалению
:* log — таблица удаленных снимков
* format — формат вывода: table — таблица (человекочитаемый вывод), json


* type - тип таблицы, которую нужно вывести. rule - таблица удаляемых снимков, prohibition - таблица запрещенных к удалению, log - таблица удаленных снимков.
=== Примеры ===
* format - формат вывода. table - таблица (человекочитаемый вывод), json.


'''Добавление нового правила'''


'''<big>Примеры:</big>'''
<code>svacer server cleanup add-rule --user admin --password admin --project Devel* --branch 2025 --time "240h"</code>




'''Добавление нового правила:'''
'''Добавление запрета на удаление'''


<code>svacer server cleanup add-rule --user admin --password admin --project Devel* --branch 2025 --time "240h"</code>
<code>svacer server cleanup add-prohibition --user admin --password admin --project Devel* --branch 2025 --snapshot test*</code>
 
'''Добавление запрета на удаление:'''


<code>svacer server cleanup add-prohibition --user admin --password admin --project Devel* --branch 2025 --snapshot test*</code>


'''Вывод данных таблиц:'''
'''Вывод данных таблиц'''


<code>svacer server cleanup list --user admin --password admin --type prohibition</code>
<code>svacer server cleanup list --user admin --password admin --type prohibition</code>
[[File:Prohibition table.png|thumb|1017x1017px]]


[[File:Prohibition table.png|thumb|1017x1017px|none]]




<code>svacer server cleanup list --user admin --password admin --type rule</code>
<code>svacer server cleanup list --user admin --password admin --type rule</code>
[[File:Rules table.png|thumb|1012x1012px]]
[[File:Rules table.png|thumb|1012x1012px|none]]
 
 
 
 




Line 81: Line 71:
<code>[{"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"}]</code>
<code>[{"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"}]</code>


'''Удаление элемента из таблицы:'''
 
'''Удаление элемента из таблицы'''


<code>svacer server cleanup delete --user admin --password admin --id 878d1d1a-db1a-42a4-9557-ef568f68cd3e</code>
<code>svacer server cleanup delete --user admin --password admin --id 878d1d1a-db1a-42a4-9557-ef568f68cd3e</code>

Latest revision as of 16:25, 6 March 2025

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

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