Merge "Add gitfs support"
diff --git a/README.rst b/README.rst
index b7e5154..e305eae 100644
--- a/README.rst
+++ b/README.rst
@@ -300,6 +300,22 @@
address: https://github.com/saltstack/salt-winrepo-ng
revision: master
+Configure a gitfs_remotes resource:
+
+.. code-block:: yaml
+
+ salt:
+ master:
+ gitfs_remotes:
+ salt_formula:
+ url: https://github.com/salt-formulas/salt-formula-salt.git
+ enabled: true
+ params:
+ base: master
+
+Read more about gitfs resource options in the official Salt documentation.
+
+
Event/Reactor systems
~~~~~~~~~~~~~~~~~~~~~
diff --git a/salt/files/master.conf b/salt/files/master.conf
index 69f0318..46f76d1 100644
--- a/salt/files/master.conf
+++ b/salt/files/master.conf
@@ -19,6 +19,65 @@
state_output: {{ master.get('state_output', 'changes') }}
+{%- if master.gitfs_base is defined %}
+gitfs_base: {{ master.gitfs_base }}
+{%- endif %}
+{%- if master.gitfs_root is defined %}
+gitfs_root: {{ master.gitfs_root }}
+{%- endif %}
+{%- if master.gitfs_ssl_verify is defined %}
+gitfs_ssl_verify: {{ master.gitfs_ssl_verify }}
+{%- endif %}
+{%- if master.gitfs_mountpoint is defined %}
+gitfs_mountpoint: {{ master.gitfs_mountpoint }}
+{%- endif %}
+{%- if master.gitfs_user is defined %}
+gitfs_user: {{ master.gitfs_user }}
+{%- endif %}
+{%- if master.gitfs_password is defined %}
+gitfs_password: {{ master.gitfs_password }}
+{%- endif %}
+{%- if master.gitfs_insecure_auth is defined %}
+gitfs_insecure_auth: {{ master.gitfs_insecure_auth }}
+{%- endif %}
+{%- if master.gitfs_pubkey is defined %}
+gitfs_pubkey: {{ master.gitfs_pubkey }}
+{%- endif %}
+{%- if master.gitfs_privkey is defined %}
+gitfs_privkey: {{ master.gitfs_privkey }}
+{%- endif %}
+{%- if master.gitfs_passphrase is defined %}
+gitfs_passphrase: {{ master.gitfs_passphrase }}
+{%- endif %}
+{%- if master.gitfs_refspecs is defined %}
+gitfs_refspecs: {{ master.gitfs_refspecs }}
+{%- endif %}
+{%- if master.gitfs_disable_saltenv_mapping is defined %}
+gitfs_disable_saltenv_mapping: {{ master.gitfs_disable_saltenv_mapping }}
+{%- endif %}
+{%- if master.gitfs_ref_types is defined %}
+gitfs_ref_types: {{ master.gitfs_ref_types }}
+{%- endif %}
+{%- if master.gitfs_update_interval is defined %}
+gitfs_update_interval: {{ master.gitfs_update_interval }}
+{%- endif %}
+
+{%- if master.gitfs_remotes is defined %}
+gitfs_remotes:
+ {%- for fs, fsparams in master.gitfs_remotes.items() %}
+ {%- if fsparams.get('enabled', False) %}
+ {%- if fsparams.params is defined %}
+ - {{ fsparams.url }}:
+ {%- for key, value in fsparams.params.iteritems() %}
+ - {{ key }}: {{ value }}
+ {%- endfor %}
+ {%- else %}
+ - {{ fsparams.url }}
+ {%- endif %}
+ {%- endif %}
+ {%- endfor %}
+{%- endif %}
+
{%- if master.system is defined %}
file_roots:
diff --git a/tests/pillar/master_gitfs.sls b/tests/pillar/master_gitfs.sls
new file mode 100644
index 0000000..dc28dcb
--- /dev/null
+++ b/tests/pillar/master_gitfs.sls
@@ -0,0 +1,22 @@
+git:
+ client:
+ enabled: true
+linux:
+ system:
+ enabled: true
+salt:
+ master:
+ enabled: true
+ command_timeout: 5
+ worker_threads: 2
+ base_environment: prd
+ pillar:
+ engine: salt
+ source:
+ engine: local
+ gitfs_remotes:
+ xccdf_benchmarks:
+ url: https://gerrit.mcp.mirantis.net/oscore-tools/xccdf-benchmarks.git
+ enabled: true
+ params:
+ base: master