66 lines
2 KiB
Text
66 lines
2 KiB
Text
git_pkg:
|
|
pkg.installed:
|
|
- name: git
|
|
|
|
{##ensure that git pillar exists##}
|
|
{%- if pillar['git'] is defined -%}
|
|
|
|
{##set up git repos for this server##}
|
|
{%- for repo in pillar['git'] %}
|
|
|
|
{%- if pillar['git'][repo]['key'] is defined %}
|
|
{{ repo }}_key:
|
|
file.managed:
|
|
- name: /root/.ssh/{{ pillar['git'][repo]['key'] }}
|
|
- source: salt://systems/core/git/keys/{{ pillar['git'][repo]['key'] }}
|
|
- user: root
|
|
- group: root
|
|
- mode: 600
|
|
- makedirs: true
|
|
{% endif %}
|
|
{{ repo }}:
|
|
git.latest:
|
|
- name: {{ pillar['git'][repo]['repo'] }}
|
|
- target: {{ pillar['git'][repo]['path'] }}
|
|
{%- if pillar['git'][repo]['branch'] is defined %}
|
|
- branch: {{ pillar['git'][repo]['branch'] }}
|
|
- rev: {{ pillar['git'][repo]['branch'] }}
|
|
{%- endif -%}
|
|
{%- if pillar['git'][repo]['key'] is defined %}
|
|
- identity: /root/.ssh/{{ pillar['git'][repo]['key'] }}
|
|
{%- endif -%}
|
|
{%- if pillar['git'][repo]['force'] is defined %}
|
|
- force_fetch: {{ pillar['git'][repo]['force'] }}
|
|
- force_checkout: {{ pillar['git'][repo]['force'] }}
|
|
- force_reset: {{ pillar['git'][repo]['force'] }}
|
|
- force_clone: {{ pillar['git'][repo]['force'] }}
|
|
{%- endif -%}
|
|
|
|
{##ensure that name is defined pillar exists##}
|
|
{%- if pillar['git'][repo]['name'] is defined %}
|
|
{{ repo }}_name:
|
|
git.config_set:
|
|
- name: user.name
|
|
- value: {{ pillar['git'][repo]['name'] }}
|
|
- repo: {{ pillar['git'][repo]['path'] }}
|
|
{%- endif -%}
|
|
|
|
{##ensure that email is defined pillar exists##}
|
|
{%- if pillar['git'][repo]['email'] is defined %}
|
|
{{ repo }}_email:
|
|
git.config_set:
|
|
- name: user.email
|
|
- value: {{ pillar['git'][repo]['email'] }}
|
|
- repo: {{ pillar['git'][repo]['path'] }}
|
|
{%- endif -%}
|
|
|
|
{##ensure that key is defined pillar exists##}
|
|
{%- if pillar['git'][repo]['key'] is defined %}
|
|
{{ repo }}_conf_key:
|
|
git.config_set:
|
|
- name: core.sshCommand
|
|
- value: "ssh -i /root/.ssh/{{ pillar['git'][repo]['key'] }}"
|
|
- repo: {{ pillar['git'][repo]['path'] }}
|
|
{%- endif -%}
|
|
{%- endfor %}
|
|
{%- endif %}
|