Browse Source

Add modules to install gitfs backend dependencies

Add modules for gitfs dependencies and documentation for how to use them.
master
Brian Jackson 9 years ago
parent
commit
4533cc7d0e
5 changed files with 120 additions and 0 deletions
  1. +15
    -0
      README.rst
  2. +11
    -0
      salt/defaults.yaml
  3. +21
    -0
      salt/gitfs/dulwich.sls
  4. +13
    -0
      salt/gitfs/gitpython.sls
  5. +60
    -0
      salt/gitfs/pygit2.sls

+ 15
- 0
README.rst View File

@@ -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``
----------------


+ 11
- 0
salt/defaults.yaml View File

@@ -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

+ 21
- 0
salt/gitfs/dulwich.sls View File

@@ -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 %}

+ 13
- 0
salt/gitfs/gitpython.sls View File

@@ -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 %}

+ 60
- 0
salt/gitfs/pygit2.sls View File

@@ -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…
Cancel
Save