Add modules to install gitfs backend dependencies
Add modules for gitfs dependencies and documentation for how to use them.
This commit is contained in:
parent
924c04c0d8
commit
4533cc7d0e
15
README.rst
15
README.rst
|
@ -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:
|
||||||
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
|
||||||
|
|
|
@ -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 %}
|
Loading…
Reference in New Issue