Summary: | [FR] По умолчанию разрешить пересборку пакетов с возможностью opt-out через ACL | ||
---|---|---|---|
Product: | Infrastructure | Reporter: | Gleb F-Malinovskiy <glebfm> |
Component: | girar | Assignee: | Gleb F-Malinovskiy <glebfm> |
Status: | CLOSED FIXED | QA Contact: | Andrey Cherepanov <cas> |
Severity: | enhancement | ||
Priority: | P5 | CC: | darktemplaralt, glebfm, iv, ldv, mike, rider, vseleznv |
Version: | unspecified | ||
Hardware: | all | ||
OS: | Linux |
Description
Gleb F-Malinovskiy
2021-06-15 19:00:28 MSK
Хорошая идея. А почему мы не хотим дать возможность кому угодно делать rebuild ? (In reply to Anton Farygin from comment #2) > А почему мы не хотим дать возможность кому угодно делать rebuild ? Во время сборки пакет может собраться не совсем так, как он собирался раньше, иначе бы его, наверное, и не пересобирали. В отношении некоторых пакетов такие вольности могут быть нежелательны. Не во всех пакетах есть достаточно хорошие тесты, и мантейнеры могут хотеть проверять результат. Возможно, мы хотим opt-out, а не opt-in на разрешение делать rebuild определённых пакетов кому угодно. Да, похоже на то, что таких пакетов, которым надо запретить rebuild - не так уж и много и опция настройки запрета rebuild нужна именно для них. (Ответ для Dmitry V. Levin на комментарий #3) > Возможно, мы хотим opt-out, а не opt-in на разрешение делать rebuild > определённых пакетов кому угодно. Оно разве уже не opt-out? По-умолчанию обычно @everybody в ACL добавляется. Речь идёт о том, что нет возможности разрешить только rebuild кому угодно, а хотелось бы. мне кажется, что надо вводить новую сущность - действия и права на них для каждого пакета. например: rebuild - user, group, all change - user, group, all delete - user, group, all и т.д. Тогда и группа everybody станет не нужна. (In reply to Anton Farygin from comment #7) > мне кажется, что надо вводить новую сущность - действия и права на них для > каждого пакета. > > например: > rebuild - user, group, all > change - user, group, all > delete - user, group, all > > и т.д. Клонировать list.packages.sisyphus на 3 файла? Мне кажется, это overkill. (In reply to Anton Farygin from comment #4) > Да, похоже на то, что таких пакетов, которым надо запретить rebuild - не так > уж и много и опция настройки запрета rebuild нужна именно для них. А что если просто добавлять @norebuild для тех пакетов, которым rebuild не разрешён по умолчанию? Это, наверное, относительно недолго реализовать. Это быстро, но немного ломает архитектуру ACL. По умолчанию у нас в группы кто-то входит. С точки зрения логики обработки придётся делать отдельные исключения для специальных групп, меняющих поведение girar при проверке действий ментейнера. Было бы удобнее, всё-таки, ввести какую-то новую сущность для подобных исключений. пусть и не настолько универсальную, как я предложил в посте выше. Видимо, таких действий станет много и хотелось бы иметь возможность для некоторых пакетов делать тонкую настройку общих групп acl (типа @everybody). может быть, как вариант, добавить модификатор в ACL (необязательный), в котором указывать кому возможно то или иное действие. Имя модификатора = имени действия. например тот же rebuild в таком случае мог бы выглядеть вот так: glibc: ldv glebfm rebuild:@core при отсутствии модификатора, например, считать что это действие может выполнять кто угодно. тогда этот же синтаксис можно расширить, например, вот так: php: rider rebuild:@qa update:@php remove:rider "кто угодно" - в зависимости от типа действия. Например, задокументировать, что действие rebuild может делать по умолчанию кто-угодно, если иное не сказано в ACL. или, как вариант, ввести модификатор norebuild:@everybody в котором можно будет перечислять ментейнеров, кому запрещено делать rebuild пакета. Перечисление делать, как вариант, через запятую. (Ответ для Anton Farygin на комментарий #10) > Это быстро, но немного ломает архитектуру ACL. > По умолчанию у нас в группы кто-то входит. Возможно, это не acl, а новая сущность flags. PS: так-то проблема назрела, перезрела, дала плоды, мутировала и вновь с нами. Мне кажется, что это уже в каком-то виде реализовано. В каком ? Исправлено в dc2e66ce395e6d8343f6f7f0916fb7c34fa51daa. (In reply to Anton Farygin from comment #14) > В каком ? По умолчанию всем можно пересобирать любые пакеты. Чтобы запретить это нужно добавить группу @norebuild в ACL. |