Saltstack Official Apt-Cacher Formula
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 line
1.5KB

  1. {% if grains['os_family'] == 'Debian' %}
  2. {% from "apt-cacher/ng/map.jinja" import apt_cacher_ng with context %}
  3. {% if 'include' in apt_cacher_ng %}
  4. include:
  5. {% for include_line in apt_cacher_ng.include %}
  6. - {{ include_line }}
  7. {% endfor %}
  8. {% endif %}
  9. apt-cacher-ng:
  10. pkg.installed:
  11. - name: {{ apt_cacher_ng.pkg }}
  12. service.running:
  13. - name: {{ apt_cacher_ng.service }}
  14. - enable: True
  15. - watch:
  16. - pkg: {{ apt_cacher_ng.pkg }}
  17. - file: {{ apt_cacher_ng.credentials }}
  18. - file: {{ apt_cacher_ng.server_config }}
  19. - file: {{ apt_cacher_ng.server_cache_dir }}
  20. - file: {{ apt_cacher_ng.server_log_dir }}
  21. {% if 'require_in' in apt_cacher_ng %}
  22. - require_in:
  23. {% for require_in in apt_cacher_ng.require_in %}
  24. - {{ require_in }}
  25. {% endfor %}
  26. {% endif %}
  27. {{ apt_cacher_ng.server_config }}:
  28. file.managed:
  29. - user: root
  30. - group: root
  31. - mode: '644'
  32. - source: salt://apt-cacher/ng/files/server.conf
  33. - template: jinja
  34. {{ apt_cacher_ng.server_cache_dir }}:
  35. file.directory:
  36. - makedirs: True
  37. - user: {{ apt_cacher_ng.user }}
  38. - group: {{ apt_cacher_ng.group }}
  39. - mode: '2755'
  40. {{ apt_cacher_ng.server_log_dir }}:
  41. file.directory:
  42. - makedirs: True
  43. - user: {{ apt_cacher_ng.user }}
  44. - group: {{ apt_cacher_ng.group }}
  45. - mode: '2755'
  46. {{ apt_cacher_ng.credentials }}:
  47. file.managed:
  48. - user: {{ apt_cacher_ng.user }}
  49. - group: {{ apt_cacher_ng.group }}
  50. - mode: '600'
  51. - source: salt://apt-cacher/ng/files/security.conf
  52. - template: jinja
  53. {% endif %}