暫無描述

init.sls 2.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. {% import 'globals.jinja' as globals %}
  2. {% import 'circusd/lib.jinja' as circusd %}
  3. {% from 'nginx/lib.jinja' import nginx_ssl_cert_present %}
  4. {% set settings = pillar['clients']['360south']['sms_feed'] %}
  5. include:
  6. - clients.360south
  7. - pip.virtualenvwrapper
  8. /data/clients/360south/sms_feed:
  9. file.directory:
  10. - require:
  11. - file: /data/clients/360south
  12. /data/clients/360south/sms_feed/static:
  13. file.directory:
  14. - require:
  15. - file: /data/clients/360south/sms_feed
  16. sms_feed:
  17. git.latest:
  18. - name: git@git.codefans.co.za:360south/sms_feed.git
  19. - target: /data/clients/360south/sms_feed
  20. - rev: {{ settings.rev }}
  21. #- unless: test -d /data/clients/360south/sms_feed/.git
  22. - submodules: True
  23. - identity: {{ globals.config.git.identity_file }}
  24. - require:
  25. - file: /data/clients/360south/sms_feed
  26. {{ circusd.circusd_watcher_running() }}
  27. {{ circusd.circusd_watcher_configuration(
  28. 'sms_feed',
  29. 'salt://clients/360south/sms_feed/files/sms_feed.ini',
  30. {'settings': settings},
  31. [],
  32. [
  33. 'git: sms_feed',
  34. 'file: sms_feed_config',
  35. 'virtualenv: /data/virtualenvs/sms_feed',
  36. ]
  37. ) }}
  38. /data/virtualenvs/sms_feed:
  39. virtualenv.managed:
  40. - requirements: /data/clients/360south/sms_feed/requirements.txt
  41. - require:
  42. - pkg: pip
  43. - file: /data/virtualenvs
  44. - git: sms_feed
  45. sms_feed_config:
  46. file.managed:
  47. - name: /data/clients/360south/sms_feed/sms_feed/settings_local.py
  48. - source: salt://clients/360south/sms_feed/files/settings_local.py
  49. - template: jinja
  50. - require:
  51. - git: sms_feed
  52. /etc/nginx/sites-enabled/sms_feed:
  53. file.managed:
  54. - source: salt://clients/360south/sms_feed/files/sms_feed.nginx
  55. - template: jinja
  56. - context:
  57. settings: {{ settings }}
  58. - require:
  59. - file: nginx_conf
  60. - watch_in:
  61. - service: nginx
  62. sms_feed_collectstatic:
  63. cmd.run:
  64. - name: /data/virtualenvs/sms_feed/bin/python2 /data/clients/360south/sms_feed/manage.py collectstatic --noinput --verbosity 0 --clear --link
  65. - require:
  66. - file: /data/clients/360south/sms_feed/static
  67. - onchanges:
  68. - virtualenv: /data/virtualenvs/sms_feed
  69. - git: sms_feed
  70. - file: sms_feed_config
  71. {{ nginx_ssl_cert_present(settings.server_name) }}