22.21.8. salt.pillar.git_pillar

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

In this case, the dev branch would need its own top.sls with a dev section in it, like this:

dev:
  '*':
    - bar
class salt.pillar.git_pillar.GitPillar(branch, repo_location, opts)

Deal with the remote git repository for Pillar

envs()

Return a list of refs that can be used as environments

update()

Ensure you are following the latest changes on the remote

Return boolean whether it worked

salt.pillar.git_pillar.envs(branch, repo_location)

Return a list of refs that can be used as environments

salt.pillar.git_pillar.ext_pillar(minion_id, repo_string, pillar_dirs)

Execute a command and read the output as YAML

salt.pillar.git_pillar.update(branch, repo_location)

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.1.13

Try the shiny new release candidate of Salt, v2014.7.0rc6! More info here.

Previous topic

22.21.7. salt.pillar.foreman

Next topic

22.21.9. salt.pillar.hiera

SaltStack News

Upcoming SaltStack events, webinars and local meet ups and user groups.