LINUX.ORG.RU

У nginx довольно сложный конфиг, а тут ещё и на bash. Такого скорее всего нет. Но ты спроси у гопатыча, кажись для него задачка

cobold ★★★★★
()

Если ввести в гугл «nginx config to json», то, внезапно, по первой ссылке будет гитхаб nginx inc с вот этим репозиторием: https://github.com/nginxinc/crossplane

Это, конечно, питон, а не баш, но в 2024 на любой тачке, где есть баш, с максимальной вероятностью питон тоже есть.

l0stparadise ★★★★★
()
Ответ на: комментарий от l0stparadise

Если вводить в гугле «nginx config to json» с мыслью нарваться на что угодно, кроме тебе необходимого, то почти любая выдача подойдёт.

Максимальная вероятность - 100%, и существуют сервера (с максимальной вероятностью), которые заведены не в 24 году. А еще не тобой, а твоими коллегами или вашими клиентами. И их могут быть сотни.

А вопрос изначально предполагал инструментарий командной строки для решения задачи. К чему скачки в дебри вокруг?

biophydener
() автор топика
Ответ на: комментарий от zolden

Мне необходимо представление файлов конфигурации Nginx в формате JSON для последующего их парсинга, например, возможности вытащить все server_name директивы из сотни файлов конфигурации не в ручную.

biophydener
() автор топика
Ответ на: комментарий от biophydener

А вопрос изначально предполагал инструментарий командной строки для решения задачи.

Так тебе и выдали этот инструментарий командной строки который превращает конфиги Nginx в JSON-листинги по ссылке на GitHub выше, или что религия запрещает по ссылке пройти?

Bash

Удел говнокодеров «тяп-ляп и готово». Никто в здравом уме не будет делегировать написание сложной задачи (а парсинг конфига Nginx именно такой задачей и является) на убогонький скриптовый недоязычок Shell/Bash.

Нормальные люди возьмут что-то более вменяемое и решат задачу на том же Python, как это и сделано в проекте crossplane выше.

EXL ★★★★★
()
Ответ на: комментарий от EXL

Хоспаде. Нормальные люди еще, намереваясь отправиться в лесной поход на две недели, несомненно будут сначала выстраивать в месте ночлега коттедж, а не брать с собою обыкновенную туристическую палатку, ибо их религия им явно запрещает тушу свою в тряпичной усыпальнице держать. Я благодарю за советы, комментарии и мнения, они чрезвычайно ценные, но в рамках начатого мною дискурса совершенно мне не интересные. Есть определённая задача, что вполне четко и однозначно указана выше, и ее решение мне нужно в изначально указанных условиях, а не в обсуждении того, как эти условия из чьего-то иного мнения необходимо поменять.

biophydener
() автор топика
Ответ на: комментарий от EXL

Там нужно парсер языка конфигов nginx написать, чтобы все хранить в виде какой-то древовидной структуры, а потом ее… Ну ее нельзя превратить в json, потому что в конфигах нгикса можно куярить прямо вставками на яваскрипте. Можно лишь придумать какой-то формат json-дрисни, который будет компилиться в простенькие конфиги, но не нужно

anonymous
()
Ответ на: комментарий от biophydener

Пользователь опубликовал решение задачи в одну команду, буквально кормишь ей конфиг Nginx’а, она выдаёт подробный JSON.

Нет, не хочу, хочу ковыряться в Bash-дрисне и отлаживать кривой парсинг.

Значит превозмогай, пердоль, страдай. Такой твой путь.

EXL ★★★★★
()
Ответ на: комментарий от biophydener

необходимо представление файлов конфигурации Nginx в формате JSON для последующего их парсинга, например, возможности вытащить все server_name директивы из сотни файлов конфигурации не в ручную

А

grep -hrP '^\s*server_name' /etc/nginx/

чем не подходит?

sergej ★★★★★
()
Ответ на: комментарий от biophydener

Мне необходимо представление файлов конфигурации Nginx в формате JSON для последующего их парсинга

У вас узко заточенный парсер заточенные руки? Вас ниразу не смущает тот факт, что nginx как-то парсит же свои конфиги?

anc ★★★★★
()