Skip to content
Snippets Groups Projects
Commit 4533cc7d authored by Brian Jackson's avatar Brian Jackson
Browse files

Add modules to install gitfs backend dependencies

Add modules for gitfs dependencies and documentation for how to use them.
parent 924c04c0
Branches
No related tags found
No related merge requests found
...@@ -53,6 +53,21 @@ Requisite: Configure salt-master with rest_cherrypy or rest_tornado. ...@@ -53,6 +53,21 @@ Requisite: Configure salt-master with rest_cherrypy or rest_tornado.
Install a minion and configure it in `standalone mode Install a minion and configure it in `standalone mode
<http://docs.saltstack.com/en/latest/topics/tutorials/standalone_minion.html>`_. <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`` ``salt.pkgrepo``
---------------- ----------------
......
...@@ -12,3 +12,14 @@ salt: ...@@ -12,3 +12,14 @@ salt:
salt_api: salt-api salt_api: salt-api
salt_ssh: salt-ssh salt_ssh: salt-ssh
clean_config_d_dir: False 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
{% 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 %}
{% 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 %}
{% 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 %}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment