我想将所有Salt文件(支柱,状态,数据文件等)存储在git存储库中,以便可以在多个不同的部署中克隆此存储库。如何让基础值可以被覆盖的支柱?
然后,我想能够更改一些支柱设置的值,例如路径名或密码,但不编辑版本控制中的原始文件(即,这些修改仅为本地而不是必然版本化)。
我希望能够从原始存储库中提取新版本(例如添加新的支柱和状态定义)而不会丢失自定义值。
E.g. “基地”或“默认”支柱文件将有这样的设置:
service:
dir: /var/opt/myservice
username: myuser
password: mypassword
,我想自定义一些设置,在另一个文件中,在不改变基本文件:
service:
dir: /mnt/data/myservice
password: secret_password
的修改设置应优先于基本/默认设置。
是否可以通过使用环境(例如“基本”环境和“自定义”环境)来实现此目的?
或者也许通过包含这些自定义的支柱文件?
该文档似乎表明,没有用于覆盖支柱设置的固定顺序。
查看这个答案中的'import_yaml'语句http://stackoverflow.com/a/32760671/425050。不过,我从来没有尝试过使用'git_pillar'。 – mafrosis
谢谢。我不认为这样做是因为重写文件将不得不重复默认文件的整个结构,并且如果在默认文件中添加了新条目,则它们也必须被添加到覆盖文件中。我试图实现的是自动导入默认文件中的所有键,并且只覆盖选择键。 –