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
()¶salt.pillar.svn_pillar.
ext_pillar
(minion_id, pillar, repo_string)¶Execute a command and read the output as YAML