Saltstack 复制具有特定扩展名的文件
Saltstack copy files with specific extension
我需要安装我从 git 中提取的特定 rpm 文件,它看起来像这样“zabbix-agent2-5.2.4-1.el7.x86_64.rpm”
这是我正在使用的状态文件:
install_pkg:
pkg.installed:
- sources:
- zabbix_agen2: salt://some/path/zabbix-agent2-5.2.4-1.el7.x86_64.rpm
问题是,有指定动态文件名的选项吗?
类似于salt://some/path/zabbix-agent2*.rpm
因为此时我必须重命名源目录中的文件,例如 zabbix-agent2.rpm,但我希望在其名称中包含该版本。
sources
参数采用绝对文件名,不考虑通配符。这是 pillar 可用于动态提供版本的地方(在 运行 时间)。
例如:
install_pkg:
pkg.installed:
- sources:
- zabbix_agen2: salt://some/path/zabbix-agent{{ pillar['zabbix_version'] }}.el7.x86_64.rpm
支柱值可以从支柱中的 SLS 文件提供,也可以在 运行 状态文件时传递,例如:
salt myminion state.apply mypkg pillar='{"zabbix_version": "2-5.2.4-1"}'
这里我们 运行 mypkg
状态 myminion
通过提供我们想要安装的包的版本。
我需要安装我从 git 中提取的特定 rpm 文件,它看起来像这样“zabbix-agent2-5.2.4-1.el7.x86_64.rpm”
这是我正在使用的状态文件:
install_pkg:
pkg.installed:
- sources:
- zabbix_agen2: salt://some/path/zabbix-agent2-5.2.4-1.el7.x86_64.rpm
问题是,有指定动态文件名的选项吗?
类似于salt://some/path/zabbix-agent2*.rpm
因为此时我必须重命名源目录中的文件,例如 zabbix-agent2.rpm,但我希望在其名称中包含该版本。
sources
参数采用绝对文件名,不考虑通配符。这是 pillar 可用于动态提供版本的地方(在 运行 时间)。
例如:
install_pkg:
pkg.installed:
- sources:
- zabbix_agen2: salt://some/path/zabbix-agent{{ pillar['zabbix_version'] }}.el7.x86_64.rpm
支柱值可以从支柱中的 SLS 文件提供,也可以在 运行 状态文件时传递,例如:
salt myminion state.apply mypkg pillar='{"zabbix_version": "2-5.2.4-1"}'
这里我们 运行 mypkg
状态 myminion
通过提供我们想要安装的包的版本。