Add modules for gitfs dependencies and documentation for how to use them.master
@@ -53,6 +53,21 @@ Requisite: Configure salt-master with rest_cherrypy or rest_tornado. | |||
Install a minion and configure it in `standalone mode | |||
<http://docs.saltstack.com/en/latest/topics/tutorials/standalone_minion.html>`_. | |||
``salt.gitfs.dulwich`` | |||
---------------------- | |||
Install gitfs backend dulwich dependencies. Set ``salt:master:gitfs_provider: dulwich`` in your pillar. | |||
``salt.gitfs.gitpython`` | |||
---------------------- | |||
Install gitfs backend GitPython dependenciess. Set ``salt:master:gitfs_provider: gitpython`` in your pillar. | |||
``salt.gitfs.pygit2`` | |||
---------------------- | |||
Install gitfs backend libgit2/pygit2 dependenciess. Set ``salt:master:gitfs_provider: pygit2`` in your pillar. | |||
``salt.pkgrepo`` | |||
---------------- | |||
@@ -12,3 +12,14 @@ salt: | |||
salt_api: salt-api | |||
salt_ssh: salt-ssh | |||
clean_config_d_dir: False | |||
master: | |||
gitfs_provider: gitpython | |||
gitfs: | |||
dulwich: | |||
install_from_source: True | |||
pygit2: | |||
install_from_source: True | |||
gitpython: | |||
install_from_source: False |
@@ -0,0 +1,21 @@ | |||
{% from "salt/map.jinja" import salt_settings with context %} | |||
# issue 34 | |||
{% if salt_settings.gitfs.dulwich.install_from_source %} | |||
# we probably don't have a package or it's not a high enough version | |||
# install latest from source/pip | |||
dulwich-deps: | |||
pkg.installed: | |||
- pkgs: | |||
- build-essential | |||
- python-dev | |||
install-dulwich: | |||
pip.installed: | |||
- name: dulwich | |||
{% else %} | |||
# install from package | |||
# TODO haven't actually found a distro that has a good version to test | |||
{% endif %} |
@@ -0,0 +1,13 @@ | |||
{% from "salt/map.jinja" import salt_settings with context %} | |||
{% if salt_settings.gitfs.gitpython.install_from_source %} | |||
GitPython: | |||
pip.installed | |||
{% else %} | |||
python-git: | |||
pkg.installed | |||
{% endif %} |
@@ -0,0 +1,60 @@ | |||
{% from "salt/map.jinja" import salt_settings with context %} | |||
{% if salt_settings.gitfs.pygit2.install_from_source %} | |||
# we probably don't have a package or it's not a high enough version | |||
# install latest from source/pip | |||
pygit-deps: | |||
pkg.installed: | |||
- pkgs: | |||
- build-essential | |||
- python-dev | |||
- libssh-dev | |||
- libffi-dev | |||
- cmake | |||
dl-libgit2-src: | |||
archive.extracted: | |||
- name: /usr/src | |||
- source: https://github.com/libgit2/libgit2/archive/v0.22.1.tar.gz | |||
- source_hash: md5=dbf516d18e176bbb131de3efccfee533 | |||
- archive_format: tar | |||
- keep: True | |||
- if_missing: /usr/src/libgit2-0.22.1 | |||
/usr/src/libgit2-0.22.1/_build: | |||
file.directory | |||
configure-libgit2: | |||
cmd.run: | |||
- name: cmake .. | |||
- cwd: /usr/src/libgit2-0.22.1/_build | |||
- creates: /usr/src/libgit2-0.22.1/_build/Makefile | |||
build-libgit2: | |||
cmd.run: | |||
- name: make -j4 | |||
- cwd: /usr/src/libgit2-0.22.1/_build | |||
- creates: /usr/src/libgit2-0.22.1/_build/libgit2.so | |||
install-libgit2: | |||
cmd.run: | |||
- name: make install | |||
- cwd: /usr/src/libgit2-0.22.1/_build | |||
- creates: /usr/local/lib/libgit2.so | |||
run-ldconfig-after-lib-install: | |||
cmd.run: | |||
- name: ldconfig | |||
- onchanges: | |||
- cmd: install-libgit2 | |||
install-pygit2: | |||
pip.installed: | |||
- name: pygit2 | |||
{% else %} | |||
# install from package | |||
# TODO haven't actually found a distro that has a good version to test | |||
# debian jessie will have libgit2-21 | |||
{% endif %} |