Clone a remote SVN repository and use the filesystem as a Pillar source
This external Pillar source can be configured in the master config file like so:
ext_pillar: - svn: trunk svn://svnserver/repo root=subdirectory
The root= parameter is optional and used to set the subdirectory from where to look for Pillar files (such as top.sls).
Changed in version 2014.7.0: The optional root parameter will be added.
Note that this is not the same thing as configuring pillar data using the pillar_roots parameter. The branch referenced in the ext_pillar entry above (master), would evaluate to the base environment, so this branch needs to contain a top.sls with a base section in it, like this:
base:
'*':
- foo To use other environments from the same SVN repo as svn_pillar sources, just add additional lines, like so:
ext_pillar: - svn: trunk svn://svnserver/repo - svn: dev svn://svnserver/repo
In this case, the dev branch would need its own top.sls with a dev section in it, like this:
dev:
'*':
- bar salt.pillar.svn_pillar.SvnPillar(branch, repo_location, root, opts)
Deal with the remote SVN repository for Pillar
pillar_dir()
Returns the directory of the pillars (repo cache + branch + root)
update()
Execute a command and read the output as YAML
© 2019 SaltStack.
Licensed under the Apache License, Version 2.0.
https://docs.saltstack.com/en/latest/ref/pillar/all/salt.pillar.svn_pillar.html