Ваш запрос функции связан с проблемой?
Было бы очень удобно загрузить каталог 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! Я не могу обещать, когда / если над этим будут работать (на данный момент в очереди есть еще несколько задач с более высоким приоритетом), но не стесняйтесь отправлять PR, если хотите 😄
Привет снова!
Я смотрю на предложенный вами плагин и у меня есть пара мыслей по этому поводу.
nginx_http_upload_*
, хотя я понимаю, что если вы хотите загрузить файлы конфигурации и фрагменты в разные папки назначения, nginx_http_upload_*
позволит вам выбрать только один источник и пункт назначения за раз.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).
Большое спасибо, не могу дождаться, чтобы использовать его!
Самый полезный комментарий
@asabhaney Я наконец-то добрался до реализации поддержки сниппетов в # 59.
FWIW, я мог бы вернуться к тому, как загрузка файлов конфигурации работает для других переменных
nginx_config_*_upload_*
на каком-то этапе (может даже удалить некоторые из них), поскольку я не совсем доволен предположениями / небольшой настраиваемостью, сделанной за кулисами соответствующими задачи (и я думаю, что параметр сниппетов можно использовать так же и для основных задач загрузки конфигурации / http / stream).