|
|
|
4.93, n00by (ok), 14:10, 26/03/2025 [^] [^^] [^^^] [ответить] | +1 +/– |  В настоящее время в системе сертификации ФСТЭК России сертифицированы по требова... большой текст свёрнут, показать | |
|
|
|
3.37, Ivan_83 (ok), 17:22, 25/03/2025 [^] [^^] [^^^] [ответить]
| +4 +/– |
Сертификат и правда был смешным ещё пару лет назад.
Но теперь я с удивлением узнал что там вполне грамотные ребята которые требуют чтобы всякие фазинги реально делали и они даже способны отличить по выхлопу что реально рабочее от того что сделано для виду.
В общем такими темпами серт реально станет знаком качества.
| |
|
4.84, freehck (ok), 10:27, 26/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Но теперь я с удивлением узнал что там вполне грамотные ребята которые
> требуют чтобы всякие фазинги реально делали и они даже способны отличить
> по выхлопу что реально рабочее от того что сделано для виду.
Спасибо за инфу. Принято к сведению.
| |
4.94, n00by (ok), 14:17, 26/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Такими темпами в головах образуется мантра "не обнаружено наличие == доказано отсуствие".
| |
|
3.40, Аноним (40), 17:45, 25/03/2025 [^] [^^] [^^^] [ответить]
| –2 +/– |
Просто пробежаться опытным взглядом по процессу удаления временного файла. Стоп. Почему не удаляется дескриптор?
| |
|
4.44, нах. (?), 17:56, 25/03/2025 [^] [^^] [^^^] [ответить]
| +4 +/– |
> Просто пробежаться опытным взглядом по процессу удаления временного файла. Стоп. Почему
> не удаляется дескриптор?
потому что нужен.
Местные эксперты не знают даже о типовой последовательности open/mkstemp & unlink и почему делается именно так?
| |
|
3.62, Аноним (-), 21:27, 25/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Как это вообще поможет? (Спойлер: Никак)
Зато у тебя будет не просто вулн - а сертифицированный.
| |
|
2.45, myster (ok), 18:38, 25/03/2025 [^] [^^] [^^^] [ответить]
| +7 +/– |
Так ФСТЭК сертификаты часто выдают российским форкам открытых зарубежных аналогов, апстримы которых уже на несколько лет ушли вперед по версиям. Уже только этот факт означает, что в этих продуктах полно уязвимостей.
К тому же эти российские крахоборы, закрывают исходный код, ведут разработку продукта закрыто и продают его по конским ценам. А даже если им платят за "поддержку" их поддержка мало в чём разбирается, чтобы помоч с проблемой.
| |
|
3.56, Ivan_83 (ok), 20:40, 25/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> апстримы которых уже на несколько лет ушли вперед по версиям. Уже только этот факт означает, что в этих продуктах полно уязвимостей.
Не означает вообще ни разу.
Потому что и патчи можно бэкпортировать и вообще многое переписать нормально.
У вас когнитивное искажение которое проявляется в том, что форки всегда отстают от того что считается официальным апстримом.
Это далеко не так.
Я форкнул sshfs пару лет назад и прилично его причесал внутри, отрефакторил. Апстрим ничего такого и близко не сделал, и изменения я им не засылал потому что мне не впёрлось тратить время на это.
А ФСТЭК сейчас реально дрючит, по настоящему и за проверки анализаторами и чтобы фаззинг по настоящему делали и всякое остальное.
Многим апстримам такое нафик не впёрлось и они это не делают сами.
| |
|
4.57, 12yoexpert (ok), 21:08, 25/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Потому что и патчи можно бэкпортировать и вообще многое переписать нормально.
на расте тоже можно проги с нуля писать, но этого почему-то никто не делает
| |
4.64, Аноним (63), 21:50, 25/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Потому что и патчи можно бэкпортировать и вообще многое переписать нормально.
Фантазер. А про переписать нормально - фантазер в кубе.
| |
4.85, freehck (ok), 10:29, 26/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Я форкнул sshfs пару лет назад и прилично его причесал внутри, отрефакторил.
Круто. Можно пожалуйста ссылку?
| |
|
|
2.59, Аноним (59), 21:11, 25/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
все у кого есть мозг. если мозга нет то можно с сертификатом фстек
| |
|
1.3, bdrbt (ok), 14:33, 25/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Вот это дырень! Особенно если учитывать, что под капотом многих cloud-решений тот же кубер c nginx-ингресом, только "сбоку брэндовый шильдик", кажется там не 43%. Даже если с него нельзя будет провалиться внутрь всего кластера, всётаки ингрес считается "серым" ресурсом, и его пускают только туда куда можно, но у многих на нём http2, quic и тому подобные https даунгрейдится в http1.1 вобщем будем посмотреть чем это всё закончится.
| |
|
2.29, penetrator (?), 16:33, 25/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
под капотом облачных сред обычно KVM, а внутри виртуалки будет сидеть кубер и называться это будет чем-то вроде AKS и cluster management, хотя эта виртуализированная шляпа никогда не станет кластером, обычная оркестрация притом как мы видим дырявая, но это и логично, больше компонентов - больше векторов атаки
| |
|
3.53, Аноним (53), 20:30, 25/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Бегаешь из треда в тред со своим уникальным определением смысла слова «кластер». Как, помогает? Всех уже переучил говорить на свой лад?
| |
|
|
|
6.106, penetrator (?), 11:21, 27/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
A computer cluster is a set of computers that work together so that they can be viewed as a single system.
Твой кубер без внешнего балансировщика даже две ноды объеденить не может, выкинь на помойку это тормознутое поделие.
| |
|
|
|
|
|
1.4, Аноним (-), 14:36, 25/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
> при обработке больших запросов nginx сохраняет тело запроса
> во временном файле, который сразу удаляется, но в файловой
> системе "/proc" для этого файла остаётся открытый файловый
> дескриптор.
Haha. Classic.
Как не умели в RAII так и не умеют.
| |
|
|
3.30, penetrator (?), 16:35, 25/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Resource Acquisition Is Initialization or RAII, is a C++ programming technique which binds the life cycle of a resource that must be acquired before use (allocated heap memory, thread of execution, open socket, open file, locked mutex, disk space, database connection—anything that exists in limited supply) to the lifetime of an object.
C точки зрения терминологии он вообщем-то прав. Другое дело, что его коментарий бесполезный. Гримасничает в чате и всё...
| |
|
4.35, мимо проходил (?), 17:19, 25/03/2025 [^] [^^] [^^^] [ответить]
| +4 +/– |
Так там дескриптор не закрывается пока используется временный файл, т.е. пока этот самый дескриптор нужен.
А после использования штатно закрывается.
Полное соответствие RAII, если его сюда приклеить.
А проблема в том, что любой открытый дескриптор виден в /proc/{PID|self}, даже если сам файл уже удалён.
Т.е. проблема к RAII никакого отношения не имеет.
Скорее это похоже на дыры в Java/C# из-за интроспекции "с бантиками".
| |
|
5.107, penetrator (?), 11:26, 27/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
я в код не вникал, но аноним вроде как намекает на то, что "т.е. пока этот самый дескриптор нужен. " не является правдой, и он не нужен все это время, если это так, то его доводы верны
| |
|
|
|
2.6, Аноним (6), 14:53, 25/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Научи нас, о великий гуру RAII, озари нас своей мудростью
| |
|
3.7, Аноним (-), 14:58, 25/03/2025 [^] [^^] [^^^] [ответить]
| –5 +/– |
> Научи нас, о великий гуру RAII, озари нас своей мудростью
ну ладно, ладно, так и быть
ВНЕМЛИТЕ!
Когда файл вам уже не нужен - закройте файловый дескриптор!
| |
|
4.10, bdrbt (ok), 15:08, 25/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
> ВНЕМЛИТЕ!
> Когда файл вам уже не нужен - закройте файловый дескриптор!
А если он вам понадобится через секунду - умрите от того, что чьё-то кривое поделие сожрало все доступные дескрипторы, ок, ты в медицинском на патологоанатома учился?
| |
|
5.11, Аноним (-), 15:10, 25/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> умрите от того, что чьё-то кривое поделие сожрало все доступные дескрипторы
Ну конечно альтернатива в виде "атакующий может получить доступ к хранимым внутри pod-окружения параметрам, достаточным для управления всем кластером." намного лучше!
| |
|
6.14, bdrbt (ok), 15:21, 25/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>> умрите от того, что чьё-то кривое поделие сожрало все доступные дескрипторы
> Ну конечно альтернатива в виде "атакующий может получить доступ к хранимым внутри
> pod-окружения параметрам, достаточным для управления всем кластером." намного лучше!
Ингрес - это просто реверс прокси всего кластера, вряд-ли там можно получить доступ ко всему кластеру, а вот устроить MitM - можно во все поля, и приватный ключ от сертификата угнать.
| |
|
7.77, imho (ok), 07:13, 26/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Ингрес — это просто реверс прокси всего кластера, вряд-ли там можно получить доступ ко всему кластеру, а вот устроить MitM - можно во все поля, и приватный ключ от сертификата угнать.
Реверс прокси — это Nginx (часть Ingress-контроллера), а вот Ingress-контроллер имеет чуть больше прав на кластер, в том числе доступ ко всем секретам, хранимым в кластере, а это включает в себя ещё и различные токены для для доступа к кластеру, среди которых могут оказаться с ещё большими правами, так что вполне можно запросто получить управление над всем кластером (на дальше насколько фантазии хватит).
| |
|
8.100, bdrbt (ok), 20:30, 26/03/2025 [^] [^^] [^^^] [ответить] | –1 +/– |  С какого перепугу Это просто шлюз, который после себя видит тольколь api gatewa... текст свёрнут, показать | |
|
|
|
5.86, freehck (ok), 10:31, 26/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>> Когда файл вам уже не нужен - закройте файловый дескриптор!
> А если он вам понадобится через секунду - ...
...значит он вам не был "не нужен", и закрывать его не следовало.
| |
|
|
|
2.22, Аноним (22), 15:55, 25/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
тут не про RAII
это делается чтобы файл не отсвечивал на диске, в т.ч. после падения
| |
|
1.20, нах. (?), 15:38, 25/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
одно я не пойму - нах...я из дикого интернета надо принимать какие-то там детали конфигурации да еще и "проверять" автоматически? (что, что тут может пойти не так?!)
Это модный-современный-девляпс подход, инфраструктурка Ass in cocococode, конфигурация сервера сегодня передается вместе с формочкой, да?
А виноват-то во всем конечно же nginx.
| |
|
2.23, SubGun (ok), 16:10, 25/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Никто и не принимает из интернета. Но обычно в компаниях несколько групп разработчиков, в том числе и удаленных. Ты же каждому отдельным кластер не выделяешь?!
| |
|
3.33, нах. (?), 17:09, 25/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Никто и не принимает из интернета.
а где у нас еще бывает ingres? Ну ок, что-то сугубовнутрикорпоративное, вместо интернета в сетку на десять тыщ сотрудников половины которой никто никогда кроме как на экране не видел (да и кто на тот экран смотрел-то) - чем лучше?
> Но обычно в компаниях несколько групп разработчиков, в том числе и удаленных. Ты же
> каждому отдельным кластер не выделяешь?!
вообще-то именно что каждому проекту выделяем. Потому что multi-tenant в кубере... э... такоэ себе.
Да и их битвы за ресурс пусть протекают под другим ковром, а не в нашей стойке.
| |
3.43, Аноним (40), 17:51, 25/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>несколько групп разработчиков
Им всем надо иметь доступ на сервер с актуальными данными?
Или они заранее написали дебаг версию инструментария под себя и выкатили в продакшан?
| |
|
4.68, нах. (?), 23:35, 25/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Им всем надо иметь доступ на сервер с актуальными данными?
у нас конь. Тиниус дизинтегрейшн. У них доступа на сервер в принципе-то нет, а вот у ихнего my ass code - есть, а больше, как видишь, ничего и не надо было.
Отдельно занимательно уточнить - многие ли могут себе позволить ДВА кластера для одного и того же прожекта, на одном разработчики а на другом...э... тоже разработчики но с "актуальными данными" - а не перемешаны в одном и том же и тестовые поды и прод.
| |
|
3.52, Аноним (52), 20:29, 25/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Никто и не принимает из интернета
В исследовании таки говорится про 6500 кластеров, где admission выставлен в public internet. Тоже не понял, кто и зачем его выставляет, по умолчанию он не публикуется, конечно
| |
|
2.82, User (??), 08:16, 26/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Ну, во-первых, дефолты у них сделаны так, "чтоб точно заработало", а не "чтоб заработало сколько-нибудь безопасно", а во-вторых, оно и не в дефолтах-то...
Один заказчик потребовал "по old-school'у" разнести "менеджмент", "мониторинг", "аццесс" и "кластерный интероп" на разные интерфейсы - иииии, это оказался чуть-чуть, самую капельку, малость избыточный перебор секаса, чтобы повторять его по собственной инициативе без ножа-к-горлу.
| |
|
1.24, Аноним (24), 16:17, 25/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> критический уровень опасности (9.8 из 10).
А что не 10 из 10? Клоуны
| |
|
2.46, myster (ok), 18:48, 25/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
10 из 10 это когда заэксплойтить сможет кто угодно и пароль админки прям на главной странице
| |
|
1.25, Аноним (25), 16:18, 25/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
А на чём написан Ingress NGINX Controller for Kubernetes ?
Go
87.6%
Lua
7.5%
Shell
2.8%
Не на С.
| |
|
2.87, freehck (ok), 10:33, 26/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> А на чём написан Ingress NGINX Controller for Kubernetes ?
> Go
> 87.6%
> <...>
> Не на С.
С учётом того, что весь куб написан на Go, было бы странно видеть здесь C
| |
|
1.26, Аноним (26), 16:28, 25/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Для проверки использования уязвимого ingress-nginx можно выполнить команду:
> kubectl get pods --all-namespaces --selector app.kubernetes.io/name=ingress-nginx
Чё, реально покажет "уязвимый" контроллер? Хоть бы селектор по версии сделали...
| |
|
2.34, нах. (?), 17:16, 25/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>> Для проверки использования уязвимого ingress-nginx можно выполнить команду:
>> kubectl get pods --all-namespaces --selector app.kubernetes.io/name=ingress-nginx
> Чё, реально покажет "уязвимый" контроллер? Хоть бы селектор по версии сделали...
конечно покажет (и не один). Зачем тебе селектор, если они - все уязвимые? ;-)
Тут намекают что надо на какой-нибудь caddy перелезать - типа, нет конфига, вот и нет дыры в его тестировании ;-)
| |
|
3.41, Аноним (26), 17:46, 25/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Вообще концепция ингрессов в кубере уже объявлена устаревшей. Вместо неё GatewayAPI теперь.
| |
|
4.42, нах. (?), 17:49, 25/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Вообще концепция ингрессов в кубере уже объявлена устаревшей. Вместо неё GatewayAPI теперь.
теперь будем перед ним еще один nginx держать?
| |
|
|
2.78, imho (ok), 07:23, 26/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Чё, реально покажет "уязвимый" контроллер? Хоть бы селектор по версии сделали...
Селектор умеет что-то кроме равенства сравнивать? А там уязвимо всё что ниже самого свежего.
| |
|
3.89, пох. (?), 11:28, 26/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
умеет еще сравнивать неравенство - т.е. можешь проверять на несовпадение с еще дымящимся.
А диапазоны, вайлдкарды или там больше-меньше - не, не умеет, для девляперов-на-игого слишком сложно такое парсить.
| |
|
|
1.49, Аноним (49), 19:31, 25/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Вот это вкуснятину завезли, ещё и эксплуатируется легко, можно легко повторить в лабе и можно в путь!
| |
1.51, Аноним (51), 20:23, 25/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
А вот я чуял неладное и всегда просил девопсов брать официальный nginx-овский kubernetes-ingress, хоть он и менее фичастый. Уж слишком там стремные костыли на lua-модуле.
Не зря
| |
1.55, Аноним (53), 20:39, 25/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> общедоступные уязвимые контроллеры с открытым для внешних запросов обработчиком Admission
Дыра уровня дефолтной монги на 0.0.0.0 без пароля с большего. Вот откуда эти уязвимых 6500 кластеров взялись — вопрос куда более интересный. Не со StackOverflow накопипастили же?
Алсо, сабж в проде — махровое эникейство. Сойдёт только для совсем уж непритязательных локалхостов.
| |
|
2.66, нах. (?), 23:31, 25/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Не со StackOverflow накопипастили же?
То есть как это - не?
А откуда по-твоему мы копипастить-то должны?! Ну то есть напрямую со стека теперь только неудачники и ретрограды, конечно, нормальные пацаны спрашивают чатгопоту, но у той источник вдохновения ровно тот же самый.
> Алсо, сабж в проде — махровое эникейство. Сойдёт только для совсем уж непритязательных
> локалхостов.
6500 локалхостов. И еще наверное в десять раз больше таких у которых такой же ингрес но до admission они стековерфлов не дочитали, и он не включен.
| |
|
1.67, Аноним (67), 23:34, 25/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Я правильно понимаю, что бы адмишен контроллеру чёт скормить нужно доступ в кластер с ролью create/edit для ингресс?
| |
|
2.83, Аноним (83), 10:02, 26/03/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
Нет, если есть публичный доступ к порту (по дефолту открыт для всех), то позволяет выполнять проверки без аутентификации.
| |
2.90, пох. (?), 11:29, 26/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
не, не нужно - мы ж чиста проверить синтаксис забежали, а не на самом деле создавать такой конфиг
| |
|
1.69, Аноним (69), 23:52, 25/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Как по мне это именно бага в nginx.
В документации написано:
-t — test the configuration file: nginx checks the configuration for correct syntax, and then tries to open files referred in the configuration.
Т.е. проверка на синтаксис и попытка открытия файлов. Не сказано, что КОД из этих файлов БУДЕТ ИСПОЛНЯТЬСЯ. Да и не должен он запускаться. На то он и тест.
Другой вопрос как полнее проверить настройки SSL не запуская код из библиотеки. Возможно никак.
| |
|
2.70, Аноним (69), 23:54, 25/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Когда читал начало новости первым делом задумался - а не опасно ли в nginx передавать конфиг извне. Смотрю - это всего лишь для проверки синтаксиса. Ну думаю не опасно значит. Т.е. тут именно поведение nginx неожиданное.
| |
2.91, пох. (?), 11:33, 26/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Ну действительно. Еще не сказано что эти файлы, например, будут вообще читаться, удивительное рядом.
Как ты собираешься проверять синтаксис конфига где половина полей вычисляемая и может определять другие части этого конфига - наукой не установлено.
nginx ни разу не был предназначен для поточного тестирования бредовых конфигураций из недоверенного источника, все вопросы к авторам нескучных кластеров на игого.
Тестирование предназначено ровно для одного - заранее узнать, запустится он с этим конфигом или у тебя ляжет сервер.
| |
|
1.81, Аноним (81), 07:53, 26/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Кубернетис такой же скам как и профессия девопса. Вместо простых решений нагородили монстров с уязвимостями на дырявых го
| |
|
2.99, Легивон (?), 20:05, 26/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Альтернатив как безболезнено сопровождать десятки окружений с десятками контейнеров в каждом, ты конечно предоставлять не будешь. Это ведь так просто, все все понимают.
Еще код надо писать на ассемблере или хотя бы на си и линковать статически. Правильно я тебя понял?
| |
|
3.102, Аноним (101), 21:30, 26/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> как безболезнено сопровождать десятки окружений с десятками контейнеров в каждом
десятками сопровождающих, в чем проблема? - продолжайте жевать кактус
| |
|
4.108, Легивон (?), 21:42, 28/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> в чем проблема?
В том что жизнь коротка и глупо тратить её на рутину. Быть этим 1 из 10 перекладывальщиком руками.
| |
|
|
|
1.97, Аноним (51), 16:37, 26/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Ещё когда только появлялись всякие ansible-ы и chef-ы, сразу было понятно, что по аналогии с SQL injection и прочими XSS будут config injection. Просто потому что подставляются подстроки без какого-либо понимания синтаксиса файла конфигурации.
По хорошему, надо описывать некоторым DSL синтаксис каждого конкретного формата конфигурации, и подставлять не строки, а токены в этом DSL. Тогда никаких \n не будет.
Но это, конечно, в бесконечность раз больше работы, чем просто засунуть простейший template engine типа handlebars. Для внутрянки - сойдёт, если отправил фигню - сам дурак. А когда это всё счастье внезапно начинает торчать наружу, получается вот такое веселье.
| |
|
2.105, freehck (ok), 04:10, 27/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> По хорошему, надо описывать некоторым DSL синтаксис каждого конкретного формата конфигурации, и подставлять не строки, а токены в этом DSL.
Пробовали и делали. Это кстати даёт не только преимущества в безопасности. Это ещё позволяет, например, делать графические интерфейсы автоматом, что весьма удобно. Однако поддержка описания конфига программы на этом DSL -- это очень и очень много работы, и особенно больно писать миграции DSL-конфига для нового формата конфига программы, для которого он создан.
| |
|
|