- module/
- Module Salt:将参数传递给在支柱内执行的自定义模块
Module Salt:将参数传递给在支柱内执行的自定义模块
Module Salt:将参数传递给在支柱内执行的自定义模块,module,salt-stack,Module,Salt Stack,我正在编写一个在支柱内部执行的自定义模块(用于设置支柱变量),但我需要它来检索外部参数
其思想是从主服务器检索一个参数。例如,如果我执行
盐“myminion”状态。highstate
将调用自定义模块,它应检索一个参数以生成支柱
我正在研究以下选项:
使用环境变量:它不起作用,因为执行模块似乎没有访问salt命令的shell环境的权限
使用命令行参数:我不知道这是否可能,因为我找不到任何文档
在命令行中使用附加支柱:在支柱评估期间执行模块时,该支柱不起作用,因此它无权访问\uuuuuu-pil
我正在编写一个在支柱内部执行的自定义模块(用于设置支柱变量),但我需要它来检索外部参数
其思想是从主服务器检索一个参数。例如,如果我执行
盐“myminion”状态。highstate
将调用自定义模块,它应检索一个参数以生成支柱
我正在研究以下选项:
使用环境变量:它不起作用,因为执行模块似乎没有访问salt命令的shell环境的权限
使用命令行参数:我不知道这是否可能,因为我找不到任何文档
在命令行中使用附加支柱:在支柱评估期间执行模块时,该支柱不起作用,因此它无权访问\uuuuuu-pillar\uuuuuu
或\uuuuuu-salt.['pillar.get']
(均为空)
从标准输入读取:从自定义模块读取不起作用
使用文件读取信息:我甚至没有尝试这样做,因为出于安全原因,这不是我的选择。我不想把信息存储起来
有什么想法,如果或者如何做到这一点
非常感谢 作者:
在支柱内执行的自定义模块(用于设置支柱变量)
你的意思是说一只猫吗
如果是这样,则该文档中包括传递it参数:
您可以将单个参数、参数列表或参数字典传递给支柱:
外部支柱将其数据合并到支柱字典中,并且是“自定义模块”,因此我认为这适合您的情况
如果这不是你想要做的,你能更新这个问题吗?这个参数来自哪里?根据仆从的不同是否有所不同(仆从id始终传递给外部支柱)
(编辑)添加有关安全存储机密的链接:
作者:
在支柱内执行的自定义模块(用于设置支柱变量)
你的意思是说一只猫吗
如果是这样,则该文档中包括传递it参数:
您可以将单个参数、参数列表或参数字典传递给支柱:
外部支柱将其数据合并到支柱字典中,并且是“自定义模块”,因此我认为这适合您的情况
如果这不是你想要做的,你能更新这个问题吗?这个参数来自哪里?根据仆从的不同是否有所不同(仆从id始终传递给外部支柱)
(编辑)添加有关安全存储机密的链接:
不一定是外部支柱,但我不希望它存储在文件中。参数将是敏感信息,我不希望将其存储在任何地方,只希望在执行期间存储在内存中。您是否担心这些信息会被存储在主机上的文件中?还是在仆从身上?如果是前者,那就意味着必须有人在主机启动后登录主机并手动重新输入数据?如果攻击者拥有主人,一切都结束了。更新我的答案与几个链接,这可能是有益的。我同意,如果你有主妥协,你做了。但我想的是,通常情况下,如果你的主人的备份被破坏了,这可能不是什么大问题(取决于你在那里存储了什么)。由于这个原因,我不想存储一些信息,因此主服务器的备份更安全。最佳的解决方案是在启动时添加密码,这样它就可以从此点开始运行。不幸的是,使用文件系统加密对我来说不是一个选项,因为我使用的是LXC。我真正想要的是在主程序中执行salt模块时向其提供一些信息。不一定是外部支柱,但我不希望它存储在文件中。参数将是敏感信息,我不希望将其存储在任何地方,只希望在执行期间存储在内存中。您是否担心这些信息会被存储在主机上的文件中?还是在仆从身上?如果是前者,那就意味着必须有人在主机启动后登录主机并手动重新输入数据?如果攻击者拥有主人,一切都结束了。更新我的答案与几个链接,这可能是有益的。我同意,如果你有主妥协,你做了。但我想的是,通常情况下,如果你的主人的备份被破坏了,这可能不是什么大问题(取决于你在那里存储了什么)。由于这个原因,我不想存储一些信息,因此主服务器的备份更安全。最佳的解决方案是在启动时添加密码,这样它就可以从此点开始运行。不幸的是,使用文件系统加密对我来说不是一个选项,因为我使用的是LXC。我真正想要的是在主程序中执行salt模块时向其提供一些信息。
ext_pillar:
- example_a: some argument
- example_b:
- argumentA
- argumentB
- example_c:
keyA: valueA
keyB: valueB