Ansible-role-nginx-config: Возможность загрузки сниппетов

Созданный на 30 июл. 2020  ·  5Комментарии  ·  Источник: nginxinc/ansible-role-nginx-config

Ваш запрос функции связан с проблемой?
Было бы очень удобно загрузить каталог snippets содержащий файлы конфигурации, чтобы можно было повторно использовать общую конфигурацию в других файлах http conf nginx. Если я не ошибаюсь, я не верю, что это сейчас (явно) возможно в этом плагине.

Опишите альтернативы, которые вы рассмотрели
Пытался использовать nginx_main_upload_src и nginx_http_upload_src , но в этом случае ни один из них не работает. nginx_main_upload_src ожидает файл, а nginx_http_upload_src использует fileglob , что не позволяет создавать рекурсивные копии.

Очевидно, я мог бы сделать это в отдельной роли, но было бы неплохо, если бы вся конфигурация nginx выполнялась в одной и той же роли.

Опишите желаемое решение
Одним из решений может быть имитация существующих параметров переменной загрузки, например nginx_http_upload_enable . Например, было бы неплохо ввести переменные: nginx_snippets_upload_enable , а также аналоги src и dest .

Если вам кажется, что это решение слишком специфично для snippets , возможно, есть более общий способ скопировать локальные файлы в корень удаленного каталога nginx. Примерно так это делается в этом плагине Ansible nginx: https://github.com/tschifftner/ansible-role-nginx#use -additional-nginx-templates

В качестве альтернативы создание возможности рекурсивной загрузки каталогов в каталог конфигурации http было бы другим способом, хотя я не фанат этого, поскольку он не соответствует структуре каталогов defacto nginx, где snippets находится в корне.

Спасибо!

Самый полезный комментарий

@asabhaney Я наконец-то добрался до реализации поддержки сниппетов в # 59.

FWIW, я мог бы вернуться к тому, как загрузка файлов конфигурации работает для других переменных nginx_config_*_upload_* на каком-то этапе (может даже удалить некоторые из них), поскольку я не совсем доволен предположениями / небольшой настраиваемостью, сделанной за кулисами соответствующими задачи (и я думаю, что параметр сниппетов можно использовать так же и для основных задач загрузки конфигурации / http / stream).

Все 5 Комментарий

Интересное предложение @asabhaney! Я не могу обещать, когда / если над этим будут работать (на данный момент в очереди есть еще несколько задач с более высоким приоритетом), но не стесняйтесь отправлять PR, если хотите 😄

Привет снова!

Я смотрю на предложенный вами плагин и у меня есть пара мыслей по этому поводу.

  1. Пример в этом плагине можно реплицировать с помощью nginx_http_upload_* , хотя я понимаю, что если вы хотите загрузить файлы конфигурации и фрагменты в разные папки назначения, nginx_http_upload_* позволит вам выбрать только один источник и пункт назначения за раз.
  2. В структуре каталогов NGINX defacto отсутствует концепция snippets . Эта концепция введена в подключаемом модуле, который вы связали. Не то чтобы с этим что-то не так, но это не обязательно рекомендуемая структура папок.

Дублирование nginx_http_upload_* для создания переменной nginx_snippets_upload_* должно быть достаточно простым. Лучше спросить, было бы разумнее разрешить пользователям использовать список при использовании nginx_*_upload_* и тем самым упростить всю серию переменных, связанных с загрузкой.

Привет, @alessfg , спасибо, что snippets (хотя я видел их разбросанными по всей документации Nginx). Я также согласен с тем, что это слишком специфично и раздуто, чтобы добавлять для него набор переменных ( nginx_snippets_upload_* ).

Я думаю, что возможность загружать любые дополнительные папки / файлы в корневой каталог nginx - лучшее общее решение. Не уверен, должно ли это включать в себя замену переменных, таких как nginx_http_upload_* (не говоря уже о обратном взломе), или это должно быть в форме чего-то вроде nginx_other_upload_* , которое может принимать список.

@asabhaney Я наконец-то добрался до реализации поддержки сниппетов в # 59.

FWIW, я мог бы вернуться к тому, как загрузка файлов конфигурации работает для других переменных nginx_config_*_upload_* на каком-то этапе (может даже удалить некоторые из них), поскольку я не совсем доволен предположениями / небольшой настраиваемостью, сделанной за кулисами соответствующими задачи (и я думаю, что параметр сниппетов можно использовать так же и для основных задач загрузки конфигурации / http / stream).

Большое спасибо, не могу дождаться, чтобы использовать его!

Была ли эта страница полезной?
0 / 5 - 0 рейтинги