您的功能请求是否与问题有关?
能够上传包含配置文件的snippets
目录真的很方便,这样人们就可以在其他 nginx http conf 文件中重用通用配置。 如果我没记错的话,我不相信这个插件目前(明确地)可能做到这一点。
描述你考虑过的替代方案
尝试使用nginx_main_upload_src
和nginx_http_upload_src
,但在这种情况下都不起作用。 nginx_main_upload_src
需要一个文件,而nginx_http_upload_src
使用fileglob
,这不允许递归复制。
我显然可以在一个单独的角色中执行此操作,但是让所有 nginx 配置以相同的角色完成会很好。
描述您想要的解决方案
一种解决方案是模拟现有的上传变量选项,例如nginx_http_upload_enable
。 例如,引入 vars: nginx_snippets_upload_enable
,以及src
和dest
对应物会很好。
如果您觉得此解决方案过于针对snippets
,也许有更通用的方法将本地文件复制到远程 nginx 目录的根目录。 这是在这个 Ansible nginx 插件中的实现方式: https :
或者,可以递归地将目录上传到 http 配置目录将是另一种方法,尽管我不喜欢这种方式,因为它与事实上的 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_*
变量(甚至可能删除其中一些),因为我对各自在幕后所做的假设/很少的可配置性并不完全满意任务(我认为片段选项也可以用于 main/http/stream 配置上传任务)。
非常感谢,迫不及待地想使用它!
最有用的评论
@asabhaney我终于在#59 中实现了代码片段支持。
FWIW,我可能会重新审视在某个阶段上传配置文件如何适用于其他
nginx_config_*_upload_*
变量(甚至可能删除其中一些),因为我对各自在幕后所做的假设/很少的可配置性并不完全满意任务(我认为片段选项也可以用于 main/http/stream 配置上传任务)。