Clone a remote git 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:
- git: master git://gitserver/git-pillar.git 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 git repo as git_pillar sources, just add additional lines, like so:
ext_pillar:
- git: master git://gitserver/git-pillar.git
- git: dev git://gitserver/git-pillar.git
To remap a specific branch to a specific environment separate the branch name and the environment name with a colon:
ext_pillar:
- git: develop:dev git://gitserver/git-pillar.git
- git: master:prod git://gitserver/git-pillar.git
In this case, the dev branch would need its own top.sls with a dev section in it, like this:
dev:
'*':
- bar
Deal with the remote git repository for Pillar
Return a list of refs that can be used as environments
Ensure you are following the latest changes on the remote
Return boolean whether it worked
Return a list of refs that can be used as environments
Execute a command and read the output as YAML
Ensure you are following the latest changes on the remote
return boolean whether it worked
Docs for previous releases are available on salt.rtfd.org.
Latest Salt release: 2014.7.1
Upcoming SaltStack events, webinars and local meet ups and user groups.