Add modules for gitfs dependencies and documentation for how to use them.master
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`` | ||||
---------------- | ---------------- | ||||
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 %} |