我想使用saltstack标准化开发人员工作区。因此,我需要将用户名作为参数。这可能来自$ USER或输入。要么没关系。我看到我可以写一个谷物来揭露这个,但这似乎过于复杂。我想我错过了一些更简单的东西。
我想启用类似这样的内容
https://...../reponame.git:
git.latest:
- target: '/home/{{ username }}/src/reponame'
- user: {{ username }}
最好/最简单的方法是什么?
答案 0 :(得分:1)
可能不优雅,但有效:使用cmd.run
module让Salt minion当前正在运行的用户(假设Salt minion以用户身份运行,而不是以root身份运行):
{% set username = salt['cmd.run']('id -u -n') | trim %}
https://...../reponame.git:
git.latest:
- target: '/home/{{ username }}/src/reponame'
- user: {{ username }}
答案 1 :(得分:0)
您可以在执行状态时暂时设置/覆盖支柱。
所以,使用sls(例如。workstation/gitrepo.sls
),如
{% set username = salt['pillar.get']('username') %}
https://...../reponame.git:
git.latest:
- target: '/home/{{ username }}/src/reponame'
- user: {{ username }}
你可以打电话
salt 'phils-pc' state.sls workstation.gitrepo pillar='{"username": "phil"}'
答案 2 :(得分:0)
EF