Quellcode durchsuchen

Added role to initialize database

merge-requests/1/merge
Christoph Haas vor 10 Jahren
Ursprung
Commit
f7fb7f380b
3 geänderte Dateien mit 37 neuen und 0 gelöschten Zeilen
  1. +1
    -0
      ispmail.yml
  2. +24
    -0
      roles/ispmail-database/files/schema.sql
  3. +12
    -0
      roles/ispmail-database/tasks/main.yml

+ 1
- 0
ispmail.yml Datei anzeigen

@@ -5,4 +5,5 @@
- ispmail-packages
- dumpvars
- ispmail-certificate
- ispmail-database


+ 24
- 0
roles/ispmail-database/files/schema.sql Datei anzeigen

@@ -0,0 +1,24 @@
CREATE TABLE IF NOT EXISTS `virtual_domains` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `virtual_users` (
`id` int(11) NOT NULL auto_increment,
`domain_id` int(11) NOT NULL,
`password` varchar(32) NOT NULL,
`email` varchar(100) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `email` (`email`),
FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `virtual_aliases` (
`id` int(11) NOT NULL auto_increment,
`domain_id` int(11) NOT NULL,
`source` varchar(100) NOT NULL,
`destination` varchar(100) NOT NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

+ 12
- 0
roles/ispmail-database/tasks/main.yml Datei anzeigen

@@ -0,0 +1,12 @@
---
- name: Install required Python mysqldb module for Ansible to manage databases
apt: pkg=python-mysqldb state=installed
- name: create mailserver MySQL database
mysql_db: name=mailserver state=present
- name: copy MySQL database schema to server
copy: src=schema.sql dest=/tmp
- name: creating mailserver MySQL database
mysql_db: name=mailserver state=import target=/tmp/schema.sql
- name: creating MySQL user to read the mailserver database
mysql_user: name=mailuser password={{ispmail_mysql_mailuser_password}} priv=mailserver.*:SELECT state=present


Laden…
Abbrechen
Speichern