Nav apraksta

init.sls 2.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. {% from 'mariadb/map.jinja' import mariadb %}
  2. {% import 'globals.jinja' as globals %}
  3. include:
  4. - mariadb
  5. - systemd.helpers
  6. /data/mysql:
  7. file.directory:
  8. - require:
  9. - file: /data
  10. /data/backup:
  11. file.directory:
  12. - require:
  13. - file: /data
  14. /data/backup/once_off:
  15. file.directory:
  16. - require:
  17. - file: /data/backup
  18. /data/backup/daily:
  19. file.directory:
  20. - require:
  21. - file: /data/backup
  22. /var/lib/mysql:
  23. file.symlink:
  24. - target: /data/mysql
  25. - require:
  26. - file: /data/mysql
  27. /root/backup.sh:
  28. file.managed:
  29. - mode: 700
  30. - source: salt://mariadb/server/files/backup.sh
  31. - template: jinja
  32. - context:
  33. xtrabackup_user: {{ globals.config.mariadb.xtrabackup_user }}
  34. xtrabackup_password: {{ globals.config.mariadb.xtrabackup_password }}
  35. mariadb_server:
  36. pkg.installed:
  37. - name: {{ mariadb.server_package }}
  38. - require:
  39. - pkgrepo: mariadb_repo
  40. - file: /var/lib/mysql
  41. - pkg: mariadb_client
  42. service.running:
  43. - name: {{ mariadb.server_service }}
  44. - require:
  45. - file: mysql_data_final
  46. - module: reload_systemd
  47. - watch:
  48. - file: mariadb_conf
  49. - file: mariadb_server_bind_conf
  50. - file: mariadb_server_protected_conf
  51. # The mysql user probably won't exist when /data/mysql gets created,
  52. # so we have to change the permissions after installing the package.
  53. mysql_data_final:
  54. file.directory:
  55. # We need to use a different name to avoid clashing.
  56. - name: /data/mysql/.
  57. - user: mysql
  58. - group: mysql
  59. - require:
  60. - pkg: mariadb_server
  61. - file: /data/mysql
  62. mariadb_server_bind_conf:
  63. file.managed:
  64. - name: /etc/mysql/conf.d/bind.cnf
  65. - source: salt://mariadb/server/files/bind.cnf
  66. - template: jinja
  67. - require:
  68. - pkg: mariadb_client
  69. mariadb_server_protected_conf:
  70. file.managed:
  71. - name: /var/lib/mysql/.my.cnf
  72. - source: salt://mariadb/server/files/mysql-my.cnf
  73. - user: mysql
  74. - group: mysql
  75. - mode: 600
  76. - template: jinja
  77. - context:
  78. xtrabackup_user: {{ globals.config.mariadb.xtrabackup_user }}
  79. xtrabackup_password: {{ globals.config.mariadb.xtrabackup_password }}
  80. - require:
  81. - pkg: mariadb_server